
/* =========================================================
   PPEAM 2027 — shared appearance theme
   ========================================================= */
html{
  --ppeam-theme-bg:#f7f9fa;
  --ppeam-theme-surface:#ffffff;
  --ppeam-theme-surface-2:#f5f7f9;
  --ppeam-theme-surface-3:#eef3f7;
  --ppeam-theme-border:#dce3e8;
  --ppeam-theme-text:#2f3f4b;
  --ppeam-theme-muted:#74818c;
  --ppeam-theme-blue:#526f8e;
  --ppeam-theme-link:#496c89;
}

html[data-ppeam-theme="dark"]{
  color-scheme:dark;
  --ppeam-theme-bg:#10171e;
  --ppeam-theme-surface:#17212a;
  --ppeam-theme-surface-2:#1b2731;
  --ppeam-theme-surface-3:#22313d;
  --ppeam-theme-border:#2f3e4b;
  --ppeam-theme-text:#e8eef3;
  --ppeam-theme-muted:#9eacb7;
  --ppeam-theme-blue:#86a8c4;
  --ppeam-theme-link:#9fc4e1;
}

html[data-ppeam-theme="dark"] body,
html[data-ppeam-theme="dark"] .page,
html[data-ppeam-theme="dark"] .main,
html[data-ppeam-theme="dark"] [class$="-main"]{
  background-color:var(--ppeam-theme-bg)!important;
  color:var(--ppeam-theme-text)!important;
}

html[data-ppeam-theme="dark"] body{
  background-image:none!important;
}

html[data-ppeam-theme="dark"] :where(
  .card,.surface,.panel,
  [class$="-card"],
  [class$="-panel"],
  [class$="-popover"],
  [class$="-drawer"],
  [class$="-sheet"],
  .booking-flow,.booking-side,.bt-filters,.bt-zone-card,
  .zm-left,.zm-right,.jm-confirm,
  .assigned-stay,.form-entry,.plain-summary,.legal-index,
  .portal-menu-panel,.portal-mobile-profile-card
){
  background-color:var(--ppeam-theme-surface)!important;
  border-color:var(--ppeam-theme-border)!important;
  color:var(--ppeam-theme-text)!important;
  box-shadow:none!important;
}

html[data-ppeam-theme="dark"] :where(
  [class$="-hero"],.hero,.panel-intro,.section-intro,
  .portal-mobile-head,.portal-mobile-footer,
  .help-hero,.forms-hero,.about-hero,.map-hero
){
  border-color:var(--ppeam-theme-border)!important;
  color:var(--ppeam-theme-text)!important;
}

html[data-ppeam-theme="dark"] :where(
  .portal-topbar,.portal-nav-shell,.portal-mobile-drawer,
  .portal-profile-menu,.portal-history-panel
){
  background:var(--ppeam-theme-surface)!important;
  border-color:var(--ppeam-theme-border)!important;
  color:var(--ppeam-theme-text)!important;
}

html[data-ppeam-theme="dark"] :where(
  h1,h2,h3,h4,h5,h6,
  .page-title,.panel-title,.section-title,
  .portal-menu-copy strong,.portal-mobile-link-copy strong,
  .portal-profile-copy strong,.portal-popover-head strong,
  .field label,.help-card-head strong,.help-topic-title
){
  color:var(--ppeam-theme-text)!important;
}

html[data-ppeam-theme="dark"] :where(
  p,small,.muted,.subtitle,.page-subtitle,
  .panel-intro p,.section-head p,.section-title-row p,
  .portal-menu-copy small,.portal-mobile-link-copy small,
  .portal-profile-copy small,.portal-popover-head span,
  .help-card-head span,.help-topic-copy,.auth-brand-copy span
){
  color:var(--ppeam-theme-muted)!important;
}

html[data-ppeam-theme="dark"] a:not(.btn):not(.portal-brand):not(.portal-nav-link){
  color:var(--ppeam-theme-link);
}

html[data-ppeam-theme="dark"] :where(input,select,textarea){
  background:#111a22!important;
  color:var(--ppeam-theme-text)!important;
  border-color:#344654!important;
  box-shadow:none!important;
}

html[data-ppeam-theme="dark"] :where(input,textarea)::placeholder{
  color:#71818e!important;
}

html[data-ppeam-theme="dark"] :where(
  .btn:not(.btn-primary),
  .mini-btn,.small-btn,.reset-btn,.advanced-filter-toggle,
  .booking-chip,.booking-day,.booking-category,
  .portal-menu-item,.portal-mobile-link,
  .portal-profile-btn,.portal-history-btn,
  .portal-mobile-open,.portal-mobile-close,
  .portal-mobile-footer a,.portal-mobile-footer button
){
  background-color:#1b2731!important;
  border-color:#334451!important;
  color:#dbe5ec!important;
}

html[data-ppeam-theme="dark"] :where(
  .btn-primary,.apply-btn,.zone-open,.action-btn,
  .zm-action:not(.secondary):not(.cancel),
  .jm-btn.primary,.am-primary
){
  background-color:#587b99!important;
  border-color:#587b99!important;
  color:#fff!important;
}

html[data-ppeam-theme="dark"] :where(
  .portal-nav-link:hover,.portal-nav-link.active,
  .portal-menu-item:hover,.portal-menu-item.current,
  .portal-mobile-link:hover,.portal-mobile-link.current,
  .booking-chip.active,.booking-day.active,.booking-category.active
){
  background-color:#22313d!important;
  color:#eaf1f6!important;
}

html[data-ppeam-theme="dark"] :where(
  table,thead,tbody,tr,th,td
){
  border-color:var(--ppeam-theme-border)!important;
}

html[data-ppeam-theme="dark"] th{
  background:#202d37!important;
  color:#bdc9d2!important;
}

html[data-ppeam-theme="dark"] td{
  background:var(--ppeam-theme-surface)!important;
  color:#dce5eb!important;
}

html[data-ppeam-theme="dark"] :where(
  .section-divider,.divider,.panel-divider,
  .portal-menu-heading,.portal-popover-head
){
  border-color:var(--ppeam-theme-border)!important;
}

html[data-ppeam-theme="dark"] :where(
  .notice,.hub-note,.booking-tip,.agenda-note,.zm-shift-note,
  .help-callout,.about-note,.report-note
){
  border-color:#435363!important;
  background:#1b2731!important;
  color:#b4c0c9!important;
}

html[data-ppeam-theme="dark"] :where(
  .profile-avatar,.portal-avatar,.portal-mobile-avatar,
  .am-avatar,.zm-avatar,.vm-picker-avatar
){
  background:#263642!important;
  color:#bfd1df!important;
}

html[data-ppeam-theme="dark"] :where(
  .auth-brand-logo,.portal-brand-logo,.nav-brand-preview-logo
){
  box-shadow:0 4px 14px rgba(0,0,0,.28)!important;
}

html[data-ppeam-theme="dark"] .footer{
  color:#82919d!important;
  border-color:var(--ppeam-theme-border)!important;
}

html[data-ppeam-theme="dark"] .legal-card,
html[data-ppeam-theme="dark"] .plain-summary,
html[data-ppeam-theme="dark"] .legal-index{
  background:var(--ppeam-theme-surface)!important;
  border-color:var(--ppeam-theme-border)!important;
}

html[data-ppeam-theme="dark"] .legal-section{
  border-color:var(--ppeam-theme-border)!important;
}
html[data-ppeam-theme="dark"] .legal-section p,
html[data-ppeam-theme="dark"] .legal-section li{
  color:#b5c1ca!important;
}

html[data-ppeam-theme="dark"] .song-hero::before{
  opacity:.34!important;
  filter:saturate(.55) blur(9px) brightness(.58)!important;
}

html[data-ppeam-theme="dark"] .album-cover{
  border-color:#394957!important;
}

html[data-ppeam-theme="dark"] ::selection{
  background:#456b88;
  color:#fff;
}
