/* Eloria owner workspace. --field-border and the meter fill target 3:1 for UI components.
   Palette follows the public site: cream/ivory surfaces, chocolate ink, gold accents.
   --gold-text (#806034) is the AA-contrast gold for text on cream; --gold is decorative only. */
:root{color-scheme:light;--cream:#f6f2e9;--ivory:#fffaf1;--sand:#eee7db;--chocolate:#38271f;--cocoa:#5c4436;--muted:#6b5a4e;--gold:#9c7c49;--gold-text:#806034;--gold-soft:#d9c39b;--line:#d7ccbc;--line-strong:#bfae96;--field-border:#93806a;--danger:#8b3a2e;--ok:#4f5e3a;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--radius:6px;--shadow:0 10px 30px #38271f12}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--cream);color:var(--chocolate);font:16px/1.6 var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;color:var(--chocolate)}
h1{font-size:38px;margin:0}
h2{font-size:26px;margin:0 0 14px}
h3{font-size:21px;margin:0 0 8px}
p{margin:0 0 12px}
a{color:var(--gold-text);text-underline-offset:3px}
[hidden]{display:none!important}
.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--gold-text);margin:0 0 10px}
.meta{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.notice{font-size:13px;color:var(--muted);margin-top:24px}
.skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--chocolate);color:var(--cream);padding:10px 16px;border-radius:var(--radius)}
.skip:focus{top:12px}
.loading{padding:60px 24px;text-align:center;font-family:var(--serif);font-size:22px;color:var(--muted)}

/* Controls */
button,input,textarea,select{font:inherit}
button,.button-link{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--chocolate);background:var(--chocolate);color:var(--cream);padding:10px 18px;border-radius:var(--radius);text-decoration:none;font-size:15px;line-height:1.3}
button:hover,.button-link:hover{background:var(--cocoa);border-color:var(--cocoa)}
button:disabled{opacity:.55;cursor:wait}
button.secondary,.button-link{background:transparent;color:var(--chocolate);border-color:var(--line-strong)}
button.secondary:hover,.button-link:hover{background:var(--sand);border-color:var(--gold)}
button.quiet{background:none;border-color:transparent;color:inherit;padding:8px 0;min-height:0;justify-content:flex-start}
button.quiet:hover{text-decoration:underline;background:none}
button.danger{background:transparent;color:var(--danger);border-color:#c79a90}
button.danger:hover{background:#f6e6e1}
button.small{min-height:36px;padding:6px 12px;font-size:13px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}
input,textarea,select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--field-border);border-radius:4px;background:#fffdf8;color:var(--chocolate)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
textarea{resize:vertical}
label.checkbox{display:flex;align-items:center;gap:10px;font-weight:500}
input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--chocolate)}
.field-foot{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.field-error{font-size:13px;color:var(--danger);font-weight:600}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* Layout */
.topbar{display:none}
aside{position:fixed;inset:0 auto 0 0;width:264px;background:linear-gradient(145deg,#202124 0%,#08090b 48%,#151619 100%);color:#fff;padding:34px 22px 26px;display:flex;flex-direction:column;overflow-y:auto}
.brand{color:var(--cream);text-decoration:none;font-family:var(--serif);font-size:30px;letter-spacing:.18em}
.brand span{display:block;font:600 10px var(--sans);letter-spacing:.2em;margin-top:8px;color:var(--gold-soft)}
nav{display:grid;gap:4px;margin-top:40px}
.nav-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold-soft);margin:20px 12px 6px}
nav button{justify-content:space-between;text-align:left;background:transparent;border:0;border-left:3px solid transparent;border-radius:0 var(--radius) var(--radius) 0;color:var(--cream);padding:10px 12px;min-height:42px}
nav button:hover{background:#f6eadc22;color:#ffffff}
nav button.active{background:#303238;color:#ffffff;border-left-color:#d5a65c;font-weight:700;box-shadow:0 4px 16px #160c0940}
nav button.active:hover{background:#fff1df;color:#302018}
nav button:not(.active){color:#fff9ef;font-weight:550}
.nav-label{color:#f0d5a9}
.aside-bottom{border-top:1px solid #f5e3cb50}
.aside-bottom a{color:#fff7e9;text-decoration-thickness:1.5px}
aside button:focus-visible,aside a:focus-visible{outline-color:var(--gold-soft)}
.badge{min-width:26px;padding:1px 8px;border-radius:999px;background:var(--gold-soft);color:var(--chocolate);font-size:12px;font-weight:700;text-align:center}
.aside-bottom{margin-top:auto;padding-top:26px;display:grid;gap:12px;font-size:14px}
.aside-bottom a{color:var(--cream)}
.aside-bottom button.quiet{color:var(--gold-soft)}
main{margin-left:264px;max-width:1320px;padding:40px clamp(20px,5vw,64px) 80px}
main:focus{outline:none}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}
#status{min-height:24px;margin:12px 0;color:var(--ok);font-weight:600;white-space:pre-wrap}
#status.error{color:var(--danger)}

/* Surfaces */
.panel,.entry{background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:18px 0}
.welcome{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:40px;position:relative;overflow:hidden}
.welcome::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border:1px solid var(--gold-soft);border-radius:50%}
.welcome h2{font-size:42px}
.welcome p{max-width:540px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}
.metrics article{padding:20px;background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px}
.metrics span{font-size:13px;color:var(--muted)}
.metrics strong{font:600 30px/1.1 var(--sans);color:var(--chocolate)}
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}
.dash-grid .panel{margin:0 0 20px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:18px 0}
.card-grid>*{margin:0;display:flex;flex-direction:column}
.card-grid .actions{margin-top:auto;padding-top:16px}
.section-title{margin-top:36px}
.callout{border:1px solid var(--gold);border-left-width:4px;background:var(--ivory);padding:20px 24px;border-radius:var(--radius)}
.callout strong{font-family:var(--serif);font-size:20px;font-weight:400;display:block;margin-bottom:8px}
.callout p{margin:0}
.empty{padding:24px;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);background:#fffaf180}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--cream);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--cocoa)}
.chip.ok{border-color:#9aa585;background:#eef0e4;color:var(--ok)}
.chip.warn{border-color:#d0a990;background:#f8ece2;color:#7a4a2c}
.chip.off{border-color:var(--line-strong);background:var(--sand);color:var(--cocoa)}
.list-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.list-row:last-child{border-bottom:0}
.list-row p{margin:2px 0 0;overflow-wrap:anywhere}
.list-row>div{min-width:0}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 16px}
.facts dt{font-size:13px;color:var(--muted)}
.facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}

/* Readiness meter: gold fill on a lighter gold track, with a text checklist so state is never colour-only. */
.meter-row{display:flex;align-items:center;gap:14px;margin:14px 0}
.meter{flex:1;height:12px;border-radius:999px;background:#f1e8d6;border:1px solid var(--line-strong);overflow:hidden}
.meter span{display:block;height:100%;width:0;background:var(--gold);border-radius:999px;transition:width .3s}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.checklist li:last-child{border-bottom:0}
.checklist .mark{display:inline-block;width:20px;font-weight:700;color:var(--gold-text)}
.checklist .missing .mark{color:var(--muted)}

/* Knowledge and history entries */
.entry .meta{margin-bottom:6px}
.entry p,.turn p{white-space:pre-wrap;overflow-wrap:anywhere}
.entry blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-strong);background:var(--cream);white-space:pre-wrap;overflow-wrap:anywhere}
.entry .actions{margin-top:14px}
.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.toolbar p{max-width:620px;margin:0}
.toolbar label{margin-top:0}
.filters.inline{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 16px;margin:6px 0 4px}

/* Conversations */
.conversation-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;margin-top:18px}
.filters label:first-child{margin-top:0}
.session-list{display:grid;align-content:start;gap:8px;margin-top:16px;max-height:640px;overflow:auto;padding:2px}
.session-list button{display:block;background:var(--ivory);border:1px solid var(--line);color:var(--chocolate);text-align:left;overflow-wrap:anywhere;font-size:14px}
.session-list button:hover{background:var(--sand)}
.session-list button.selected{border-color:var(--chocolate);box-shadow:inset 3px 0 0 var(--gold)}
.session-list small{display:block;color:var(--muted);margin-top:4px}
#conversation{margin-top:0;max-height:620px;overflow:auto}
#continueForm label:first-child{margin-top:0}
.turn{padding:16px 0;border-bottom:1px solid var(--line)}
.turn:last-child{border:0}
.turn strong{font-size:14px;margin-right:8px}
.turn.liz strong{color:var(--gold-text)}

/* Services */
.service-group{margin:16px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory)}
.service-group summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-family:var(--serif);font-size:22px;list-style:none}
.service-group summary::-webkit-details-marker{display:none}
.service-group summary::after{content:"+";font:22px var(--sans);color:var(--gold-text)}
.service-group[open] summary::after{content:"−"}
.service-group summary .meta{font-family:var(--sans);margin-left:auto}
.service-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:0 22px 22px}
.service-items article{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column}
.service-items .actions{margin-top:auto;padding-top:12px}
.duration{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gold-text);margin-bottom:6px}
.includes{margin:8px 0 0;padding-left:18px;font-size:14px}

/* Editor dialog */
dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);color:var(--chocolate);padding:28px;width:min(620px,calc(100vw - 24px));max-height:calc(100vh - 24px);box-shadow:0 24px 60px #38271f40}
dialog::backdrop{background:#38271f80}
dialog label:first-of-type{margin-top:6px}

/* Login */
.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--cream) 0%,var(--sand) 100%)}
.login-card{width:min(520px,100%);background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow)}
.login h1{font-size:34px;margin-bottom:12px}
.login form{margin:24px 0 8px}
.login form button{width:100%;margin-top:22px}
#loginStatus,#fatalMessage{color:var(--danger);font-weight:600;min-height:24px}

@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}.conversation-grid{grid-template-columns:1fr}.session-list{max-height:260px}}
@media(max-width:860px){
 .topbar{display:flex;min-height:70px;position:sticky;top:0;z-index:10;align-items:center;justify-content:space-between;gap:12px;background:var(--chocolate);padding:12px 18px}
 .topbar .brand{font-size:22px}.topbar .brand span{font-size:9px;margin-top:4px}
 .topbar button{color:var(--cream);border-color:var(--gold-soft)}.topbar button:hover{background:#ffffff1a}
 .topbar button:focus-visible{outline-color:var(--gold-soft)}
 aside{display:none;position:fixed;top:0;bottom:0;left:0;width:min(320px,88vw);z-index:9;padding:86px 18px 22px;box-shadow:0 20px 40px #0000004d}
 aside.open{display:flex}
 aside>.brand{display:none}
 nav{margin-top:8px}
 main{margin:0;padding:22px 18px 70px}
 h1{font-size:30px}
 .page-head{align-items:center}
 .welcome{padding:26px}.welcome h2{font-size:32px}
 .metrics{gap:10px}.metrics article{padding:14px}.metrics strong{font-size:24px}
 .panel,.entry{padding:18px}
 .toolbar{align-items:stretch;flex-direction:column}
 .filters.inline{grid-template-columns:1fr}
 .login-card{padding:28px}
 .list-row{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.meter{border:1px solid CanvasText}.meter span{background:Highlight}}

/* Eloria owner workspace — mobile-first visual refresh; no business logic changed */
:root{--ink:#263b36;--muted:#62756d;--paper:#f8f8f5;--line:#e1e7e1;--green:#245f4d;--soft:#edf4ee;--accent:#c09c68}
body{background:radial-gradient(circle at 95% 0%,#eaf4ec 0,transparent 38%),var(--paper)}
aside{background:linear-gradient(180deg,#fff 0%,#f0f5ee 100%);box-shadow:4px 0 24px #1b3e2b09;color:#214b3d}
aside nav button:not(.active){color:#214b3d;font-weight:650}
aside nav button:not(.active):hover{color:#153c2d;background:#dcebe0}
aside .nav-label{color:#536e5b}
aside .aside-bottom{border-top-color:#c7d8cc}
aside .aside-bottom a,aside .aside-bottom button.quiet{color:#245f4d}
aside .badge{background:#dbe8d6;color:#214b3d}
.brand{color:#214b3d;font-size:27px;letter-spacing:.1em}
nav button{border-radius:12px;font-weight:600;transition:background .15s ease}
nav button:not(.active):hover{background:#e0ebe3;filter:none}
nav button.active{box-shadow:0 6px 14px #245f4d26}
main{max-width:1540px}
header{border-bottom:1px solid var(--line);padding-bottom:20px}
.welcome{background:linear-gradient(115deg,#e4f0e7,#f8f3e8);border-radius:20px;padding:36px;box-shadow:0 12px 36px #204d3610}
.welcome h2{color:#245642}
.metrics article,.panel,.entry{border-radius:16px;box-shadow:0 5px 20px #21432c08}
.metrics article{border-top:3px solid #a9c5ae}
.metrics strong{color:#245f4d}
button{border-radius:10px;font-weight:650;min-height:44px}
button.secondary{background:#fff}
button:active{transform:translateY(1px)}
input,textarea,select{border-radius:10px;min-height:44px}
.session-list button{border-radius:12px}
#conversation{border-radius:16px}

/* Quiet spa landscape: decorative only, behind all workspace content. */
.workspace{min-height:100vh;background:linear-gradient(90deg,#f8f8f5d9,#f8f8f5c9),url('zen-landscape.svg?v=2') center bottom/cover fixed no-repeat}
.workspace aside{background:linear-gradient(180deg,#ffffffd9,#f0f5eecb);backdrop-filter:blur(3px);border-right:1px solid #cad8c9}
.workspace main{position:relative;isolation:isolate}
.workspace .panel,.workspace .entry,.workspace .metrics article{background:#fffdf8f2}
.workspace .welcome{background:linear-gradient(115deg,#e4f0e7f5,#f8f3e8ed)}
@media(max-width:700px){.workspace{background-position:62% bottom;background-attachment:scroll}.workspace aside{background:#f4f7f1f5}}

/* Eloria calendar: satin-glass surfaces with accessible contrast */
.calendar-hero{display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:30px 34px;border-radius:22px;background:linear-gradient(125deg,#fffdf7 0%,#f0e4d3 62%,#e1c9a6 100%);border:1px solid #d8c6ac;box-shadow:inset 0 1px 0 #fff,0 16px 35px #38271f12;margin-bottom:22px}
.calendar-hero h2{font-size:clamp(27px,3vw,40px);margin-bottom:8px}.calendar-hero p:last-child{color:#665447}.calendar-mark{font:96px Georgia,serif;color:#a78855;text-shadow:0 2px 1px #fff8}
.calendar-shell{border:1px solid #d9cbb9;border-radius:22px;overflow:hidden;background:linear-gradient(155deg,#fffdf8,#fdf9f2);box-shadow:0 18px 45px #38271f12,inset 0 1px 0 #fff}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px 22px;border-bottom:1px solid #e7dccd;background:linear-gradient(#ffffffc9,#f8f1e7b8)}
.calendar-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.calendar-controls strong{font:23px Georgia,serif;margin-left:8px}
.calendar-controls>button{min-height:39px;padding:6px 14px}.calendar-controls input{width:auto;min-height:40px;border:1px solid #c5b39b;background:#fffaf2;border-radius:8px;color:#38271f;padding:6px 10px}
.calendar-switch{display:flex;border:1px solid #c9b9a5;border-radius:11px;padding:3px;background:#eee5d8}.calendar-switch button{border:0;background:transparent;color:#4c382d;min-height:35px;padding:6px 14px;border-radius:8px}.calendar-switch button.active{background:#38271f;color:#fffaf1;box-shadow:0 3px 9px #38271f2a}
.calendar-body{padding:18px 20px 22px;overflow-x:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:7px}.calendar-weekdays{margin-bottom:9px}.calendar-weekdays span{text-align:center;font-size:11px;letter-spacing:.13em;font-weight:700;color:#806034;padding:8px}
.calendar-cell{min-height:100px;text-align:left;padding:12px;border:1px solid #e5d9c9;border-radius:12px;background:linear-gradient(155deg,#fffefb,#faf5ed);color:#38271f;box-shadow:inset 0 1px 0 #fff;cursor:default}.calendar-cell.outside{opacity:.43}.calendar-cell.today{border:2px solid #9c7c49;background:linear-gradient(145deg,#fff9e8,#f5e9d4)}.calendar-cell strong{font:20px Georgia,serif}.calendar-cell small{display:block;margin-top:15px;color:#806034;font-size:11px}.calendar-grid.day{grid-template-columns:1fr}.calendar-grid.day .calendar-cell{min-height:230px}.calendar-grid.week .calendar-cell{min-height:250px}
.calendar-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 22px;border-top:1px solid #e7dccd;background:#f5ede1;color:#5c4436;font-size:13px}.calendar-dot{height:9px;width:9px;background:#b68e54;border-radius:50%}.calendar-foot span:last-child{color:#6b5a4e}
@media(max-width:650px){.calendar-hero{padding:22px}.calendar-mark{font-size:54px}.calendar-toolbar{padding:14px}.calendar-controls strong{font-size:20px}.calendar-body{padding:10px}.calendar-weekdays,.calendar-grid{gap:3px;grid-template-columns:repeat(7,minmax(38px,1fr))}.calendar-weekdays span{font-size:9px;letter-spacing:0}.calendar-cell{min-height:65px;padding:7px;border-radius:7px}.calendar-cell strong{font-size:15px}.calendar-cell small{display:none}.calendar-grid.week .calendar-cell{min-height:120px}}

/* Eloria beautification layer — photographic spa atmosphere with readable glass surfaces. */
.login{background:linear-gradient(105deg,#172b25a8,#f3eee5b8),url('/assets/consultation-scene-v2.png') center/cover fixed no-repeat}
.login-card{background:#fffaf1f2;backdrop-filter:blur(10px);box-shadow:0 24px 70px #17251e42;border-color:#e1d3bc}
.workspace{background:linear-gradient(90deg,#f8f8f5ed 0%,#f8f8f5d4 58%,#edf3edb8 100%),url('/assets/skin-care-scene-v2.png') center right/cover fixed no-repeat}
.workspace aside{background:#fffdf8e8;backdrop-filter:blur(10px)}
.workspace .welcome{background:linear-gradient(110deg,#eef5eef2,#fff8edf0),url('/assets/recovery-textile-v1.png') right center/46% auto no-repeat}
.workspace .panel,.workspace .entry,.workspace .metrics article,.workspace .service-group{background:#fffdf8ed;backdrop-filter:blur(8px)}
@media(max-width:860px){.workspace{background:linear-gradient(#f8f8f5e8,#f8f8f5e8),url('/assets/skin-care-scene-v2.png') center/cover fixed no-repeat}.workspace .welcome{background:#fffaf1ed}}

/* Compact accordion navigation: keeps the workspace wide while preserving every destination. */
.nav-group{border-top:1px solid #f5e3cb28;margin-top:12px;padding-top:8px}.nav-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;color:#f0d5a9;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary span{font-size:15px;transition:transform .2s}.nav-group[open] summary span{transform:rotate(180deg)}.nav-group>div{display:grid;gap:3px;padding-bottom:4px}.nav-group a{display:block;color:#fff9ef;text-decoration:none;padding:9px 12px 9px 15px;border-left:3px solid transparent;border-radius:0 var(--radius) var(--radius) 0;font-size:14px}.nav-group a:hover{background:#f6eadc22;color:#fff}.nav-home{margin-bottom:4px}
@media(min-width:1101px){aside{width:224px;padding-left:16px;padding-right:16px}.brand{font-size:26px}nav{margin-top:26px}main{margin-left:224px;max-width:none;padding-left:clamp(24px,3.5vw,56px);padding-right:clamp(24px,3.5vw,56px)}}

/* Workspace density pass */
@media(min-width:861px){main{padding-top:28px;padding-bottom:56px}.page-head{padding-bottom:15px;margin-bottom:6px}.page-head h1{font-size:34px}.panel,.entry{padding:20px;margin:14px 0}.welcome{padding:30px}.welcome h2{font-size:36px}.metrics{gap:12px;margin:16px 0}.metrics article{padding:15px 17px}.metrics strong{font-size:27px}.dash-grid{gap:0 14px}.dash-grid .panel{margin-bottom:14px}.card-grid{gap:14px;margin:14px 0}.section-title{margin-top:28px}.conversation-grid{grid-template-columns:260px minmax(0,1fr);gap:16px;margin-top:14px}.toolbar{gap:14px}.actions{margin-top:12px}.calendar-hero{padding:24px 28px}.calendar-toolbar{padding:13px 18px}.calendar-body{padding:14px 16px 18px}}

.calendar-appt{margin-top:7px;padding:6px 8px;border-left:3px solid var(--gold);border-radius:4px;background:#efe5d6;color:var(--chocolate);font-size:12px;font-weight:650;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-cell small{display:block;margin-top:8px;color:var(--muted)}

.appointment-detail{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-top:1px solid var(--line);background:#fffaf1}.appointment-detail h3,.appointment-detail p{margin:0}.appointment-detail .eyebrow{margin-bottom:4px}.calendar-appt{cursor:pointer}.calendar-appt:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(max-width:650px){.appointment-detail{align-items:stretch;flex-direction:column}}

.workspace-launcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.workspace-launcher a,.workspace-launcher button{display:flex;min-width:0;min-height:86px;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--ivory);color:var(--chocolate);text-decoration:none;text-align:left;box-shadow:0 4px 14px #38271f08}.workspace-launcher a:hover,.workspace-launcher button:hover{background:var(--sand);border-color:var(--gold)}.workspace-launcher strong{font:400 20px/1.15 var(--serif)}.workspace-launcher span{font-size:12px;color:var(--muted)}@media(max-width:1050px){.workspace-launcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.workspace-launcher{grid-template-columns:1fr}.workspace-launcher a,.workspace-launcher button{min-height:68px}}

/* Shared owner navigation across standalone back-office modules. */
.unified-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,3vw,36px);background:#fffaf1f2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);font-family:var(--sans)}.unified-bar>a{color:var(--chocolate);text-decoration:none;letter-spacing:.08em}.unified-bar nav{display:flex;align-items:center;gap:4px}.unified-bar nav a{margin:0;padding:7px 10px;border-radius:6px;color:var(--cocoa);font-size:13px;text-decoration:none}.unified-bar nav a:hover{background:var(--sand)}@media(max-width:680px){.unified-bar{align-items:flex-start;flex-direction:column}.unified-bar nav{width:100%;overflow-x:auto}.unified-bar nav a{white-space:nowrap}}

/* Unified dashboard hierarchy */
#overview>.welcome{background:linear-gradient(120deg,var(--ivory),#f0e5d4);border-color:var(--gold-soft)}#overview>.welcome h2{max-width:680px}.workspace-launcher{margin-top:12px}.workspace-launcher strong{letter-spacing:-.01em}.dash-grid>.panel{min-height:210px}.dash-grid>.panel h2{padding-bottom:9px;border-bottom:1px solid var(--sand)}@media(min-width:1101px){#overview>.welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:36px;align-items:end}#overview>.welcome .eyebrow,#overview>.welcome h2,#overview>.welcome>p{grid-column:1}#overview>.welcome .actions{grid-column:2;grid-row:1/4;align-self:center;flex-direction:column;min-width:220px}#overview>.welcome .actions>*{width:100%}}

/* Operations hub */
.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}.operations-card{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;min-height:118px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);color:var(--chocolate);text-decoration:none;box-shadow:var(--shadow)}.operations-card:hover{border-color:var(--gold);background:#fffdf8}.operations-card>span{grid-row:1/3;font:400 25px/1 var(--serif);color:var(--gold-text)}.operations-card>strong{font:400 20px/1.2 var(--serif)}.operations-card>small{color:var(--muted);line-height:1.4}@media(max-width:900px){.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.operations-grid{grid-template-columns:1fr}.operations-card{min-height:92px}}

/* 2026-10-14 Zen workspace: independent Eloria treatment inspired by the compact Gilded navigation. */
.workspace{position:relative;background:linear-gradient(90deg,rgba(245,241,229,.68) 0%,rgba(237,241,228,.48) 48%,rgba(220,235,222,.20) 100%),url('zen-landscape.svg?v=3') center bottom/cover fixed no-repeat;overflow-x:hidden}
.workspace main{z-index:2;background:rgba(250,247,238,.20);backdrop-filter:blur(1.5px)}
.workspace aside{z-index:6;background:linear-gradient(180deg,rgba(250,248,239,.83),rgba(225,235,220,.72));backdrop-filter:blur(12px) saturate(1.08);box-shadow:5px 0 28px rgba(22,52,38,.12)}
.workspace .panel,.workspace .entry,.workspace .metrics article,.workspace .service-group,.workspace-launcher a,.workspace-launcher button,.operations-card{background:rgba(255,252,243,.72);backdrop-filter:blur(10px) saturate(1.08);box-shadow:0 12px 32px rgba(31,61,44,.08)}
.workspace .welcome{background:linear-gradient(115deg,rgba(236,245,233,.72),rgba(255,248,235,.62));backdrop-filter:blur(9px)}
.nav-group{border-top-color:rgba(70,101,72,.18)}.nav-group summary{color:#526b52}.nav-group summary span{font-size:0}.nav-group summary span::after{content:'⌄';font-size:15px}.nav-group a{color:#28513f}.nav-group a:hover{background:rgba(74,112,78,.11);color:#173e30}
.zen-bamboo{position:fixed;z-index:5;left:202px;bottom:-4vh;width:82px;height:92vh;pointer-events:none;opacity:.72;filter:drop-shadow(5px 4px 8px rgba(20,55,30,.18))}.zen-bamboo i{position:absolute;bottom:0;width:13px;height:100%;border-radius:10px;background:repeating-linear-gradient(to bottom,#355f38 0 13%,#244b2d 13.3% 14.4%,#4e7546 14.7% 28%);transform-origin:bottom}.zen-bamboo i:nth-child(1){left:14px;transform:rotate(-2deg)}.zen-bamboo i:nth-child(2){left:37px;height:88%;transform:rotate(3deg)}.zen-bamboo i:nth-child(3){left:59px;height:74%;transform:rotate(7deg)}.zen-bamboo i::after{content:'';position:absolute;top:15%;left:-26px;width:55px;height:24px;border-radius:100% 0 100% 0;background:#547b4b;transform:rotate(-24deg);box-shadow:17px 94px 0 #426c40,-15px 192px 0 #5d8050,18px 292px 0 #3e663b,-8px 390px 0 #557a48}
.zen-waterfall{position:fixed;z-index:1;inset:0;pointer-events:none;overflow:hidden}.fall{position:absolute;right:4.5vw;top:8vh;width:8vw;min-width:70px;height:48vh;border-radius:45% 35% 48% 55%;opacity:.18;background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.75) 10px 14px,rgba(196,224,218,.45) 17px 21px);filter:blur(1px);animation:eloriaFall 3.8s linear infinite}.fall-b{right:10vw;top:13vh;width:5vw;height:40vh;opacity:.12;animation-duration:5.2s;animation-delay:-2s}.river-ripple{position:absolute;right:5vw;bottom:8vh;width:180px;height:54px;border:2px solid rgba(240,255,250,.6);border-radius:50%;opacity:0;animation:eloriaRipple 5s ease-out infinite}.ripple-b{right:14vw;bottom:13vh;animation-delay:2.4s}.zen-audio{position:fixed;z-index:15;right:16px;bottom:16px;min-height:30px;padding:5px 9px;border-radius:999px;border:1px solid rgba(116,98,65,.35);background:rgba(35,57,45,.76);color:#fffaf1;font-size:12px;box-shadow:0 5px 16px rgba(20,40,30,.18);backdrop-filter:blur(8px)}.zen-audio span{font-size:10px;opacity:.82}.zen-audio:hover{background:rgba(35,57,45,.9)}
@keyframes eloriaFall{0%{background-position:0 -100px;transform:translateY(-2%)}100%{background-position:0 180px;transform:translateY(2%)}}@keyframes eloriaRipple{0%{transform:scale(.25);opacity:0}18%{opacity:.48}100%{transform:scale(2.2);opacity:0}}
@media(min-width:1101px){.workspace main{margin-left:224px}.zen-bamboo{left:202px}}
@media(max-width:860px){.zen-bamboo{display:none}.workspace{background-attachment:scroll}.fall{right:-10px;opacity:.12}.zen-audio{bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.fall,.river-ripple{animation:none!important}.fall{opacity:.08}.river-ripple{display:none}}

/* Background audition: four owner-selected spa scenes, cross-faded by admin.js. */
.zen-bg-rotator{position:fixed;z-index:0;inset:0 0 0 224px;pointer-events:none;overflow:hidden;background:#dfe9dc}
.zen-bg-rotator .zen-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 2.4s ease-in-out;filter:saturate(.88) brightness(.92)}
.zen-bg-rotator .zen-bg::after{content:'';position:absolute;inset:0;background:rgba(238,244,232,.30)}
.zen-bg-rotator .zen-bg.is-active{opacity:.72}
.workspace{background:none!important}
@media(max-width:860px){.zen-bg-rotator{inset:0}.zen-bg-rotator .zen-bg.is-active{opacity:.62}}

/* Back office Template 2: glossy black + white sidebar */
aside{background:linear-gradient(145deg,rgba(8,8,9,.98),rgba(20,20,22,.96) 48%,rgba(4,4,5,.99));color:#fff;border-right:1px solid rgba(255,255,255,.13);box-shadow:14px 0 36px rgba(0,0,0,.22),inset -1px 0 rgba(255,255,255,.05);backdrop-filter:blur(18px) saturate(115%)}
aside::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.09),transparent 24%,transparent 72%,rgba(255,255,255,.025));opacity:.72}
aside>.brand,.brand{color:#fff}.brand span{color:rgba(255,255,255,.58)}
.nav-label,.nav-group summary{color:rgba(255,255,255,.56)}
nav button,.nav-group a{color:rgba(255,255,255,.86);border-left-color:transparent}
nav button:not(.active):hover,.nav-group a:hover{background:rgba(255,255,255,.09);color:#fff}
nav button.active{background:linear-gradient(100deg,rgba(255,255,255,.96),rgba(232,232,234,.93));color:#080809;border-left-color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.9)}
.nav-group{border-top-color:rgba(255,255,255,.12)}
.zen-bamboo{display:none!important}

/* Gilded-style operational shell: Eloria skin */
.unified-bar{position:sticky;top:0;z-index:20;min-height:58px;padding:0 24px;display:flex;align-items:center;gap:24px;background:linear-gradient(145deg,#050506,#18191c 52%,#020203);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px rgba(0,0,0,.14)}
.unified-bar>a{color:#fff;text-decoration:none;letter-spacing:.09em;white-space:nowrap}.unified-bar nav{display:flex;gap:4px;flex-wrap:wrap}.unified-bar nav a{color:rgba(255,255,255,.78);text-decoration:none;padding:9px 11px;border-radius:8px;font-size:13px}.unified-bar nav a:hover,.unified-bar nav a:focus-visible{background:rgba(255,255,255,.12);color:#fff;outline:none}
@media(max-width:760px){.unified-bar{padding:10px 14px;align-items:flex-start;flex-direction:column;gap:7px}.unified-bar nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.unified-bar nav a{white-space:nowrap}}

/* Authoritative owner sidebar skin */
.workspace aside{background:linear-gradient(145deg,#050506 0%,#18191c 48%,#020203 100%) !important;color:#fff !important;border-right:1px solid rgba(255,255,255,.14) !important;box-shadow:14px 0 36px rgba(0,0,0,.28),inset -1px 0 rgba(255,255,255,.06) !important;backdrop-filter:blur(18px) saturate(115%) !important}
@media(max-width:700px){.workspace aside{background:#08090b !important}}
/* Primary garden template. Original skin is frozen in template-2.css. */
.workspace{background:#142c22 url('/assets/zen-garden-primary.png?v=20261014garden1') center/cover fixed no-repeat!important}
.workspace main{background:transparent;backdrop-filter:none;max-width:none;color:#fff9ed}
.workspace aside{background:linear-gradient(145deg,#09130ff5,#020906f7)!important;border-right:1px solid #c9b67855!important;box-shadow:8px 0 32px #0005!important}
.workspace aside .brand,.workspace .brand{color:#ead49b}.workspace .brand span{color:#d3c49e}
.workspace nav button,.workspace .nav-group a,.workspace .aside-bottom a,.workspace .aside-bottom button.quiet{color:#f4efdf}
.workspace .nav-group summary{color:#e4ce91;font-size:12px;letter-spacing:.12em;padding:14px 12px}
.workspace .nav-group{border-top-color:#dbc79522}.workspace nav button.active{background:linear-gradient(100deg,#c4a45a88,#bba36133);border-left-color:#e5ca87;color:#fff4d6;box-shadow:inset 0 0 0 1px #e6cd8055}
.workspace nav button:not(.active):hover,.workspace .nav-group a:hover{background:#e0c57c22;color:#fff4d6}
.workspace .page-head{border-color:#eddfb744;text-shadow:0 2px 12px #000}.workspace .page-head h1{color:#fff9ed;font-size:clamp(32px,4vw,48px)}
.workspace .page-head .eyebrow{color:#f0da9d}
.workspace #overview>.welcome{display:block;max-width:900px;padding:clamp(24px,4vw,56px);background:linear-gradient(110deg,#102b20b8,#102b2066);backdrop-filter:blur(3px);border:1px solid #ead8b65c;box-shadow:0 18px 48px #0003;color:#fff9ed;border-radius:16px}
.workspace #overview>.welcome h2{color:#fff9ed;font-size:clamp(36px,4.2vw,62px);letter-spacing:-.025em;max-width:700px}.workspace #overview>.welcome p{max-width:640px;color:#fff4de}.workspace #overview>.welcome .eyebrow{color:#ecd699}
.workspace #overview>.welcome .actions{flex-direction:row;flex-wrap:wrap}.workspace #overview>.welcome .actions>*{width:auto}
.workspace button,.workspace .button-link{background:#d7bc78;color:#15261b;border-color:#e4cc95}.workspace button.secondary{background:#142a21e6;color:#fff1d2;border-color:#c9b780}
.workspace .workspace-launcher a,.workspace .workspace-launcher button{background:#102b20b8;color:#fff3d6;border-color:#e1c88c66;backdrop-filter:blur(3px);padding:22px 16px;border-radius:12px}.workspace-launcher strong{color:inherit}.workspace .workspace-launcher span{color:#f0e5ce}
.workspace .panel,.workspace .entry,.workspace .metrics article,.workspace .service-group,.workspace .operations-card{background:#faf3e0d9;backdrop-filter:blur(4px);color:#26372b;border:1px solid #e8d9b88c;box-shadow:0 8px 24px #001a1426}
.workspace .panel h2,.workspace .entry h2,.workspace .metrics strong{color:#233c2e}.workspace .metrics article{border-top:2px solid #ccb777}
.workspace .view>p,.workspace .toolbar>p,.workspace .view>.section-title{color:#fff6de;text-shadow:0 1px 7px #00150e}.workspace .panel p,.workspace .entry p{color:#394637}
.workspace .zen-audio{top:16px;right:16px;bottom:auto;min-height:32px;background:#071a12d9;color:#fff2d3;border-color:#dec58b66}.workspace .fall{display:none}.workspace .river-ripple{right:6vw;bottom:8vh;border-color:#d3fff69c}
.workspace .topbar{background:#07120ff5}.workspace :focus-visible{outline:3px solid #f3d279;outline-offset:3px}
@media(min-width:1101px){.workspace main{padding-right:clamp(32px,12vw,210px)}}
@media(max-width:860px){.workspace{background-attachment:scroll!important;background-position:65% center!important}.workspace .zen-audio{top:82px;right:12px}.workspace .page-head{padding-right:60px}.workspace #overview>.welcome{padding:24px}.workspace main{background:#05201533}}
@media(prefers-reduced-motion:reduce){.workspace *{animation:none!important;transition:none!important}.river-ripple{display:none}.zen-bg-rotator .zen-bg:not(:first-child){display:none}}
@media(prefers-contrast:more){.workspace .panel,.workspace .entry,.workspace .metrics article{background:#fff6df}.workspace #overview>.welcome,.workspace .workspace-launcher a,.workspace .workspace-launcher button{background:#092417}}
/* A fixed scene layer keeps the pond visible throughout tall dashboard views. */
.workspace{background:#142c22!important}
.workspace::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:#142c22 url('/assets/zen-garden-primary.png?v=20261014garden4') center/cover no-repeat}
.workspace .nav-group summary>span{font-size:15px}.workspace .nav-group summary>span::after{content:none}
@media(max-width:860px){.workspace::before{background-position:center center;background-size:cover;opacity:1}.workspace main{position:relative;z-index:2;background:transparent}.workspace #overview>.welcome{background:linear-gradient(110deg,#102b20a8,#102b2054)}.workspace .workspace-launcher a,.workspace .workspace-launcher button{background:#102b20a8}}
.workspace nav button:not(.active){background:transparent;border-color:transparent;box-shadow:none}
.workspace .aside-bottom button.quiet{background:transparent;border-color:transparent;box-shadow:none}
.workspace #overview>.welcome::after{display:none}

/* Booking operations preview — intentionally informational until APIs are verified. */
.booking-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin-top:16px}
.booking-feature-grid article{border:1px solid var(--line);border-radius:12px;background:var(--ivory);padding:18px;box-shadow:var(--shadow)}
.booking-feature-grid h3{font-size:19px;margin:0 0 8px}
.booking-feature-grid p{margin-bottom:8px}
#booking-share-links .actions{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}
#booking-share-links .actions span{flex:1 1 200px;overflow-wrap:anywhere}

/* Eloria owner sidebar: white submenu labels on dark sidebar, never green. */
.workspace aside .nav-group a,.workspace .nav-group a,.workspace .nav-group summary,.workspace .nav-label{color:#fff!important}
.workspace .nav-group a:hover,.workspace .nav-group a:focus-visible{color:#fff!important;background:#ffffff1a}
.workspace .nav-group a[aria-current="page"]{color:#fff!important;border-left-color:#fff}
/* Owner sidebar: the same glossy jet-black as the Core back office rail. */
.workspace aside{background:linear-gradient(115deg,rgba(255,255,255,.11),transparent 24%,transparent 72%,rgba(255,255,255,.03)),linear-gradient(145deg,#050506 0%,#18191c 48%,#020203 100%)!important;border-right:1px solid rgba(255,255,255,.14)!important;box-shadow:14px 0 36px rgba(0,0,0,.28),inset -1px 0 rgba(255,255,255,.06)!important}
/* Template 2: Template 1's skin over the rotating photographs instead of the garden layer. */
html[data-workspace-template=template-2] .workspace{background:transparent!important}
html[data-workspace-template=template-2] .workspace::before{display:none}
/* Top-level sidebar labels use the Eloria logo's lettering gold; submenu labels stay white (see the rule above). */
.workspace .nav-group summary,.workspace .nav-label{color:#cb984d!important}
