/* Perfect Guidance surfaces, shared by the portal and standalone app.
   Cream, gold, clear type, and one spacing system. Semantic alerts keep their meaning. */
:is(#pg-workspace, body:has(> .app-header)) {
  --ink:#302719; --muted:#716757; --paper:#fffcf7; --surface:#fff;
  --brand:#805923; --brand-2:#805923; --accent:#d8b568; --sage:#f3ead7;
  --line:#e5dbca; --radius:12px; --shadow:0 3px 12px rgba(97,75,38,.05);
  --admin:#805923; --admin-deep:#614b26; --admin-soft:#f3ead7;
  --settings-border:#e5dbca; --settings-soft:#fffcf7; --settings-focus:#805923;
  --focus:0 0 0 3px rgba(128,89,35,.22);
  font-family:Arial,"Segoe UI",sans-serif; color:var(--ink);
}
:is(#pg-workspace, body:has(> .app-header)) :is(.admin-main,.guide-main,.settings-page,.onboarding-page,.schedule-page,.guide-account-page) {
  --admin:#805923; --admin-deep:#614b26; --admin-soft:#f3ead7;
  --settings-border:#e5dbca; --settings-soft:#fffcf7; --settings-focus:#805923;
  --guide-teal:#805923; --guide-mint:#f3ead7;
}
#pg-workspace {max-width:1320px; background:transparent}
body:has(> .app-header) {background:#fffcf7}
:is(#pg-workspace, body:has(> .app-header)) :is(h1,h2,h3,h4,legend,dd,.tier-price) {
  font-family:Arial,"Segoe UI",sans-serif!important; letter-spacing:normal!important;
}
:is(#pg-workspace, body:has(> .app-header)) :is(.role-main,.client-shell) h1 {
  font-size:clamp(26px,3vw,32px)!important; line-height:1.25!important; font-weight:700;
}
:is(#pg-workspace, body:has(> .app-header)) :is(.role-main,.client-shell) h2 {
  font-size:21px!important; line-height:1.35!important;
}
:is(#pg-workspace, body:has(> .app-header)) :is(.role-main,.client-shell) h3 {font-size:17px;line-height:1.4}
:is(#pg-workspace, body:has(> .app-header)) :is(.eyebrow,.client-kicker) {color:#805923!important;font-size:11px;letter-spacing:.08em;font-weight:700}
:is(#pg-workspace, body:has(> .app-header)) :is(.settings-page>.page-heading,.admin-overview-hero,.workforce-hero,.request-queue-hero,.guide-record-header,.review-header,.role-hero,.onboarding-hero,.schedule-status-hero,.guide-account-hero) {
  position:relative; overflow:visible; min-height:0; height:auto; min-width:0;
  padding:24px!important; margin:0 0 24px!important; gap:20px!important;
  border:1px solid #e5dbca!important; border-radius:12px!important;
  background:#fffdf8!important; box-shadow:none!important; color:#302719!important;
}
:is(#pg-workspace, body:has(> .app-header)) :is(.settings-page>.page-heading,.admin-overview-hero,.workforce-hero,.request-queue-hero,.guide-record-header,.review-header,.role-hero,.onboarding-hero,.schedule-status-hero,.guide-account-hero)::before,
:is(#pg-workspace, body:has(> .app-header)) :is(.settings-page>.page-heading,.admin-overview-hero,.workforce-hero,.request-queue-hero,.guide-record-header,.review-header,.role-hero,.onboarding-hero,.schedule-status-hero,.guide-account-hero)::after {display:none!important}
:is(#pg-workspace, body:has(> .app-header)) :is(.settings-page>.page-heading,.admin-overview-hero,.workforce-hero,.request-queue-hero,.guide-record-header,.review-header,.role-hero,.onboarding-hero,.schedule-status-hero,.guide-account-hero) h1 {
  color:#614b26!important; max-width:none!important; margin:0 0 8px!important;
}
:is(#pg-workspace, body:has(> .app-header)) :is(.settings-page>.page-heading,.admin-overview-hero,.workforce-hero,.request-queue-hero,.guide-record-header,.review-header,.role-hero,.onboarding-hero,.schedule-status-hero,.guide-account-hero) :is(p,small) {
  color:#716757!important; font-size:14px;line-height:1.6;max-width:72ch;
}
:is(#pg-workspace, body:has(> .app-header)) .settings-page>.page-heading {align-items:center;flex-wrap:wrap}
:is(#pg-workspace, body:has(> .app-header)) .settings-page>.page-heading>div {flex:1 1 300px;min-width:0}
:is(#pg-workspace, body:has(> .app-header)) .settings-page>.page-heading .eyebrow {display:none}
:is(#pg-workspace, body:has(> .app-header)) .settings-page>.page-heading p {margin:0}
:is(#pg-workspace, body:has(> .app-header)) .settings-lock {
  flex:0 1 auto; white-space:normal; border:1px solid #e5dbca!important;
  border-radius:8px;background:#f3ead7!important;color:#614b26!important;padding:8px 12px;backdrop-filter:none;
}
:is(#pg-workspace, body:has(> .app-header)) .settings-lock span {color:#805923}
:is(#pg-workspace, body:has(> .app-header)) :is(.content-card,.side-card,.role-section,.settings-section,.account-panel,.account-settings-card,.onboarding-card,.consent-card,.request-card,.response-feedback,.guide-record-section,.admin-interview-section,.day-calendar-card,.overview-kpi,.overview-snapshot-card,.attention-panel) {
  border-color:#e5dbca!important; border-radius:12px!important; background:#fff!important;
  box-shadow:none!important;
}
:is(#pg-workspace, body:has(> .app-header)) :is(.settings-section,.role-section,.content-card,.account-settings-card) {padding:24px}
:is(#pg-workspace, body:has(> .app-header)) .settings-page .settings-form {max-width:none;width:100%;gap:20px;padding-bottom:12px}
:is(#pg-workspace, body:has(> .app-header)) .settings-section-heading {margin-bottom:22px;gap:16px}
:is(#pg-workspace, body:has(> .app-header)) .settings-section-heading p {font-size:14px;line-height:1.6}
:is(#pg-workspace, body:has(> .app-header)) :is(.tier-settings-card,.surge-rule-card,.cap-grid>label,.settings-field-grid>label) {
  background:#fffcf7!important; border:1px solid #e5dbca; border-radius:10px;
  box-shadow:none!important; padding:18px; min-width:0;
}
:is(#pg-workspace, body:has(> .app-header)) .tier-settings-card legend {font-size:20px;font-weight:700;line-height:1.4;color:#614b26}
:is(#pg-workspace, body:has(> .app-header)) .tier-settings-card legend span {color:#716757;font-size:11px}
:is(#pg-workspace, body:has(> .app-header)) :is(.field-label,.settings-form label,.toggle-row strong) {color:#4f432f;font-weight:600}
:is(#pg-workspace, body:has(> .app-header)) .settings-form small {font-size:12px;line-height:1.5;color:#716757}
:is(#pg-workspace, body:has(> .app-header)) :is(.input-prefix,.input-suffix) {border-color:#cfc3af;background:#fff;border-radius:8px}
:is(#pg-workspace, body:has(> .app-header)) :is(.input-prefix,.input-suffix)>span {background:#f6f0e5;color:#716757;border-color:#e5dbca}
:is(#pg-workspace, body:has(> .app-header)) .settings-form :is(input,textarea,select) {border-color:#cfc3af;border-radius:8px}
:is(#pg-workspace, body:has(> .app-header)) .settings-form :is(input,textarea,select):focus {border-color:#805923;box-shadow:0 0 0 3px rgba(128,89,35,.15)}
:is(#pg-workspace, body:has(> .app-header)) .settings-form :is(input,textarea,select)[aria-invalid=true] {border-color:#b94b43}
:is(#pg-workspace, body:has(> .app-header)) .toggle-row {background:#fffcf7;border-color:#e5dbca;border-radius:8px}
:is(#pg-workspace, body:has(> .app-header)) .toggle-row input:checked {background:#805923}
:is(#pg-workspace, body:has(> .app-header)) .pg-task-nav {gap:8px;margin:0 0 24px}
:is(#pg-workspace, body:has(> .app-header)) .pg-task-button {border:1px solid #e5dbca!important;background:#fffdf8!important;color:#614b26!important;min-height:44px;border-radius:8px;font-size:14px;padding:10px 16px}
:is(#pg-workspace, body:has(> .app-header)) .pg-task-button[aria-pressed=true] {background:#f1e5c9!important;border-color:#b58b40!important;color:#302719!important;box-shadow:inset 0 -2px #805923!important}
:is(#pg-workspace, body:has(> .app-header)) .pg-task-button:hover {background:#f6eedc!important}
:is(#pg-workspace, body:has(> .app-header)) .pg-task-button:focus-visible {outline:2px solid #805923!important;outline-offset:3px}
:is(#pg-workspace, body:has(> .app-header)) .button-primary {background:#d8b568!important;border-color:#b99047!important;color:#302719!important;box-shadow:none;border-radius:8px}
:is(#pg-workspace, body:has(> .app-header)) .button-primary:hover {background:#c9a354!important}
:is(#pg-workspace, body:has(> .app-header)) .button-secondary {background:#fffdf8;color:#614b26;border-color:#cfc3af;border-radius:8px}
:is(#pg-workspace, body:has(> .app-header)) .settings-form .sticky-save-bar {
  bottom:max(12px,env(safe-area-inset-bottom)); padding:14px 18px;border:1px solid #e5dbca;border-radius:10px;
  background:#fffdf8;box-shadow:0 -3px 16px rgba(97,75,38,.07);backdrop-filter:none;
}
:is(#pg-workspace, body:has(> .app-header)) .settings-form .sticky-save-bar .button:disabled {opacity:1;background:#eee5d4!important;color:#776d5d!important;border-color:#e5dbca!important}
:is(#pg-workspace, body:has(> .app-header)) .pg-availability-status {
  grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e5dbca;
  border-radius:8px;background:#f8f2e6;min-width:0;
}
.pg-availability-status>div {flex:1;min-width:0}
.pg-availability-status strong,.pg-availability-status small {display:block}
.pg-availability-dot {width:8px;height:8px;background:#805923;border-radius:50%;flex-shrink:0}
.pg-auto-label {font-size:11px;font-weight:700;color:#614b26;letter-spacing:.04em}
:is(#pg-workspace, body:has(> .app-header)) :is(.surge-example,.surge-capacity-guide article,.surge-logic-note) {background:#f8f2e6;border-color:#e5dbca;color:#614b26;border-radius:8px}
:is(#pg-workspace, body:has(> .app-header)) :is(.surge-example,.surge-logic-note) :is(strong,span) {color:#614b26}
:is(#pg-workspace, body:has(> .app-header)) .overview-kpi::before,
:is(#pg-workspace, body:has(> .app-header)) .overview-snapshot-card::before {display:none}
:is(#pg-workspace, body:has(> .app-header)) :is(.overview-kpi-number,.overview-snapshot-number) {background:#f3ead7;color:#805923}
@media(max-width:1050px) {
 :is(#pg-workspace, body:has(> .app-header)) .tier-settings-layout {grid-template-columns:1fr}
 :is(#pg-workspace, body:has(> .app-header)) .tier-content-fields {grid-template-columns:1fr}
}
@media(max-width:760px) {
 :is(#pg-workspace, body:has(> .app-header)) :is(.settings-page>.page-heading,.admin-overview-hero,.workforce-hero,.request-queue-hero,.guide-record-header,.review-header,.role-hero,.onboarding-hero,.schedule-status-hero,.guide-account-hero) {padding:18px!important;gap:16px!important;margin-bottom:18px!important}
 :is(#pg-workspace, body:has(> .app-header)) :is(.settings-section,.role-section,.content-card,.account-settings-card) {padding:18px}
 :is(#pg-workspace, body:has(> .app-header)) :is(.settings-field-grid,.tier-commercial-grid,.cap-grid,.surge-capacity-guide,.surge-safety-grid) {grid-template-columns:1fr}
 :is(#pg-workspace, body:has(> .app-header)) .pg-task-nav {gap:6px;margin-bottom:18px}
 :is(#pg-workspace, body:has(> .app-header)) .pg-task-button {font-size:13px;padding:10px 12px}
 :is(#pg-workspace, body:has(> .app-header)) .pg-availability-status {flex-wrap:wrap;padding:12px}
 :is(#pg-workspace, body:has(> .app-header)) .pg-auto-label {margin-left:20px}
 :is(#pg-workspace, body:has(> .app-header)) .settings-form .sticky-save-bar {padding:12px;gap:12px}
 :is(#pg-workspace, body:has(> .app-header)) .settings-lock {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {
 :is(#pg-workspace, body:has(> .app-header)) * {scroll-behavior:auto!important;transition:none!important}
}

/* Contain wide tables and their screen-reader labels inside their scroll area. */
:is(#pg-workspace, body:has(> .app-header)) :is(.role-shell,.table-wrap) {min-width:0;max-width:100%}
:is(#pg-workspace, body:has(> .app-header)) .table-wrap {position:relative}
:is(#pg-workspace, body:has(> .app-header)) .admin-table th {background:#f8f2e6!important;color:#614b26}
:is(#pg-workspace, body:has(> .app-header)) .admin-table tbody tr:hover {background:#fffcf7}
#pg-workspace h1[tabindex="-1"]:focus {outline:none;box-shadow:none}
