:root{--bg:#f6f7f2;--paper:#fff;--surface-soft:#eef2e7;--surface-hover:#f3f5ef;--ink:#20382a;--muted:#657567;--line:#dce3d6;--green:#244d37;--action:#244d37;--action-hover:#173e28;--link:#244d37;--accent:#f6bd60;--amber:#f6bd60;--on-action:#fff;--nav:#17271f;--soft-text:#42633b;--warn-bg:#fff5df;--warn-text:#81591b;--danger-bg:#fff0ec;--danger-text:#a74432;--success-bg:#e5efdc;--success-text:#42633b;color-scheme:light}
:root[data-accent=ocean]{--green:#245d95;--action:#245d95;--action-hover:#194675;--link:#245d95;--accent:#9dd2f9;--amber:#9dd2f9;--nav:#132b40;--surface-soft:#e9f1f8;--soft-text:#355f80}
:root[data-accent=plum]{--green:#794586;--action:#794586;--action-hover:#60356d;--link:#794586;--accent:#e5b6e8;--amber:#e5b6e8;--nav:#302034;--surface-soft:#f3eaf4;--soft-text:#754d7a}
:root[data-theme=dark]{--bg:#101914;--paper:#1b2821;--surface-soft:#26382d;--surface-hover:#2b3d31;--ink:#edf3ee;--muted:#b4c4b8;--line:#3b5042;--green:#acd6b7;--link:#acd6b7;--soft-text:#c2d9bc;--warn-bg:#3e331e;--warn-text:#f4d08d;--danger-bg:#402923;--danger-text:#ffbba8;--success-bg:#263d2b;--success-text:#b7dca9;color-scheme:dark}
:root[data-theme=dark][data-accent=ocean]{--bg:#101820;--paper:#1b2934;--surface-soft:#243a4b;--surface-hover:#2b4355;--line:#3e5668;--green:#a7d5fa;--link:#a7d5fa;--soft-text:#c2dced}
:root[data-theme=dark][data-accent=plum]{--bg:#1b141e;--paper:#2a202f;--surface-soft:#3a2b40;--surface-hover:#45334c;--line:#5b4663;--green:#e6b5f0;--link:#e6b5f0;--soft-text:#e5cae6}
html,body{background:var(--bg);color:var(--ink)}a{color:inherit}input,select,textarea{background:var(--paper);color:var(--ink);border-color:var(--line);min-height:44px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--link);outline-offset:3px}.btn-dark,.button.dark{background:var(--action);color:var(--on-action)}.btn-dark:hover{background:var(--action-hover)}.btn-secondary{background:var(--paper);color:var(--ink)}.btn-secondary:hover{background:var(--surface-hover)}.btn-ghost{color:var(--link)}.sidebar,.auth-story{background:var(--nav)}.sidebar .brand,.auth-story .brand{color:#fff}.topbar{background:var(--paper)}body:has(.document-meta)>.topbar{background:var(--nav)}.environment-tag{background:var(--paper);color:var(--ink)}.stat-card,.panel,.outlet-card,dialog,.search,.tabs,.auth-tag{background:var(--paper);color:var(--ink)}.welcome-panel,.welcome-symbol,.stat-icon,.avatar,.empty-icon,.outlet-logo{background:var(--surface-soft);color:var(--soft-text);border-color:var(--line)}.welcome-panel p,.stat-top,.profile-summary span{color:var(--muted)}.badge.active,.status.current{background:var(--success-bg);color:var(--success-text)}.badge.invited{background:var(--warn-bg);color:var(--warn-text)}.badge.suspended,.badge.archived,.btn-danger{background:var(--danger-bg);color:var(--danger-text)}.badge.neutral{background:var(--surface-soft);color:var(--muted)}.tab-btn.selected{background:var(--surface-soft);color:var(--ink)}.nav-link.active{background:#ffffff18}.nav-link.active svg{color:var(--accent)}.mobile-nav{background:var(--nav)}.modal-header .icon-button:hover{background:var(--surface-hover)}.table-wrap th{background:var(--surface-soft);color:var(--muted)}.table-wrap td,.activity-copy p{color:var(--ink)}.table-wrap small{color:var(--muted)}.form-error{color:var(--danger-text)}.notice{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:16px}.otp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.auth-card{padding-bottom:30px}.topbar-right .btn{min-height:44px}
/* Blueprint uses the same semantic surfaces as the app. */
.document-meta,.feature-card,.screen-detail,.calculator,.payment-detail,.callout{color:var(--ink)}body:has(.document-meta) li{color:var(--muted)}body:has(.document-meta) h1 span{color:var(--soft-text)}body:has(.document-meta) .tabs{background:var(--surface-soft)}body:has(.document-meta) [role=tab][aria-selected=true]{background:var(--paper);color:var(--ink)}body:has(.document-meta) button[data-screen],body:has(.document-meta) button[data-payment],body:has(.document-meta) button[data-phase]{color:var(--ink)}body:has(.document-meta) button[aria-pressed=true]{background:var(--surface-soft);border-color:var(--link)}body:has(.document-meta) input{background:var(--paper);color:var(--ink)}
.design-trigger{position:fixed;z-index:25;right:20px;bottom:20px;min-height:44px;border:1px solid var(--line);border-radius:24px;padding:10px 18px;background:var(--paper);color:var(--ink);box-shadow:0 4px 22px #0002;font:inherit;font-size:12px;font-weight:600}.design-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #0005}.design-dialog::backdrop{background:#0008}.design-dialog header{display:flex;align-items:center;justify-content:space-between;gap:15px}.design-dialog h2{margin:0;font-size:23px}.design-eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:0 0 8px}.design-close{width:44px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;font-size:24px}.design-dialog p{font-size:13px;color:var(--muted);line-height:1.6}.design-dialog fieldset{border:0;padding:0;margin:24px 0}.design-dialog legend{font-weight:600;margin-bottom:12px}.design-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.design-options label{border:1px solid var(--line);border-radius:12px;min-height:96px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;font-size:12px;position:relative;color:var(--ink)}.design-options label:has(input:checked){border:2px solid var(--link);background:var(--surface-soft)}.design-options input{position:absolute;opacity:0;width:1px;min-height:0;height:1px}.design-options label:has(input:focus-visible){outline:3px solid var(--link);outline-offset:3px}.design-options label>span{font-size:22px}.design-swatch{width:26px;height:26px;border-radius:50%}.design-swatch.forest{background:#39734f}.design-swatch.ocean{background:#337eb8}.design-swatch.plum{background:#9755a6}.design-done{min-height:44px;width:100%;border:0;border-radius:8px;background:var(--action);color:white;font:inherit;font-weight:600}.design-note{margin:0 0 20px}.content{padding-bottom:110px}body:has(.document-meta) footer{padding-bottom:90px}@media(max-width:760px){.design-trigger{right:14px;bottom:calc(85px + env(safe-area-inset-bottom));padding:10px 14px}.auth-page~.design-trigger,body:has(.auth-page)>.design-trigger,body:has(.document-meta)>.design-trigger{bottom:calc(14px + env(safe-area-inset-bottom))}.auth-main{padding-bottom:85px}.topbar-right{gap:8px}.environment-tag{display:none}.design-dialog{padding:22px}.design-options{gap:7px}}
@media print{:root{--bg:#fff!important;--paper:#fff!important;--surface-soft:#eef2e7!important;--ink:#20382a!important;--muted:#526650!important;--line:#dce3d6!important;--green:#244d37!important;--link:#244d37!important;--soft-text:#42633b!important;--success-bg:#e5efdc!important;--success-text:#42633b!important;--warn-bg:#fff5df!important;--warn-text:#81591b!important;color-scheme:light!important}.design-trigger,.design-dialog{display:none!important}html,body{background:#fff!important;color:#20382a!important}}
/* Outlet workspace in the outlet brand's colour. --brand and --on-brand are set by app.js from the brand;
   the sidebar is a deep shade of it, panels a light tint. Overrides the chosen accent while inside an outlet. */
:root[data-brand]{--action:var(--brand);--action-hover:color-mix(in srgb,var(--brand) 82%,#000);--on-action:var(--on-brand);--green:color-mix(in srgb,var(--brand) 62%,#000);--link:color-mix(in srgb,var(--brand) 62%,#000);--accent:var(--brand);--amber:var(--brand);--nav:color-mix(in srgb,var(--brand) 24%,#0e1210);--surface-soft:color-mix(in srgb,var(--brand) 10%,#fff);--soft-text:color-mix(in srgb,var(--brand) 55%,#1d2620)}
:root[data-theme=dark][data-brand]{--green:color-mix(in srgb,var(--brand) 60%,#fff);--link:color-mix(in srgb,var(--brand) 60%,#fff);--surface-soft:color-mix(in srgb,var(--brand) 14%,#1b2821);--soft-text:color-mix(in srgb,var(--brand) 45%,#fff)}
:root[data-brand] .btn-dark,:root[data-brand] .btn-primary{background:var(--action);color:var(--on-action)}
.outlet-brand{gap:10px;min-width:0}
.outlet-brand-logo{width:40px;height:40px;border-radius:12px;background:#fff;object-fit:contain;padding:3px;flex:none}
.outlet-brand-name{font-size:19px;line-height:1.15;letter-spacing:-.4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mobile-brand .outlet-brand-logo{width:30px;height:30px;border-radius:8px}
.mobile-brand .outlet-brand-name{font-size:16px}
img.outlet-logo.has-image{background:#fff;object-fit:contain;padding:4px;border:1px solid var(--line)}
