/* YESHEN V3.2 — consistent palettes + editable coverage interface.
   The LAST stylesheet; never changes business data or admin permissions. */
:root[data-theme='light']{
  --page:#f8f5ee;--surface:#fffdfa;--surface-alt:#efe9df;--surface-raised:#e7dfd2;
  --copy:#25201b;--soft-copy:#5f5548;--hairline:#d8cab7;--accent:#987449;
  --button:#25201b;--button-text:#fffaf0;--field-bg:#fffdfa;--field-copy:#25201b;
  color-scheme:light;
}
:root[data-theme='dark']{
  --page:#11100e;--surface:#1d1915;--surface-alt:#211c17;--surface-raised:#2d251e;
  --copy:#f4eee5;--soft-copy:#c5b7a5;--hairline:#5f503d;--accent:#d0b083;
  --button:#ccae82;--button-text:#15110c;--field-bg:#19150f;--field-copy:#f4eee5;
  color-scheme:dark;
}
:root[data-theme] body, :root[data-theme] main{background:var(--page);color:var(--copy)}
:root[data-theme] .site-header{background:var(--surface)!important;border-color:var(--hairline)!important;color:var(--copy)!important}
:root[data-theme] .site-header .brand span,:root[data-theme] .site-header .desktop-nav a,:root[data-theme] .site-header .menu-toggle{color:var(--copy)!important}
:root[data-theme] .site-header .brand em{color:var(--soft-copy)!important}
:root[data-theme] .site-header .theme-toggle{background:var(--surface-alt)!important;border-color:var(--hairline)!important;color:var(--copy)!important}
:root[data-theme] .site-header .nav-book{background:var(--button)!important;border-color:var(--button)!important;color:var(--button-text)!important}
:root[data-theme] .site-header .mobile-nav{background:var(--surface)!important;border-color:var(--hairline)!important}
:root[data-theme] .site-header .mobile-nav a{color:var(--copy)!important;border-color:var(--hairline)!important}
/* Keep the *photograph* deliberately dark in both, but hero type and links always legible. */
:root[data-theme] .yeshen-v3-hero .hero-v2-description,:root[data-theme] .yeshen-v3-hero .hero-v3-subtitle{color:#fff4e8!important}
:root[data-theme] .yeshen-v3-hero .hero-v3-secondary{color:#fff4e8!important}
:root[data-theme] .yeshen-v3-hero .hero-image-holder,:root[data-theme] .yeshen-v3-hero .hero-motion-video,:root[data-theme] .yeshen-v3-hero .hero-photograph{animation:none!important;transform:none!important}
:root[data-theme] .yeshen-v3-hero .hero-v2-actions .btn-gold{background:#b99565!important;color:#1b130d!important;border-color:#b99565!important}
/* Public sections use the SAME theme tokens, not hardcoded light/dark islands. */
:root[data-theme] .yeshen-v2-book.yeshen-book-section{background:var(--surface)!important;color:var(--copy)!important}
:root[data-theme] .yeshen-v2-book .social-contact-intro h2,:root[data-theme] .yeshen-v2-book .social-link b{color:var(--copy)!important}
:root[data-theme] .yeshen-v2-book .social-contact-intro>p,:root[data-theme] .yeshen-v2-book .social-link small{color:var(--soft-copy)!important}
:root[data-theme] .yeshen-v2-book .social-link{color:var(--copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .yeshen-v2-book .social-link:hover{background:var(--surface-alt)!important}
:root[data-theme] .yeshen-v2-book .v2-book-bottom{color:var(--soft-copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .yeshen-v2-team.team-section{background:var(--surface-alt)!important;color:var(--copy)!important}
:root[data-theme] .yeshen-v2-team .v2-section-top h2,:root[data-theme] .yeshen-v2-team .team-info h3{color:var(--copy)!important}
:root[data-theme] .yeshen-v2-team .v2-section-top>p{color:var(--soft-copy)!important}
:root[data-theme] .yeshen-v2-team .team-card{border-color:var(--hairline)!important;background:transparent!important}
:root[data-theme] .yeshen-v2-team .v2-team-bottom{color:var(--soft-copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .yeshen-v2-team .v2-team-bottom a{color:var(--copy)!important}
:root[data-theme] .yeshen-v2-coverage.yeshen-coverage{background:var(--page)!important;color:var(--copy)!important}
:root[data-theme] .yeshen-v2-coverage .v2-section-top h2{color:var(--copy)!important}
:root[data-theme] .yeshen-v2-coverage .v2-section-top>p{color:var(--soft-copy)!important}
:root[data-theme] .yeshen-v2-coverage .map-information{background:var(--surface-alt)!important;color:var(--copy)!important}
:root[data-theme] .yeshen-v2-coverage .map-information h3{color:var(--copy)!important}
:root[data-theme] .yeshen-v2-coverage .map-information h3 em{color:var(--accent)!important}
:root[data-theme] .yeshen-v2-coverage .map-information p{color:var(--soft-copy)!important}
:root[data-theme] .yeshen-v2-coverage .map-panel{background:var(--surface)!important;border-color:var(--hairline)!important}
:root[data-theme] .yeshen-v2-coverage .map-note,:root[data-theme] .yeshen-v2-coverage .v2-map-caveat{color:var(--soft-copy)!important}
:root[data-theme] .v3-contact-page{background:var(--page)!important;color:var(--copy)!important}
:root[data-theme] .v3-contact-grid h1,:root[data-theme] .v3-contact-grid .social-link b{color:var(--copy)!important}
:root[data-theme] .v3-contact-grid>div>p,:root[data-theme] .v3-contact-grid .social-link small,:root[data-theme] .v3-contact-foot{color:var(--soft-copy)!important}
:root[data-theme] .v3-contact-grid .social-link{color:var(--copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .page-hero h1,:root[data-theme] .page-hero p,:root[data-theme] .about-copy h2,:root[data-theme] .about-copy p,:root[data-theme] .policy-copy h2,:root[data-theme] .policy-copy p{color:var(--copy)!important}
:root[data-theme] .about-layout,:root[data-theme] .policy-copy{background:var(--page)!important}
:root[data-theme] .site-footer{background:var(--surface-alt)!important;color:var(--copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .site-footer a,:root[data-theme] .site-footer p,:root[data-theme] .site-footer .footer-bottom{color:var(--soft-copy)!important}
:root[data-theme] .site-footer h5{color:var(--copy)!important}
:root[data-theme] .eyebrow,:root[data-theme] .section-index{color:var(--accent)!important}
/* Admin theme consistency and contrast. Sidebar intentionally darker in both themes. */
:root[data-theme] body.is-admin,:root[data-theme] .admin-main,:root[data-theme] .admin-gate{background:var(--page)!important;color:var(--copy)!important}
:root[data-theme] .admin-panel,:root[data-theme] .stat-card,:root[data-theme] .gate-card{background:var(--surface)!important;border-color:var(--hairline)!important;color:var(--copy)!important}
:root[data-theme] .admin-panel h2,:root[data-theme] .admin-title-row h1,:root[data-theme] .stat-card strong,:root[data-theme] .admin-panel strong{color:var(--copy)!important}
:root[data-theme] .admin-panel p,:root[data-theme] .admin-panel small,:root[data-theme] .admin-title-row p{color:var(--soft-copy)!important}
:root[data-theme] .admin-topbar{background:var(--surface)!important;color:var(--copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .admin-topbar .theme-toggle{background:var(--surface-alt)!important;color:var(--copy)!important;border-color:var(--hairline)!important}
:root[data-theme] .field input,:root[data-theme] .field textarea,:root[data-theme] .field select,
:root[data-theme] .coverage-lookup select{background:var(--field-bg)!important;color:var(--field-copy)!important;border:1px solid var(--hairline)!important}
:root[data-theme] .field label,:root[data-theme] .field>span{color:var(--copy)!important}
:root[data-theme] .btn-dark{background:var(--button)!important;color:var(--button-text)!important;border-color:var(--button)!important}
:root[data-theme] .btn-outline{background:transparent!important;color:var(--copy)!important;border-color:var(--hairline)!important}
/* Service availability checker: no coverage is assumed until owner marks cities. */
.coverage-lookup{display:flex;flex-direction:column;gap:9px;margin:18px 0 12px;max-width:340px}
.coverage-lookup>span{font-size:11px;letter-spacing:.09em;font-weight:700;text-transform:uppercase}
:root[data-theme] .coverage-lookup select{display:block;width:100%;min-height:48px;padding:12px 15px;border-radius:2px;font-size:14px}
.coverage-check-button{align-self:flex-start!important;min-height:45px!important;min-width:185px!important}
:root[data-theme] .coverage-check-button{background:var(--button)!important;color:var(--button-text)!important;border-color:var(--button)!important}
.coverage-result{margin:17px 0 20px;display:flex;flex-direction:column;gap:9px;padding:15px 17px;border-left:3px solid var(--accent);background:var(--surface);color:var(--copy);font-size:12px;line-height:1.6;min-height:70px}
.coverage-result strong{font-size:14px;letter-spacing:.02em;color:var(--copy)!important}
.coverage-result span,.coverage-result small{color:var(--soft-copy)!important}
.coverage-result.result-available{border-left-color:#509876}.coverage-result.result-unavailable{border-left-color:#bf6e62}
.coverage-legend-list{max-height:260px;overflow-y:auto;margin:20px 0;padding-right:5px;scrollbar-width:thin}
.coverage-city-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 1px;border-bottom:1px solid var(--hairline);font-size:13px;color:var(--copy)}
.coverage-state{display:inline-block;padding:5px 8px;border:1px solid var(--hairline);color:var(--soft-copy);font-size:10px;line-height:1.2;white-space:nowrap;text-align:center}
.coverage-state.available{border-color:#50886a;color:#50886a}.coverage-state.limited{border-color:#b28a4f;color:#b28a4f}.coverage-state.unavailable{border-color:#b76c5c;color:#b76c5c}
:root[data-theme='dark'] .coverage-state.available{color:#9ad1ad}:root[data-theme='dark'] .coverage-state.limited{color:#ebc184}:root[data-theme='dark'] .coverage-state.unavailable{color:#e0a197}
.coverage-empty{padding:12px 0;color:var(--soft-copy)!important;font-size:13px!important;line-height:1.6}
.map-legend{display:flex;gap:16px;flex-wrap:wrap;padding:13px 8px 4px;color:var(--soft-copy);font-size:11px}
.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-dot{height:9px;width:9px;border-radius:100%;background:#988875}.map-dot.available{background:#397256}.map-dot.limited{background:#b58b4e}.map-dot.unavailable{background:#a3655a}
/* Admin city availability panel: a one-tap choice for each Metro Manila city. */
.admin-areas-layout{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(345px,.76fr);gap:20px;align-items:start}
.admin-areas-layout>.admin-panel{min-width:0}
.city-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:25px}
.city-admin-item{padding:15px;background:var(--surface-alt);border:1px solid var(--hairline);min-width:0}
.city-admin-item-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
.city-admin-item-head strong{font-size:13px!important;overflow-wrap:anywhere}
.city-admin-controls{display:flex;flex-wrap:wrap;gap:6px}
:root[data-theme] .status-choice{padding:8px 9px;background:var(--surface);border:1px solid var(--hairline);color:var(--copy);border-radius:2px;font-size:11px;font-weight:600;line-height:1.3;font-family:inherit;cursor:pointer;min-height:34px}
:root[data-theme] .status-choice:hover,:root[data-theme] .status-choice:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
:root[data-theme] .status-choice.selected{background:var(--button);border-color:var(--button);color:var(--button-text)}
:root[data-theme] .status-hide{opacity:.72}
.admin-area-list{max-height:360px;overflow:auto;padding-right:6px;margin:12px 0 25px}
.admin-areas-layout .admin-area-row{gap:9px;align-items:center;flex-wrap:wrap;border-color:var(--hairline)}
.admin-areas-layout .admin-area-row strong,.admin-areas-layout .admin-area-row small{display:block}
.admin-areas-layout .admin-area-row .small-button{margin-left:auto}
:root[data-theme] .city-manual-panel .form-subheading{color:var(--copy)}
/* Smooth palette transition, never move backgrounds/hero. */
:root[data-theme] .site-header,:root[data-theme] .yeshen-v2-book,:root[data-theme] .yeshen-v2-team,
:root[data-theme] .yeshen-v2-coverage,:root[data-theme] .site-footer,:root[data-theme] .admin-panel{
  transition:background-color .22s ease,border-color .22s ease,color .22s ease;
}
@media(max-width:1100px){.admin-areas-layout{grid-template-columns:1fr}.city-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.city-admin-grid{grid-template-columns:1fr}.city-admin-item{padding:13px}.coverage-lookup{max-width:none}.coverage-legend-list{max-height:320px}.map-legend{font-size:10px;gap:10px}}
@media(prefers-reduced-motion:reduce){:root[data-theme] .site-header,:root[data-theme] .yeshen-v2-book,:root[data-theme] .yeshen-v2-team,:root[data-theme] .yeshen-v2-coverage,:root[data-theme] .site-footer,:root[data-theme] .admin-panel{transition:none}}

/* Black-on-black logo prevention in dark header, without adding a flashy gold disk. */
:root[data-theme='dark'] .site-header .nav-logo{background:#f7f3eb;border:1px solid #9e8156;padding:2px}
:root[data-theme='dark'] .site-footer .footer-logo img{background:#f7f3eb;border-radius:50%;padding:2px}
