@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap";:root{--surface:#f9f9f9;--surface-container:#eee;--surface-container-low:#f3f3f3;--surface-container-lowest:#fff;--surface-container-high:#e8e8e8;--primary:#570013;--primary-container:#800020;--on-primary:#fff;--on-surface:#1a1c1c;--secondary:#5f5e5e;--outline:#8c7071;--outline-variant:#e0bfbf;--success:#22c55e;--warning:#f59e0b;--rose:#f43f5e;color:var(--on-surface);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}body.drawer-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible),a:focus:not(:focus-visible),select:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #57001373}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.icon{stroke-width:1.55px;width:1.35rem;height:1.35rem;display:inline-flex}.app-shell{background:var(--surface);min-height:100vh;display:flex}.app-shell.density-compact .dashboard{padding-block:2rem}.app-shell.density-compact .stats-grid{gap:1.15rem;margin-bottom:2rem}.app-shell.density-compact .stat-card,.app-shell.density-compact .schedule-card,.app-shell.density-compact .audit-log,.app-shell.density-compact .settings-panel,.app-shell.density-compact .panel,.app-shell.density-compact .module-panel,.app-shell.density-compact .report-card,.app-shell.density-compact .staff-card,.app-shell.density-compact .service-card,.app-shell.density-compact .store-card{padding:1.45rem}.app-shell.density-compact .metric-list{gap:.7rem}.app-shell.density-compact .schedule-row{min-height:4.8rem;padding-block:.8rem}.skip-link{z-index:40;color:var(--on-primary);background:var(--primary);letter-spacing:.12em;text-transform:uppercase;padding:.8rem 1rem;font-size:.72rem;font-weight:800;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sidebar{background:linear-gradient(#f3f3f3b3,#eeec);flex-direction:column;flex:0 0 20rem;height:100vh;padding:2.5rem 1.25rem;display:flex;position:sticky;top:0}.brand-block{padding:0 .6rem 3.25rem}.brand-block h1{color:var(--primary);letter-spacing:0;margin:0;font-size:1.35rem}.brand-block p,.panel h3{color:var(--secondary);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:800}.brand-block p{margin-top:.65rem}.side-nav{gap:.25rem;display:grid}.side-nav button{color:#77716f;text-align:left;background:0 0;border:0;align-items:center;gap:.95rem;width:100%;min-height:3.8rem;padding:0 1rem;font-size:1rem;font-weight:650;transition:background .16s,color .16s,transform .12s;display:flex}.side-nav button:hover:not(:disabled),.side-nav button.active{color:var(--primary);background:#fff9}.side-nav button.active{border-right:3px solid var(--primary);font-weight:800}.side-nav button:disabled{cursor:not-allowed;opacity:.42}.side-nav button:active,button:active{transform:scale(.98)}.sidebar-footer{margin-top:auto}.primary-button,.secondary-button,.row-actions button{text-transform:uppercase;letter-spacing:.14em;border:0;border-radius:.2rem;font-size:.73rem;font-weight:800}.primary-button{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container))}.sidebar-footer .primary-button{width:100%;padding:1rem}.text-button{width:100%;color:var(--secondary);letter-spacing:.14em;text-align:left;text-transform:uppercase;background:0 0;border:0;margin-top:1rem;font-size:.72rem;font-weight:800}.admin-profile{align-items:center;gap:.8rem;margin-top:2rem;padding:0 .6rem;display:flex}.admin-profile strong,.staff-row strong{font-size:.82rem;display:block}.admin-profile span,.staff-row span{color:var(--secondary);margin-top:.15rem;font-size:.68rem;display:block}.avatar{width:2.25rem;height:2.25rem;color:var(--primary);background:#f3e4e6;border-radius:999px;flex:0 0 2.25rem;place-items:center;font-size:.7rem;font-weight:800;display:grid}.avatar.dark{color:#fff;background:#153038}.main-shell{flex:1;min-width:0}.topbar{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f9f9f9e0;justify-content:space-between;align-items:center;gap:2rem;min-height:5.5rem;padding:1.1rem 2.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px 20px #1a1c1c0a}.topbar-left,.topbar-right,.hero-actions,.date-controls,.row-actions,.booking-actions{align-items:center;display:flex}.topbar-left{gap:2.5rem}.topbar-left>strong{color:var(--primary);letter-spacing:0;font-size:1.2rem}.search{width:min(20rem,34vw);position:relative}.search .icon{color:#9b9693;width:1rem;height:1rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search input{width:100%;color:var(--on-surface);background:var(--surface-container-low);letter-spacing:.16em;text-transform:uppercase;border:0;border-radius:999px;outline:0;padding:.75rem 4.2rem .75rem 3rem;font-size:.72rem}.search input:focus{background:var(--surface-container-lowest);box-shadow:inset 0 0 0 1px #5700132e}.search button{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;font-size:.62rem;font-weight:800;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.topbar-right{gap:1.2rem}.health-pill{color:var(--secondary);background:var(--surface-container-low);letter-spacing:.12em;text-transform:uppercase;border:0;border-radius:999px;padding:.5rem .8rem;font-size:.65rem;font-weight:800}.health-pill.online{color:#166534;background:#dcfce7}.health-pill.offline{color:#93000a;background:#ffdad6}.health-pill.checking{color:var(--secondary)}.haven-select{min-width:11rem;color:var(--primary);background:var(--surface-container-low);letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:999px;outline:0;padding:.65rem 1rem;font-size:.76rem;font-weight:800}.topbar-right nav{gap:2rem;display:flex}.topbar-right nav button{color:#7a7471;text-transform:uppercase;background:0 0;border:0;padding:.45rem 0;font-size:.9rem}.topbar-right nav button.active{color:var(--primary);box-shadow:inset 0 -2px var(--primary)}.topbar-right nav button:disabled{cursor:not-allowed;opacity:.55}.icon-button{color:#77716f;background:0 0;border:0;place-items:center;width:2.25rem;height:2.25rem;display:grid}.notification-button{position:relative}.notification-button span{min-width:1rem;height:1rem;color:var(--on-primary);background:var(--primary);border-radius:999px;place-items:center;font-size:.58rem;font-weight:800;line-height:1;display:grid;position:absolute;top:.15rem;right:.1rem}.notification-center{z-index:18;background:var(--surface-container-lowest);width:min(26rem,100vw - 2rem);max-height:calc(100vh - 8rem);padding:1.35rem;position:fixed;top:6.25rem;right:2rem;overflow:auto;box-shadow:0 1.2rem 3rem #1a1c1c1f}.notification-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.notification-heading>div{align-items:center;gap:.75rem;display:flex}.notification-heading>div:first-child{display:block}.notification-heading h3{color:var(--primary);letter-spacing:0;margin:0;font-size:1rem}.notification-heading span{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem;font-size:.68rem;font-weight:800;display:block}.notification-heading button,.notification-actions button{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;font-size:.68rem;font-weight:800}.notification-list{gap:.75rem;display:grid}.notification-summary{grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1rem;display:grid}.notification-summary span{color:var(--secondary);background:var(--surface-container-low);letter-spacing:.12em;text-transform:uppercase;padding:.7rem;font-size:.68rem;font-weight:800}.notification-summary strong{color:var(--primary);letter-spacing:0;font-size:1.25rem;font-weight:300;display:block}.notification-item{background:var(--surface-container-low);border-left:3px solid #8c707173;padding:.9rem}.notification-item.success{border-color:var(--success);background:#dcfce7}.notification-item.danger{background:#ffdad6;border-color:#93000a}.notification-item.warning{border-color:var(--warning);background:#fef3c7}.notification-item strong{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.notification-item span{color:var(--secondary);overflow-wrap:anywhere;margin-top:.35rem;font-size:.84rem;line-height:1.45;display:block}.notification-item time,.reviewed-notifications time{color:#5f5e5ec7;letter-spacing:.1em;text-transform:uppercase;margin-top:.45rem;font-size:.68rem;font-weight:800;display:block}.notification-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.notification-actions button{background:#fff9;padding:.45rem .6rem}.reviewed-notifications{border-top:1px solid #8c707124;margin-top:1rem;padding-top:1rem}.reviewed-notifications h4{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:800}.reviewed-notifications article{border-bottom:1px solid #8c707114;padding:.7rem 0}.reviewed-notifications article:last-child{border-bottom:0}.reviewed-notifications strong,.reviewed-notifications span{display:block}.reviewed-notifications strong{color:var(--primary);font-size:.78rem}.reviewed-notifications span{color:var(--secondary);margin-top:.25rem;font-size:.76rem;line-height:1.45}.dashboard{width:min(100%,94rem);padding:3rem 2.5rem}.hero-row{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.15rem;display:flex}.hero-row h2{letter-spacing:0;margin:0;font-size:2.7rem;font-weight:300;line-height:1.1}.hero-row h2 span{color:var(--primary);font-weight:800}.hero-row p{color:var(--secondary);margin:.7rem 0 0}.hero-actions{gap:.75rem}.refresh-meta{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:800}.refresh-meta.paused{color:#93000a}.hero-actions button{min-width:11.5rem;padding:1rem 1.3rem}.secondary-button{color:#5e4b4c;background:0 0;border:1px solid #8c70713d}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;margin-bottom:3.2rem;display:grid}.compact-stats{gap:1.3rem;margin-bottom:1.9rem}.stat-card{background:var(--surface-container-lowest);flex-direction:column;justify-content:space-between;min-height:12.5rem;padding:2.1rem;display:flex}.stat-card.muted{background:var(--surface-container-low)}.compact-stats .stat-card{min-height:8.7rem;padding:1.55rem 1.8rem}.card-label-row{color:var(--secondary);letter-spacing:.22em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;font-size:.7rem;font-weight:800;display:flex}.card-label-row .icon{color:#57001347}.stat-card strong{letter-spacing:0;margin-bottom:.35rem;font-size:3.1rem;font-weight:300;display:block}.stat-card p{color:var(--secondary);margin:0;font-size:.9rem}.stat-card p.positive{color:#15803d}.module-view{gap:1.7rem;display:grid}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;display:grid}.module-panel,.report-card{background:var(--surface-container-lowest);padding:1.8rem}.module-panel.wide{grid-column:1/-1}.module-panel h3,.report-card h3{color:var(--primary);letter-spacing:0;margin:0 0 1rem;font-size:1rem}.module-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.module-panel-heading h3{margin-bottom:1rem}.module-panel-heading label,.report-date-control{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.66rem;font-weight:800;display:inline-flex}.module-panel-heading>span{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:800}.module-panel-heading select,.report-date-control input{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #8c70713d;padding:.45rem .55rem;font-size:.68rem;font-weight:800}.report-date-control{margin:-.25rem 0 1rem}.module-panel dl,.report-context dl{gap:.75rem;margin:0;display:grid}.module-panel dl div,.report-context dl div{border-bottom:1px solid #8c70711a;justify-content:space-between;gap:1rem;padding-bottom:.65rem;display:flex}.module-panel dl div:last-child,.report-context dl div:last-child{border-bottom:0;padding-bottom:0}.module-panel dt,.report-context dt{color:var(--secondary);font-size:.84rem}.module-panel dd,.report-context dd{color:var(--on-surface);text-align:right;margin:0;font-weight:800}.metric-list{gap:.95rem;display:grid}.metric-list.split{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding-bottom:.75rem;display:grid;position:relative}.metric-row:before,.metric-row i{content:"";height:.22rem;position:absolute;bottom:0;left:0;right:0}.metric-row:before{background:#8c70711f}.metric-row i{width:max(var(--bar-width), .22rem);background:var(--primary)}.metric-row.success i{background:var(--success)}.metric-row.warning i{background:var(--warning)}.metric-row strong{color:var(--primary);font-size:.9rem;display:block}.metric-row span{color:var(--secondary);margin-top:.2rem;font-size:.78rem;line-height:1.45;display:block}.metric-row em{color:var(--on-surface);white-space:nowrap;font-size:.78rem;font-style:normal;font-weight:800}.module-note{color:var(--secondary);margin:1rem 0 0;font-size:.82rem;line-height:1.5}.module-note.danger{color:#93000a}.module-empty{background:var(--surface-container-low);border-left:3px solid #57001361;gap:.25rem;padding:1rem;display:grid}.module-empty.compact{margin-top:1rem}.module-empty strong{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:800}.module-empty span{color:var(--secondary);font-size:.84rem;line-height:1.5}.chart-card{background:var(--surface-container-low);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem;display:grid}.donut-chart{border-radius:999px;place-items:center;width:5.5rem;height:5.5rem;display:grid;position:relative}.donut-chart:after{border-radius:inherit;background:var(--surface-container-low);content:"";position:absolute;inset:.9rem}.donut-chart span{z-index:1;color:var(--primary);font-size:1.45rem;font-weight:800;position:relative}.chart-card strong{color:var(--primary);font-size:.92rem;display:block}.chart-card p{color:var(--secondary);margin:.25rem 0 0;font-size:.82rem}.trend-list,.trend-loading{gap:.85rem;display:grid}.trend-loading span{background:linear-gradient(90deg,#8c707114,#8c70712e,#8c707114) 0 0/200% 100%;height:1.9rem;animation:1.2s infinite shimmer;display:block}.trend-row{grid-template-columns:10rem minmax(8rem,1fr) 3rem minmax(8rem,auto);align-items:center;gap:1rem;min-width:0;display:grid}.trend-row time{min-width:0;color:var(--primary);font-size:.82rem;font-weight:800}.trend-row i{background:#8c70711f;height:.42rem;position:relative}.trend-row i:after{width:max(var(--bar-width), .3rem);background:var(--primary);content:"";position:absolute;inset:0 auto 0 0}.trend-row strong{color:var(--on-surface);text-align:right;font-size:1rem}.trend-row span{color:var(--secondary);text-align:right;font-size:.78rem}.trend-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.25rem;display:grid}.trend-summary span{color:var(--secondary);background:var(--surface-container-low);letter-spacing:.12em;text-transform:uppercase;padding:.8rem;font-size:.68rem;font-weight:800}.trend-summary strong{color:var(--primary);letter-spacing:0;margin-top:.3rem;font-size:1.4rem;font-weight:300;display:block}.chart-strip{background:var(--surface-container-low);grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));align-items:end;gap:.85rem;min-height:12rem;padding:1rem;display:grid}.chart-strip div{grid-template-rows:minmax(7rem,1fr) auto auto;gap:.45rem;min-width:0;display:grid}.chart-strip i{height:var(--bar-height);background:linear-gradient(180deg, var(--primary), var(--primary-container));align-self:end;min-height:.35rem}.chart-strip span,.chart-strip strong{text-align:center;display:block}.chart-strip span{color:var(--secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.chart-strip strong{color:var(--primary);font-size:.82rem}.snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;min-width:0;display:grid}.snapshot-grid div{background:var(--surface-container-low);min-width:0;padding:.85rem}.snapshot-grid span,.report-kpis span{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:800;display:block}.snapshot-grid strong{color:var(--on-surface);margin-top:.35rem;font-size:1.6rem;font-weight:300;display:block}.report-kpis{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.report-kpis span{background:#5700130f;padding:.45rem .6rem}.report-kpis strong{color:var(--primary)}.report-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.4rem;display:grid}.report-card{align-content:space-between;gap:1.3rem;min-width:0;display:grid}.report-card p{color:var(--secondary);margin:0;font-size:.9rem;line-height:1.5}.report-card.featured{color:var(--on-primary);background:var(--primary)}.report-card.featured h3,.report-card.featured p{color:var(--on-primary)}.report-card-heading{justify-content:space-between;gap:1rem;margin-bottom:.75rem;display:flex}.report-card-heading span,.report-card-heading em{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-style:normal;font-weight:800}.report-card-heading em{color:#15803d}.report-card.disabled .report-card-heading em{color:var(--secondary)}.report-card.featured .report-card-heading span,.report-card.featured .report-card-heading em{color:#ffffffc7}.report-card.featured button{color:var(--on-primary);background:#ffffff1a;border-color:#ffffff5c}.report-card button{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:1px solid #8c70713d;padding:.85rem 1rem;font-size:.72rem;font-weight:800}.operations-grid{grid-template-columns:minmax(0,3.4fr) minmax(18rem,1fr);gap:2.5rem;display:grid}.single-view-grid{min-width:0;display:grid}.schedule-card{border-left:4px solid var(--primary);background:var(--surface-container-lowest);min-width:0;min-height:30rem;padding:3rem}.section-heading{justify-content:space-between;align-items:center;gap:1rem;min-width:0;margin-bottom:3rem;display:flex}.section-heading>*{min-width:0;max-width:100%}.compact-heading{margin-bottom:1rem}.section-heading h3{letter-spacing:0;text-transform:uppercase;margin:0;font-size:1.35rem;font-weight:800}.mini-metrics{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.mini-metrics span{color:var(--secondary);background:var(--surface-container-low);letter-spacing:.12em;text-transform:uppercase;padding:.35rem .5rem;font-size:.62rem;font-weight:800}.status-breakdown{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.status-breakdown span{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;background:#5700130f;padding:.3rem .45rem;font-size:.58rem;font-weight:800}.date-controls{gap:1rem}.date-picker{width:8.6rem;color:var(--secondary);background:0 0;border:1px solid #8c70713d;padding:.45rem .55rem;font-size:.72rem;font-weight:700}.today-button{letter-spacing:.12em;text-transform:uppercase;padding:0 .35rem;font-size:.65rem;font-weight:800;width:auto!important;color:var(--primary)!important}.schedule-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;min-width:0;display:flex}.status-filter{background:var(--surface-container-low);gap:.35rem;max-width:100%;padding:.25rem;display:flex;overflow-x:auto}.status-filter button{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;padding:.45rem .7rem;font-size:.65rem;font-weight:800}.status-filter button.active{color:var(--primary);background:var(--surface-container-lowest)}.filter-summary{border-left:3px solid var(--primary);background:var(--surface-container-lowest);color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin:-1.8rem 0 2rem;padding:.85rem 1rem;font-size:.72rem;font-weight:800;display:flex}.filter-summary button{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;font-size:.68rem;font-weight:800}.notification-banner{color:#166534;letter-spacing:.12em;text-transform:uppercase;background:#dcfce7;margin:-1rem 0 2rem;padding:.85rem 1rem;font-size:.72rem;font-weight:800}.export-button{border:1px solid var(--outline);color:var(--primary);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:.55rem .75rem;font-size:.65rem;font-weight:800}.date-controls button{width:2rem;height:2rem;color:var(--secondary);background:0 0;border:0;place-items:center;display:grid}.date-controls strong{letter-spacing:.16em;text-transform:uppercase;font-size:.93rem}.schedule-list{gap:.45rem;display:grid}.schedule-row{width:100%;min-height:5.7rem;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #8c707112;grid-template-columns:2rem 6.5rem minmax(0,1fr) auto;align-items:center;gap:1.55rem;padding:1.1rem 1rem;transition:background .16s;display:grid}.schedule-row:hover{background:var(--surface-container-low)}.schedule-row.selected{box-shadow:inset 4px 0 var(--primary);background:#5700130d}.schedule-row.checked-in{background:#5700130a}.row-select{place-items:center;display:grid}.row-select input,.bulk-select input{accent-color:var(--primary)}.schedule-row time{text-align:right}.schedule-row time strong{font-size:1rem;display:block}.schedule-row time span{color:var(--secondary);text-transform:uppercase;font-size:.7rem}.booking-main{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.booking-main h4{color:var(--primary);overflow-wrap:anywhere;margin:0;font-size:1rem}.checked-in .booking-main h4{color:var(--on-surface)}.booking-main p{color:var(--secondary);overflow-wrap:anywhere;margin:.18rem 0 0;font-size:.9rem}.row-actions{opacity:0;gap:.5rem;transition:opacity .15s}.schedule-row:hover .row-actions{opacity:1}.row-actions button{padding:.55rem .8rem}.row-actions button:first-child{color:var(--on-primary);background:var(--primary)}.row-actions button:last-child{color:var(--secondary);background:0 0;border:1px solid #8c70712e}.booking-actions{gap:.6rem}.action-button{color:var(--primary);background:var(--surface-container-lowest);letter-spacing:.12em;text-transform:uppercase;border:1px solid #8c70712e;border-radius:.2rem;padding:.6rem .8rem;font-size:.72rem;font-weight:800}.row-actions button:disabled,.action-button:disabled{cursor:wait;opacity:.55}.checked-badge{color:#166534;letter-spacing:.12em;text-transform:uppercase;background:#dcfce7;align-items:center;gap:.45rem;padding:.6rem .9rem;font-size:.72rem;font-weight:800;display:inline-flex}.checked-badge .icon{width:1rem;height:1rem}.note-pill{color:var(--primary);letter-spacing:.12em;background:#57001314;padding:.22rem .38rem;font-size:.56rem}.status{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border-left:1px solid #8c707114;align-items:center;gap:.75rem;padding-left:1.25rem;font-size:.72rem;font-weight:800;display:flex}.dot{background:var(--secondary);border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.dot.success,.dot.green,.avatar.green{background:var(--success)}.dot.warning,.dot.amber,.avatar.amber{background:var(--warning)}.dot.progress,.dot.rose,.avatar.rose{background:var(--rose)}.avatar.green,.avatar.amber,.avatar.rose{color:#fff}.empty-slot{color:#c9c3c1;cursor:pointer}.empty-slot:hover{background:#5700130f}.book-slot{color:#c9c3c1;letter-spacing:.14em;text-transform:uppercase;border:1px dashed #8c707138;grid-column:span 2;place-items:center;min-height:2.8rem;font-size:.72rem;font-weight:800;display:grid}.bulk-select{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.45rem;font-size:.65rem;font-weight:800;display:inline-flex}.right-rail{align-content:start;gap:1.5rem;display:grid}.panel{background:var(--surface-container-lowest);padding:1.9rem}.status-panel{background:var(--surface-container)}.map-preview{filter:grayscale();background:linear-gradient(90deg,#0000 49%,#1a1c1c14 50%,#0000 51%),linear-gradient(#0000 49%,#1a1c1c14 50%,#0000 51%),radial-gradient(circle at 54% 48%,#0000 0 2rem,#1a1c1c33 2.05rem 2.12rem,#0000 2.2rem),repeating-linear-gradient(34deg,#f8f8f8 0 .8rem,#ddd .85rem .92rem);height:8.5rem;margin-bottom:1.4rem;position:relative;overflow:hidden}.map-preview:after{color:#1a1c1c73;content:attr(data-label);letter-spacing:.35em;text-align:right;text-transform:uppercase;font-size:.63rem;font-weight:800;position:absolute;bottom:.9rem;right:1rem}.status-panel dl{gap:.85rem;margin:0;display:grid}.status-panel dl div{justify-content:space-between;gap:1rem;font-size:.88rem;display:flex}.status-panel dt{color:var(--secondary)}.status-panel dd{margin:0;font-weight:800}.staff-list{gap:1.1rem;display:grid}.staff-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;display:grid}.staff-row i{width:.44rem;height:.44rem}.directory-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.4rem;min-width:0;display:grid}.view-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;min-width:0;margin-bottom:1rem;display:flex}.view-toolbar .result-meta{margin-right:auto}.result-meta{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:inline-block}.sort-control{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.65rem;font-weight:800;display:inline-flex}.sort-control select{min-width:8rem;color:var(--primary);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #8c70713d;padding:.48rem .6rem;font-size:.68rem;font-weight:800}.capability-note{min-height:2rem;color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#8c707114;align-items:center;padding:0 .65rem;font-size:.62rem;font-weight:800;display:inline-flex}.service-catalog{gap:2rem;display:grid}.staff-card{background:var(--surface-container-lowest);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1.8rem;display:grid}.service-card,.store-card{background:var(--surface-container-lowest);gap:1.3rem;padding:1.8rem;display:grid}.skeleton-card{background:linear-gradient(90deg, transparent, #ffffffb8, transparent) 0 0 / 12rem 100% no-repeat, linear-gradient(var(--surface-container-low), var(--surface-container-low));min-height:14rem;animation:1.2s ease-in-out infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:-12rem 0,0 0}to{background-position:calc(100% + 12rem) 0,0 0}}.staff-card h3,.service-card h3,.store-card h3{color:var(--primary);justify-content:space-between;align-items:center;gap:.75rem;margin:0;font-size:1.05rem;display:flex}.inline-badge{color:#166534;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#dcfce7;justify-content:center;align-items:center;padding:.28rem .45rem;font-size:.58rem;font-weight:800;display:inline-flex}.inline-badge.muted{color:var(--secondary);background:var(--surface-container-low)}.staff-card p{color:var(--secondary);margin:.2rem 0 1.2rem;font-size:.85rem}.service-card p,.store-card p{color:var(--secondary);margin:.35rem 0 0;font-size:.9rem;line-height:1.55}.staff-card dl{grid-column:1/-1;gap:.7rem;margin:0;display:grid}.service-card dl,.store-card dl{gap:.75rem;margin:0;display:grid}.staff-card dl div,.service-card dl div,.store-card dl div{justify-content:space-between;gap:1rem;font-size:.84rem;display:flex}.staff-card dt,.service-card dt,.store-card dt{color:var(--secondary)}.staff-card dd,.service-card dd,.store-card dd{margin:0;font-weight:800}.service-card button,.store-card button{border:1px solid var(--outline);color:var(--primary);letter-spacing:.14em;text-transform:uppercase;background:0 0;padding:.85rem 1rem;font-size:.72rem;font-weight:800}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;display:grid}.settings-panel{background:var(--surface-container-lowest);gap:1.4rem;padding:1.9rem;display:grid}.settings-panel.wide{grid-column:1/-1}.settings-panel h3{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:800}.panel-note{color:var(--secondary);margin:0;font-size:.86rem;line-height:1.55}.settings-panel dl{gap:.85rem;margin:0;display:grid}.settings-panel dl div{justify-content:space-between;gap:1.25rem;min-width:0;font-size:.9rem;display:flex}.settings-panel dt{color:var(--secondary)}.settings-panel dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:800}.settings-panel .secondary-button{justify-self:start}.settings-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.settings-actions label{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.68rem;font-weight:800;display:inline-flex}.settings-actions select{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #8c70713d;padding:.5rem .6rem;font-size:.68rem;font-weight:800}.audit-list{gap:.9rem;display:grid}.audit-row{grid-template-columns:3.6rem minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.audit-row time{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:800}.audit-row strong{color:var(--primary);font-size:.82rem;display:block}.audit-row span{color:var(--secondary);overflow-wrap:anywhere;margin-top:.18rem;font-size:.72rem;line-height:1.45;display:block}.audit-log{background:var(--surface-container-lowest);border-left:4px solid var(--primary);padding:3rem}.audit-table{display:grid}.audit-table-row{border-bottom:1px solid #8c707117;grid-template-columns:12rem minmax(0,1fr) minmax(12rem,.45fr);align-items:start;gap:1.4rem;padding:1.15rem 0;display:grid}.audit-table-row time{color:var(--secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.audit-table-row strong{color:var(--primary);font-size:.92rem;display:block}.audit-table-row span{color:var(--secondary);overflow-wrap:anywhere;margin-top:.2rem;font-size:.82rem;line-height:1.45;display:block}.pagination-bar{color:var(--secondary);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #8c70711a;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;font-size:.78rem;font-weight:800;display:flex}.pagination-bar div{gap:.55rem;display:flex}.pagination-bar button{border:1px solid var(--outline);color:var(--primary);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:.7rem .9rem;font-size:.7rem;font-weight:800}.dashboard-error{color:#93000a;background:#ffdad6;margin:-1.6rem 0 2rem;padding:1rem 1.2rem;font-size:.9rem}.empty-state{color:var(--secondary);text-align:center;place-items:center;gap:.45rem;padding:2.75rem 1rem;display:grid}.empty-state strong{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.empty-state span{max-width:24rem;font-size:.88rem;line-height:1.6}.empty-state.compact{text-align:left;place-items:start;padding:1rem 0}.drawer-layer{z-index:20;pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(24rem,32rem);display:grid;position:fixed;inset:0}.drawer-scrim{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#f9f9f9b3;border:0;width:100%}.booking-drawer{background:var(--surface-container-lowest);pointer-events:auto;flex-direction:column;height:100vh;padding:2.4rem;display:flex;box-shadow:-2rem 0 4rem #1a1c1c14}.drawer-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.drawer-heading span{color:var(--secondary);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:800}.drawer-heading button{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;font-size:.72rem;font-weight:800}.drawer-nav{flex-wrap:wrap;gap:.65rem;margin:-1rem 0 1.5rem;display:flex}.drawer-nav button{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:1px solid #8c70712e;padding:.6rem .75rem;font-size:.68rem;font-weight:800}.booking-drawer h2{color:var(--primary);letter-spacing:0;margin:0;font-size:2.2rem;font-weight:300}.booking-drawer p{color:var(--secondary);margin:.5rem 0 1.5rem;line-height:1.6}.drawer-status{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:.7rem;margin-bottom:2rem;font-size:.72rem;font-weight:800;display:inline-flex}.drawer-list{gap:1rem;margin:0;display:grid}.drawer-list div{background:linear-gradient(#8c70711a,#8c70711a) bottom/100% 1px no-repeat;gap:.25rem;padding:.9rem 0;display:grid}.drawer-list dt{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:800}.drawer-list dd{color:var(--on-surface);margin:0;font-size:.95rem}.drawer-notes{gap:.65rem;margin:1.6rem 0;display:grid}.drawer-notes label{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:800}.drawer-notes textarea{resize:vertical;width:100%;color:var(--on-surface);background:var(--surface-container-low);border:1px solid #8c707138;padding:.9rem;line-height:1.5}.drawer-notes button{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;justify-self:start;font-size:.68rem;font-weight:800}.drawer-action{margin-top:auto;padding:1rem}.create-button{color:var(--on-primary);background:linear-gradient(135deg, var(--primary), var(--primary-container));letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;border-radius:.2rem;padding:.55rem .9rem;font-size:.65rem;font-weight:800}.empty-state .create-button{margin-top:1rem}.form-drawer{overflow-y:auto}.form-loading{color:var(--secondary);font-size:.85rem}.drawer-form{gap:1.1rem;display:grid}.form-field{gap:.45rem;display:grid}.form-field>span{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:800}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--on-surface);background:var(--surface-container-low);font:inherit;border:1px solid #8c707138;border-radius:.2rem;outline:0;padding:.7rem .75rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary)}.form-field textarea{resize:vertical;line-height:1.5}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-hint{color:var(--secondary);font-size:.72rem}.field-error{color:#93000a;font-size:.72rem;font-weight:700}.form-checklist{background:var(--surface-container-low);border:1px solid #8c707138;border-radius:.2rem;gap:.5rem;max-height:12rem;padding:.75rem;display:grid;overflow-y:auto}.form-check{color:var(--on-surface);text-transform:none;letter-spacing:0;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.form-check input{width:auto}.drawer-form .drawer-action{margin-top:.5rem}.login-screen,.loading-screen{background:linear-gradient(90deg, #f3f3f3b3, #f9f9f9e6), var(--surface);place-items:center;min-height:100vh;padding:2rem;display:grid}.loading-screen{color:var(--primary);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:800}.login-panel{background:var(--surface-container-lowest);width:min(100%,30rem);padding:2.5rem;box-shadow:0 1.5rem 4rem #1a1c1c0d}.login-brand{padding:0 0 2rem}.login-copy{margin-bottom:1.8rem}.login-copy h2{color:var(--on-surface);letter-spacing:0;margin:0;font-size:2rem;font-weight:300}.login-copy p,.api-note{color:var(--secondary);margin:.4rem 0 0;font-size:.86rem;line-height:1.6}.login-panel form{gap:1.1rem;display:grid}.login-panel label{gap:.45rem;display:grid}.login-panel label span{color:var(--secondary);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:800}.login-panel input{width:100%;color:var(--on-surface);background:0 0;border:0;border-bottom:2px solid #8c707133;outline:0;padding:.9rem 0}.login-panel input:focus{border-color:var(--primary)}.login-panel .primary-button,.preview-button{width:100%;padding:1rem}.login-panel .primary-button:disabled{cursor:wait;opacity:.65}.form-error{color:#93000a;background:#ffdad6;margin:0;padding:.8rem .9rem;font-size:.84rem}.api-note{word-break:break-word;margin-top:1.5rem}.haven-list{gap:.75rem;display:grid}.haven-list button{width:100%;color:var(--on-surface);background:var(--surface-container-low);text-align:left;border:0;gap:.3rem;padding:1rem;display:grid}.haven-list strong{color:var(--primary)}.haven-list span{color:var(--secondary);font-size:.82rem}@media (prefers-reduced-motion:reduce){.skeleton-card,.trend-loading span{animation:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{body{background:#fff}.sidebar,.topbar,.hero-actions,.filter-summary,.notification-banner,.row-actions,.booking-actions,.drawer-layer,.notification-center,.export-button,.sort-control,.bulk-select,.row-select{display:none!important}.app-shell,.main-shell,.dashboard{background:#fff;width:100%;padding:0;display:block}.stats-grid,.operations-grid,.directory-grid,.settings-grid,.module-grid,.report-grid{grid-template-columns:1fr 1fr}.module-panel.wide{grid-column:1/-1}.schedule-card,.stat-card,.panel,.settings-panel,.module-panel,.report-card,.service-card,.staff-card,.store-card{break-inside:avoid;box-shadow:none}}@media (width<=1180px){.sidebar{flex-basis:16rem}.operations-grid,.module-grid,.metric-list.split{grid-template-columns:1fr}.trend-row{grid-template-columns:1fr;gap:.45rem}.trend-row strong,.trend-row span{text-align:left}.trend-summary{grid-template-columns:1fr 1fr}.right-rail{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.app-shell{display:block}.sidebar{height:auto;padding:1.5rem;position:static}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-footer,.search,.health-pill,.haven-select{display:none}.topbar{flex-direction:column;align-items:flex-start;min-height:auto;padding:1rem 1.5rem}.topbar-left,.topbar-right{width:100%}.topbar-right{justify-content:space-between}.topbar-right nav{flex:1;gap:1rem;padding-bottom:.15rem;overflow-x:auto}.topbar-right nav button{flex:none;font-size:.78rem}.dashboard{padding:2rem 1.5rem}.hero-row h2{font-size:2.25rem}.compact-stats .stat-card strong{font-size:2.05rem}.hero-row,.section-heading{flex-direction:column;align-items:flex-start}.schedule-controls{justify-content:flex-start;width:100%}.status-filter{max-width:100%}.view-toolbar{justify-content:flex-start;align-items:stretch}.view-toolbar .result-meta{width:100%;margin-right:0}.stats-grid,.right-rail,.module-grid,.settings-grid{grid-template-columns:1fr}.notification-center{width:auto;top:4.75rem;left:1rem;right:1rem}.schedule-card{padding:2rem 1rem}.schedule-row{grid-template-columns:4.5rem minmax(0,1fr)}.audit-log{padding:2rem 1rem}.audit-table-row{grid-template-columns:1fr;gap:.45rem}.pagination-bar{flex-direction:column;align-items:stretch}.status{border-left:0;grid-column:2;padding-left:0}.row-actions{display:none}.drawer-layer{grid-template-columns:1fr}.drawer-scrim{display:none}.booking-drawer{width:100%}}@media (width<=580px){.login-screen{align-items:start;padding:0}.login-panel{width:auto;min-height:100vh;padding:3rem 1.5rem}.login-copy p{max-width:19rem}.side-nav{grid-template-columns:1fr 1fr}.topbar-right{flex-direction:column;align-items:flex-start}.topbar-right nav{width:100%}.hero-row h2{font-size:2rem}.hero-actions,.booking-main{flex-direction:column;align-items:stretch}.schedule-row{grid-template-columns:1.5rem minmax(0,1fr);gap:.75rem;padding:1rem 0}.schedule-controls{flex-direction:column;align-items:stretch}.status-filter,.date-controls,.schedule-controls .export-button{width:100%}.status-filter{flex-wrap:wrap;overflow-x:visible}.status-filter button{flex:calc(50% - .35rem)}.date-controls{grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;display:grid}.schedule-row time,.booking-main,.status{grid-column:2}.schedule-row time{text-align:left}.status{white-space:normal;flex-wrap:wrap;gap:.45rem}.refresh-meta{white-space:normal}.hero-actions button{width:100%}.report-grid{grid-template-columns:1fr}.report-card-heading,.notification-heading{flex-direction:column;align-items:flex-start}.notification-summary{grid-template-columns:1fr}.chart-card{grid-template-columns:1fr;align-items:start}.chart-strip{grid-template-columns:repeat(2,minmax(0,1fr));min-height:10rem;padding:.8rem}.trend-summary{grid-template-columns:1fr}.trend-row{border-bottom:1px solid #8c707129;padding-bottom:.75rem}.directory-grid{grid-template-columns:1fr}.sort-control{flex-direction:column;align-items:stretch;width:100%}.sort-control select,.date-picker{width:100%}.snapshot-grid{grid-template-columns:1fr}.notification-center{max-height:calc(100vh - 6.5rem);padding:1rem;top:5.5rem}}.sidebar{padding:1.5rem 1rem}.brand-block h1{font-size:1.1rem}.side-nav button{gap:.7rem;min-height:2.6rem;padding:0 .85rem;font-size:.88rem}.topbar{gap:1.25rem;min-height:3.75rem;padding:.6rem 1.75rem}.dashboard{padding:1.5rem 1.75rem 2rem}.hero-row{gap:1rem;margin-bottom:1.5rem}.hero-row h2{font-size:1.6rem;line-height:1.15}.hero-row p{font-size:.82rem}.filter-summary{margin:-.5rem 0 1rem;padding:.6rem .9rem}.stats-grid{gap:1rem;margin-bottom:1.5rem}.stat-card{min-height:0;padding:1.1rem 1.25rem}.stat-card strong{font-size:1.9rem;line-height:1.1}.compact-stats .stat-card strong{font-size:1.4rem}.operations-grid{gap:1.25rem}.panel,.settings-panel,.module-panel{padding:1.2rem 1.3rem}.panel h3{margin-bottom:1rem}.section-heading h3{font-size:1.05rem}.booking-drawer{padding:1.5rem}.primary-button,.secondary-button,.row-actions button,.export-button,.create-button,.hero-actions button,.status-filter button,.today-button,.drawer-action{letter-spacing:.06em;border-radius:.35rem;min-height:2rem;padding:0 .8rem;font-size:.7rem;font-weight:700;line-height:1}.primary-button{background:var(--primary-container)}.hero-actions button{padding:0 .9rem}.sidebar-footer .primary-button{padding:.6rem}.text-button{letter-spacing:.06em;margin-top:.5rem;font-size:.7rem}.search input{padding:.55rem 3.5rem .55rem 2.6rem;font-size:.75rem}.form-row input,.form-row select,.form-row textarea{min-height:2rem;padding:.4rem .6rem;font-size:.82rem}.brand-block{padding-bottom:1.5rem}.sidebar-haven{width:100%;color:var(--primary);background:var(--surface-container-lowest);font:inherit;border:1px solid #8c70713d;border-radius:.5rem;margin-top:.75rem;padding:.45rem .7rem;font-size:.8rem;font-weight:700;display:block}.sidebar-haven-name{color:var(--primary);margin-top:.6rem;font-size:.8rem;font-weight:700;display:block}.side-nav{grid-template-columns:1fr;gap:1.1rem}.side-nav-group{gap:.15rem;display:grid}.side-nav-label{letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);padding:0 .85rem .35rem;font-size:.62rem;font-weight:800}.topbar-right nav{display:none}@media (width<=900px){.side-nav-group{grid-template-columns:repeat(3,minmax(0,1fr))}.side-nav-label{grid-column:1/-1}.sidebar-haven{max-width:20rem}}@media (width<=580px){.side-nav-group{grid-template-columns:1fr 1fr}}.sidebar{overflow-y:auto}.login-panel.haven-inline{max-width:34rem;margin:0}.hero-row.hero-compact{align-items:center;margin-bottom:1.1rem}.hero-row.hero-compact h2{margin:0;font-size:1.35rem}.hero-row.hero-compact p{margin:.15rem 0 0;font-size:.78rem}.hero-actions .date-controls{margin:0}.status-filter button .count{opacity:.65;margin-left:.35em;font-weight:600}.hero-row.hero-compact{flex-wrap:wrap}.hero-row.hero-compact .hero-title{flex:240px;min-width:0}.hero-row.hero-compact .hero-actions{flex-wrap:wrap;justify-content:flex-end}.status-filter{flex-wrap:wrap}.hero-actions button{min-width:0}.hero-actions .primary-button{min-width:8rem}.hero-actions .date-controls{align-items:center;gap:.4rem;display:flex}.hero-actions .date-controls button{width:2rem;padding:0}.hero-actions .date-controls .today-button{width:auto;padding:0 .6rem}.booking-drawer,.form-drawer{height:100dvh;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overflow-y:auto}.drawer-action{z-index:1;margin-top:auto;position:sticky;bottom:0;box-shadow:0 -12px 16px -12px #1a1c1c40}.drawer-form{flex-direction:column;min-height:0;display:flex}.drawer-error{background:#f43f5e14;border-radius:.5rem;margin:0 0 .75rem;padding:.6rem .8rem}.notification-banner{z-index:60;border-radius:.6rem;max-width:min(28rem,100vw - 2.5rem);margin:0;position:fixed;top:.9rem;right:1.25rem;box-shadow:0 10px 30px #1a1c1c2e}.dot.noshow,.avatar.noshow{background:#7c3aed}.restore-screen{flex-direction:column;gap:1rem}.restore-actions{gap:.6rem;display:flex}.empty-state.error strong{color:#93000a}.empty-state.error button{margin-top:.75rem}.drawer-footer{z-index:1;background:var(--surface-container-lowest);margin-top:auto;padding-top:.75rem;position:sticky;bottom:0;box-shadow:0 -12px 16px -12px #1a1c1c40}.drawer-footer .drawer-action{width:100%;box-shadow:none;position:static}.row-actions{opacity:1}@media (width<=900px){.row-actions{display:flex}}.row-actions button:first-child,.action-button{min-height:1.75rem;padding:0 .6rem;font-size:.66rem}.drawer-secondary-actions{gap:.5rem;margin-top:.5rem;display:flex}.drawer-secondary-actions button{flex:1}.form-toggle{background:var(--surface-container-low);border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.85rem;font-weight:600;display:flex}.form-note{margin:0 0 .75rem}.text-button.inline-link{width:auto;color:var(--primary);letter-spacing:0;text-transform:none;margin:0 0 .75rem;padding:0;font-size:.78rem;text-decoration:underline;display:inline}.login-demo{color:var(--secondary);text-align:center;margin:1rem 0 0;font-size:.85rem}.login-demo .text-button{margin:0;font-size:.85rem}.settings-panel-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.settings-panel-heading h3{margin:0}.specialist-list{gap:.5rem;margin-top:.75rem;display:grid}.specialist-row{background:var(--surface-container-low);border-radius:.6rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.6rem .8rem;display:grid}.specialist-main{gap:.15rem;min-width:0;display:grid}.specialist-main span,.specialist-meta small{color:var(--secondary);font-size:.78rem}.specialist-meta{text-align:right;gap:.15rem;font-size:.8rem;display:grid}.settings-about{background:var(--surface-container-low);color:var(--secondary);border-radius:.6rem;grid-column:1/-1;padding:.6rem .9rem;font-size:.8rem}.settings-about summary{cursor:pointer;font-weight:600}.settings-about dl{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem 1rem;margin:.6rem 0;display:grid}.settings-about dt{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.settings-about dd{margin:0}.dot.progress{background:var(--warning)}.weekly-grid{grid-column:1/-1;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.weekly-grid li{background:var(--surface-container);color:var(--secondary);text-align:center;border-radius:.4rem;gap:2px;padding:.35rem .4rem;font-size:.66rem;display:grid}.weekly-grid li.open{color:#166534;background:#22c55e1f}.weekly-grid li strong{letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.specialist-row{grid-template-columns:auto 1fr auto}.specialist-row .weekly-grid{grid-column:1/-1}.rule-list{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.rule-list li{background:var(--surface-container-low);border-radius:.6rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.rule-list li.inactive{opacity:.6}.rule-list li>div{gap:.1rem;display:grid}.rule-list strong{font-size:.8rem}.rule-list small{color:var(--secondary);font-size:.72rem}.rule-list .text-button{width:auto;margin:0}.hero-row h2 span,.panel h3,.module-panel h3,.section-heading h3,.settings-panel h3,.booking-drawer h2{color:var(--on-surface)}.nav-toggle,.nav-close,.search-toggle,.nav-scrim{display:none}.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";background:currentColor;border-radius:2px;width:18px;height:2px;display:block}.nav-toggle-bars{position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{position:absolute;left:0}.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{top:6px}.brand-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sidebar-haven-search{width:100%;font:inherit;border:1px solid #8c70713d;border-radius:.5rem;margin-top:.6rem;padding:.4rem .6rem;font-size:.8rem;display:block}.schedule-card{padding:1.5rem}.schedule-row{grid-template-columns:2rem 7.5rem minmax(0,1fr) auto;gap:1rem;min-height:4rem;padding:.6rem .9rem}.schedule-row time strong{font-size:.92rem}.schedule-row time span{text-transform:none;letter-spacing:0;font-size:.66rem}.booking-main h4{margin:0;font-size:.92rem}.booking-main p{margin:.15rem 0 0;font-size:.78rem}@media (width<=1360px){.operations-grid{grid-template-columns:1fr}}@media (hover:none) and (pointer:coarse){input,select,textarea,.search input,.platform-filters input,.platform-filters select,.platform-field input,.platform-field select,.platform-field textarea,.platform-setting-control input,.platform-setting-control select,.platform-range input,.form-row input,.form-row select,.form-row textarea{font-size:16px}button,.primary-button,.secondary-button,.icon-button,.row-actions button,.action-button,.status-filter button,.date-controls button,.today-button,.drawer-heading button,.drawer-nav button,.platform-nav button,.platform-subnav-tabs button,.platform-range-presets button,.platform-pagination button,.platform-filter-chip,.cell-actions button,.rule-list .text-button,.side-nav button{min-height:44px}.icon-button,.date-controls button,.drawer-heading button,.nav-toggle,.search-toggle{min-width:44px}.row-select,.platform-table input[type=checkbox]{place-items:center;min-width:44px;min-height:44px;display:inline-grid}input[type=checkbox]{width:22px;height:22px}.text-button.inline-link{align-items:center;min-height:44px;display:inline-flex}}@media (width<=900px){.app-shell{display:block}.nav-toggle,.search-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-close{background:var(--surface-container);width:2.25rem;height:2.25rem;color:var(--secondary);border:0;border-radius:999px;place-items:center;font-size:1.2rem;display:inline-grid}.nav-scrim{z-index:44;background:#1a1c1c66;border:0;display:block;position:fixed;inset:0}.sidebar{z-index:45;width:min(20rem,86vw);height:100dvh;padding:1.25rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--surface-container-lowest);flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-104%);box-shadow:1rem 0 3rem #1a1c1c33}.sidebar.open{transform:none}.side-nav,.side-nav-group{grid-template-columns:1fr}.sidebar-footer{margin-top:auto;display:block}.sidebar-haven{max-width:none;display:block}.topbar{flex-flow:row;align-items:center;gap:.5rem;min-height:3.5rem;padding:.4rem .9rem}.topbar-left,.topbar-right{width:auto}.topbar-left{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.topbar-right{flex:none;justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.search{display:none}.search.open{z-index:6;width:auto;display:block;position:absolute;top:3.5rem;left:.75rem;right:.75rem}.search.open input{background:var(--surface-container-lowest);padding:.6rem 3.5rem .6rem 2.6rem;box-shadow:0 10px 30px #1a1c1c26}.health-pill{padding:.35rem .6rem;font-size:.62rem;display:inline-flex}.dashboard{padding:.9rem .9rem 1.5rem}.hero-row{flex-flow:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem}.hero-row h2{font-size:1.15rem;line-height:1.2}.hero-row p{display:none}.hero-actions{flex-wrap:wrap;gap:.4rem}.hero-actions .refresh-meta{display:none}.filter-summary{margin:0 0 .6rem}.stats-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.6rem;margin-bottom:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.stat-card{scroll-snap-align:start;flex:0 0 10.5rem;min-height:0;padding:.7rem .85rem}.stat-card strong{font-size:1.35rem}.stat-card p{font-size:.7rem}.schedule-card{padding:1rem}.schedule-row{grid-template-columns:1.75rem 6.5rem minmax(0,1fr);gap:.6rem;padding:.6rem .5rem}.schedule-row .status{grid-column:2/-1;justify-self:start}.booking-main{min-width:0}.booking-main h4{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.booking-main p{white-space:normal}.row-actions{display:flex}}@media (width<=580px){.sidebar{width:min(19rem,88vw)}.topbar-left>strong{font-size:.9rem}.schedule-row{grid-template-columns:1.5rem 5.5rem minmax(0,1fr);gap:.5rem;padding:.55rem 0}.stat-card{flex-basis:9.5rem}}@media (width<=900px){.topbar-right{flex-direction:row;align-items:center}.topbar-right .icon-button{margin:0}.hero-actions .secondary-button,.hero-actions .refresh-meta{display:none}.hero-actions .primary-button{min-height:2rem;padding:0 .7rem;font-size:.64rem}.date-controls,.date-navigator{flex-wrap:nowrap;gap:.25rem}.date-controls strong{letter-spacing:.06em;font-size:.72rem}.section-heading{flex-direction:column;align-items:stretch;gap:.5rem}.section-heading h3{font-size:.95rem}.schedule-controls{flex-flow:wrap;align-items:center;gap:.4rem}.status-filter{scrollbar-width:none;flex-wrap:nowrap;flex:100%;gap:.25rem;padding:.2rem;display:flex;overflow-x:auto}.status-filter::-webkit-scrollbar{display:none}.status-filter button{white-space:nowrap;flex:none;padding:.35rem .6rem}.schedule-controls .export-button,.schedule-controls .bulk-select{display:none}.schedule-controls .sort-control{flex:auto}.schedule-controls .create-button{flex:none;min-height:2rem}.schedule-row{grid-template-columns:1.5rem 4.75rem minmax(0,1fr);align-items:start;min-height:0;padding:.55rem .25rem}.schedule-row time{text-align:left}.schedule-row time strong{font-size:.85rem}.schedule-row time span{font-size:.62rem;display:block}.booking-main{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.booking-actions,.row-actions{margin:0}.schedule-row .status{grid-column:3;justify-self:start;font-size:.66rem}}@media (width<=580px){.schedule-row{grid-template-columns:1.4rem 4.25rem minmax(0,1fr)}}@media (width<=900px){.date-controls>strong{display:none}.hero-row{row-gap:.35rem}.hero-row h2{flex:100%}.hero-actions{margin-left:auto}.hero-actions .primary-button{min-height:2.25rem;padding:0 .6rem;font-size:.6rem}.stat-card{flex-basis:9.75rem;padding:.55rem .7rem}.stat-card strong{font-size:1.2rem}.stat-card p{margin-top:.15rem;font-size:.64rem}.section-heading>div:first-child{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.schedule-controls .sort-control{flex:8rem;align-items:center;gap:.4rem;display:flex}.schedule-controls .create-button{margin-left:auto}.schedule-row{grid-template-rows:auto auto;grid-template-columns:2.75rem 4.5rem minmax(0,1fr);row-gap:.25rem}.schedule-row .row-select{grid-row:1/span 2;align-self:start}.schedule-row time{grid-row:1/span 2}.schedule-row .booking-main{grid-area:1/3}.schedule-row .status{grid-area:2/3;margin-top:0}.schedule-row.empty-slot{grid-template-rows:auto}.hero-actions{flex-flow:row;flex:100%;justify-content:space-between;align-items:center;gap:.4rem;margin-left:0}.hero-actions .date-controls{flex:auto;min-width:0}.hero-actions .date-picker{width:8.5rem;min-width:0}.hero-actions .primary-button{flex:none;width:auto}.booking-actions{flex-wrap:wrap;gap:.35rem}.checked-badge{white-space:nowrap;padding:.3rem .5rem;font-size:.62rem}}@media (width<=580px){.hero-actions .today-button{display:none}.hero-actions .primary-button{padding:0 .5rem;font-size:.56rem}}@media (width<=900px){.hero-row .hero-actions{flex-wrap:nowrap}.hero-row .hero-actions .date-controls{flex:1 1 0;justify-content:flex-start;width:auto;min-width:0}.hero-row .hero-actions .date-controls button{min-width:36px}.hero-row .hero-actions .date-picker{width:7.25rem}}.media-panel h4{color:var(--primary);margin:0 0 .6rem;font-size:.9rem}.media-help,.media-meta{color:var(--secondary);margin:0 0 1rem;font-size:.8rem}.media-meta{margin:0}.media-notice{color:var(--success-text,#1f6b3a);margin:0 0 .8rem;font-size:.82rem}.media-hero-row{grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:1.4rem;display:grid}.media-hero-preview{aspect-ratio:4/3;background:var(--surface-container-low);border-radius:12px;overflow:hidden}.media-hero-preview img{object-fit:cover;width:100%;height:100%;display:block}.media-hero-preview.empty{color:var(--secondary);border:1px dashed var(--outline-variant);place-items:center;font-size:.8rem;display:grid}.media-hero-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.media-gallery-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.media-gallery-head h4{margin:0}.media-count{color:var(--secondary);margin-left:.4rem;font-weight:500}.media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.media-thumb{gap:.4rem;display:grid}.media-thumb img{aspect-ratio:1;object-fit:cover;background:var(--surface-container-low);border-radius:10px;width:100%;display:block}.media-caption{border:1px solid var(--outline-variant);width:100%;font:inherit;border-radius:8px;padding:.35rem .5rem;font-size:.78rem}.media-thumb-actions{justify-content:space-between;gap:.3rem;display:flex}.media-thumb-actions .icon-button{width:2rem;height:2rem;font-size:.85rem}.media-thumb-actions .icon-button.danger{color:#b3261e}.media-skeleton{min-height:120px}.staff-avatar-block{justify-items:center;gap:.35rem;display:grid}.staff-avatar-block .avatar{flex-basis:3.25rem;width:3.25rem;height:3.25rem;overflow:hidden}.avatar.has-image{background:var(--surface-container-low)}.avatar.has-image img{object-fit:cover;width:100%;height:100%}.staff-avatar-actions{text-align:center;gap:.1rem;display:grid}.link-button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;font-weight:600}.link-button:disabled{color:var(--secondary);cursor:default}@media (width<=640px){.media-hero-row{grid-template-columns:1fr}}.platform-console{gap:14px;display:grid}.platform-nav{background:var(--surface-container);border-radius:14px;flex-wrap:wrap;gap:6px;padding:6px;display:flex}.platform-nav button{color:var(--secondary);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.platform-nav button:hover{color:var(--on-surface)}.platform-nav button.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:0 1px 2px #0000000f}.platform-view{gap:14px;display:grid}.platform-grid{align-items:start}.platform-panel-heading{align-items:flex-start;gap:16px}.platform-panel-description{color:var(--secondary);margin:4px 0 0;font-size:.85rem;line-height:1.5}.platform-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.platform-muted{color:var(--secondary);margin:0;font-size:.9rem}.positive{color:#15803d;font-weight:600}.negative{color:#b91c1c;font-weight:600}.platform-stats{margin:0}.platform-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);font-size:.72rem;font-weight:700;display:block}.platform-stat strong{margin-top:8px;display:block}.platform-stat p{color:var(--secondary);margin:6px 0 0;font-size:.82rem;line-height:1.5}.platform-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--surface-container-high);color:var(--secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.platform-badge.success{color:#15803d;background:#22c55e24}.platform-badge.warning{color:#b45309;background:#f59e0b29}.platform-badge.danger{color:#be123c;background:#f43f5e24}.platform-badge.muted{background:var(--surface-container-high);color:var(--secondary)}.platform-health-strip{background:var(--surface-container-low);border-radius:14px;gap:12px;margin-top:8px;padding:14px 16px;display:grid}.platform-health-status{color:var(--secondary);align-items:center;gap:10px;font-size:.9rem;display:flex}.platform-health-checks{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.platform-health-checks li{background:var(--surface-container-lowest);border-radius:10px;grid-template-columns:10px 1fr;align-items:center;gap:4px 10px;padding:10px 12px;font-size:.82rem;display:grid}.platform-health-checks li i{background:var(--success);border-radius:50%;grid-row:span 2;width:10px;height:10px}.platform-health-checks li.unhealthy i{background:var(--rose)}.platform-health-checks li strong{font-size:.82rem}.platform-health-checks li span{color:var(--secondary)}.platform-status-mix{gap:12px;margin:0;padding:0;list-style:none;display:grid}.platform-status-mix-label{align-items:center;gap:10px;margin-bottom:6px;font-size:.85rem;display:flex}.platform-status-mix-label span{color:var(--secondary)}.platform-bar{background:var(--surface-container-high);border-radius:999px;height:8px;overflow:hidden}.platform-bar i{background:var(--primary-container);border-radius:999px;height:100%;transition:width .3s;display:block}.platform-bar i.tone-completed{background:var(--success)}.platform-bar i.tone-confirmed{background:var(--primary-container)}.platform-bar i.tone-in_progress,.platform-bar i.tone-pending{background:var(--warning)}.platform-bar i.tone-cancelled{background:var(--outline)}.platform-kv{gap:10px;margin:0;padding:0;list-style:none;display:grid}.platform-kv li{background:var(--surface-container-low);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;font-size:.85rem;display:grid}.platform-kv li span{color:var(--secondary)}.platform-definitions{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;margin:0;display:grid}.platform-definitions div{gap:4px;display:grid}.platform-definitions dt{letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);font-size:.72rem;font-weight:700}.platform-definitions dd{overflow-wrap:anywhere;margin:0;font-size:.9rem}.platform-range{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.platform-range label{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);gap:4px;font-size:.72rem;font-weight:700;display:grid}.platform-range input,.platform-filters input,.platform-filters select,.platform-field input,.platform-field select,.platform-field textarea{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface);font:inherit;border-radius:8px;padding:6px 9px;font-size:.84rem}.platform-range-presets{background:var(--surface-container);border-radius:10px;padding:3px;display:inline-flex}.platform-range-presets button{color:var(--secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 10px;font-size:.8rem;font-weight:600}.platform-range-presets button.active{background:var(--surface-container-lowest);color:var(--primary)}.platform-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.platform-filters label{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);gap:4px;font-size:.72rem;font-weight:700;display:grid}.platform-filters input[type=search],.platform-filters input[type=text]{min-width:220px}.platform-table-wrap{border:1px solid var(--surface-container-high);border-radius:12px;overflow-x:auto}.platform-table{border-collapse:collapse;width:100%;font-size:.82rem}.platform-table th,.platform-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--surface-container-high);padding:8px 12px}.platform-table th{background:var(--surface-container-low);letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);white-space:nowrap;font-size:.7rem;font-weight:700}.platform-table tbody tr:last-child td{border-bottom:0}.platform-table tbody tr.clickable{cursor:pointer}.platform-table tbody tr.clickable:hover{background:var(--surface-container-low)}.platform-table .align-right{text-align:right;white-space:nowrap}.platform-table .cell-primary{font-weight:600;display:block}.platform-table .cell-secondary{color:var(--secondary);font-size:.78rem;display:block}.platform-table .cell-actions{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.platform-table code{background:var(--surface-container);border-radius:6px;padding:1px 6px;font-size:.78rem}.platform-pagination{color:var(--secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:.82rem;display:flex}.platform-pagination>div{align-items:center;gap:8px;display:flex}.platform-page-indicator{text-align:center;min-width:90px}.platform-loading{gap:10px;display:grid}.platform-loading-row{background:linear-gradient(90deg, var(--surface-container) 25%, var(--surface-container-high) 50%, var(--surface-container) 75%);background-size:200% 100%;border-radius:10px;height:44px;animation:1.4s infinite platform-shimmer}@keyframes platform-shimmer{to{background-position:-200% 0}}.platform-empty{margin:0}.platform-error{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.platform-request-id{opacity:.8;font-size:.75rem}.platform-form{gap:14px;display:grid}.platform-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.platform-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);font-size:.72rem;font-weight:700}.platform-field.has-error input,.platform-field.has-error select,.platform-field.has-error textarea{border-color:var(--rose)}.platform-field textarea{resize:vertical;min-height:84px}.platform-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.platform-form-section{background:var(--surface-container-low);border-radius:12px;gap:10px;padding:12px;display:grid}.platform-form-section>h4{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin:0;font-size:.8rem}.primary-button.danger{background:linear-gradient(135deg,#9f1239,#be123c)}.platform-dialog-layer,.platform-drawer-layer{z-index:60;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.platform-drawer-layer{justify-content:flex-end}.platform-dialog-scrim{background:#1a1c1c73;position:absolute;inset:0}.platform-dialog{background:var(--surface-container-lowest);border-radius:18px;gap:12px;width:min(480px,100vw - 32px);padding:24px;display:grid;position:relative;box-shadow:0 24px 60px #00000040}.platform-dialog h3{margin:0}.platform-dialog p{color:var(--secondary);margin:0;line-height:1.5}.platform-dialog-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.platform-drawer{background:var(--surface-container-lowest);grid-template-rows:auto 1fr;width:min(560px,100vw);height:100%;display:grid;position:relative;overflow:hidden;box-shadow:-16px 0 48px #0003}.platform-drawer.wide{width:min(820px,100vw)}.platform-drawer-heading{border-bottom:1px solid var(--surface-container-high);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 12px;display:flex}.platform-drawer-heading h3{margin:0}.platform-drawer-heading p{color:var(--secondary);margin:4px 0 0;font-size:.85rem}.platform-drawer-body{align-content:start;gap:14px;padding:16px 20px 24px;display:grid;overflow-y:auto}.platform-inline-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.platform-inline-list li{background:var(--surface-container-low);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;display:flex}.platform-chip-row{flex-wrap:wrap;gap:6px;display:flex}@media (width<=720px){.platform-nav button{flex:auto;padding:8px 10px;font-size:.78rem}.platform-panel-actions{width:100%;margin-left:0}.platform-kv li{grid-template-columns:1fr;gap:4px}}@media print{.platform-nav,.platform-panel-actions,.platform-pagination{display:none}}.platform-subnav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-subnav-tabs{background:var(--surface-container);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.platform-subnav-tabs button{color:var(--secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:.82rem;font-weight:600}.platform-subnav-tabs button.active{background:var(--surface-container-lowest);color:var(--primary)}.platform-drawer-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.platform-status-actions{flex-wrap:wrap;gap:6px;display:flex}.secondary-button.danger-text{color:#be123c;border-color:#be123c66}.platform-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.platform-section-heading h4{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin:0;font-size:.8rem}.platform-subheading{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin:0 0 8px;font-size:.78rem}.platform-form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.platform-wizard-steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.platform-wizard-steps button{border:1px solid var(--surface-container-high);background:var(--surface-container-lowest);color:var(--secondary);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:.8rem;font-weight:600;display:inline-flex}.platform-wizard-steps button:disabled{cursor:default;opacity:.6}.platform-wizard-steps button span{background:var(--surface-container-high);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;display:inline-grid}.platform-wizard-steps li.active button{border-color:var(--primary-container);color:var(--primary)}.platform-wizard-steps li.active button span{background:var(--primary-container);color:var(--on-primary)}.platform-wizard-steps li.done button span{background:var(--success);color:#fff}.platform-list-editor{gap:10px;display:grid}.platform-list-item{background:var(--surface-container-lowest);border:1px solid var(--surface-container-high);border-radius:10px;grid-template-columns:1fr auto;align-items:start;gap:10px;padding:12px;display:grid}.platform-checkbox-group{border:1px solid var(--surface-container-high);border-radius:10px;flex-wrap:wrap;gap:8px 14px;margin:0;padding:10px 12px;display:flex}.platform-checkbox-group legend{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);padding:0 6px;font-size:.72rem;font-weight:700}.platform-checkbox-group label{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.platform-details summary{cursor:pointer;color:var(--primary);font-size:.85rem;font-weight:600}.platform-details pre{background:var(--surface-container);border-radius:10px;max-height:320px;padding:12px;font-size:.75rem;overflow:auto}.module-note ul{margin:6px 0 0;padding-left:18px}.platform-field{grid-template-columns:1fr;align-items:start;gap:4px;display:grid}.platform-field>label{margin:0}.platform-chip-row{align-items:center}.platform-chip-row .text-button,.platform-inline-list .text-button{width:auto;padding:2px 6px;display:inline-flex}.platform-flags{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:8px;display:grid}.platform-flag{border:1px solid var(--surface-container-high);background:var(--surface-container-lowest);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.platform-flag.off{background:#f43f5e0d;border-color:#f43f5e59}.platform-flag p{color:var(--secondary);margin:8px 0 4px;font-size:.85rem;line-height:1.5}.platform-flag button{flex-shrink:0}.platform-settings-list{gap:10px;display:grid}.platform-setting{background:var(--surface-container-low);border:1px solid #0000;border-radius:12px;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:14px 20px;padding:14px;display:grid}.platform-setting.dirty{border-color:var(--warning)}.platform-setting.has-error{border-color:var(--rose)}.platform-setting-meta{gap:6px;min-width:0;display:grid}.platform-setting-meta label{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:700}.platform-setting-meta p{margin:0;font-size:.85rem;line-height:1.5}.platform-setting-control{align-content:start;gap:6px;display:grid}.platform-setting-control input,.platform-setting-control select{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface);font:inherit;border-radius:8px;padding:6px 9px;font-size:.88rem}.platform-savebar{background:var(--surface-container-lowest);color:var(--secondary);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:.85rem;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 30px #0000001f}@media (width<=720px){.platform-setting{grid-template-columns:1fr}}.platform-panel.nested{background:var(--surface-container-low);box-shadow:none;padding:14px}.platform-inline-select{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);gap:4px;font-size:.72rem;font-weight:700;display:inline-grid}.platform-inline-select select{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);font:inherit;text-transform:none;letter-spacing:0;border-radius:8px;padding:7px 10px;font-size:.85rem}.platform-exception{overflow-wrap:anywhere;max-width:360px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;display:block}.text-button.danger-text{color:#be123c}.text-button.inline{width:auto;font-size:inherit;color:var(--primary);margin:0;padding:0;text-decoration:underline;display:inline}.platform-qr{justify-items:start;gap:10px;display:grid}.platform-qr-image{border:1px solid var(--surface-container-high);background:#fff;border-radius:12px;width:220px;height:220px;padding:10px}.platform-qr-image svg{width:100%;height:100%;display:block}.platform-qr-placeholder{border:1px dashed var(--outline-variant);width:220px;height:220px;color:var(--secondary);text-align:center;border-radius:12px;place-items:center;padding:12px;font-size:.85rem;display:grid}.platform-pairing-code{gap:10px;display:grid}.platform-pairing-code strong{letter-spacing:.18em;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem}.platform-pairing-code p{margin:0;line-height:1.5}.platform-events{gap:8px;margin:0;padding:0;list-style:none;display:grid}.platform-events li{background:var(--surface-container-low);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px;font-size:.85rem;display:grid}.platform-events time{color:var(--secondary);white-space:nowrap;font-size:.78rem}@media (width<=720px){.platform-events li{grid-template-columns:1fr;gap:4px}}.platform-json{background:var(--surface-container);border-radius:10px;max-height:360px;margin:0;padding:12px;font-size:.78rem;line-height:1.5;overflow:auto}.platform-nowrap{white-space:nowrap}.platform-wa-callout{border-left:4px solid var(--warning);margin:0}.platform-qr-image,.platform-qr-placeholder{width:260px;height:260px}.platform-tab-dot{background:var(--rose);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.platform-quick{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.platform-quick-search{flex:320px;align-items:flex-end;gap:8px;display:flex}.platform-quick-search label{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);flex:1;gap:4px;font-size:.72rem;font-weight:700;display:grid}.platform-quick-search input{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);font:inherit;text-transform:none;letter-spacing:0;border-radius:8px;padding:6px 9px;font-size:.84rem}.platform-quick-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.platform-flag-chip{border:1px solid var(--surface-container-high);background:var(--surface-container-lowest);color:var(--secondary);font:inherit;cursor:pointer;border-radius:999px;padding:5px 10px;font-size:.74rem}.platform-flag-chip strong{margin-left:2px}.platform-flag-chip.on strong{color:#15803d}.platform-flag-chip.off{border-color:#f43f5e66}.platform-flag-chip.off strong{color:#be123c}.platform-badge{padding:2px 8px;font-size:.66rem}.platform-pairing-progress{border-left:4px solid var(--warning);align-items:center;gap:14px;display:flex}.platform-pairing-progress p{color:var(--secondary);margin:4px 0 0;font-size:.85rem}.platform-spinner{border:3px solid var(--surface-container-high);border-top-color:var(--primary-container);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.9s linear infinite platform-spin}@keyframes platform-spin{to{transform:rotate(360deg)}}.platform-dialog-layer,.platform-drawer-layer{pointer-events:auto}.platform-input-row{align-items:center;gap:8px;display:flex}.platform-input-row input{flex:1;min-width:0}.platform-input-row .text-button{white-space:nowrap;width:auto;margin:0;padding:0 6px}.platform-credentials{background:#22c55e0f;border:1px solid #22c55e59;border-radius:12px;gap:10px;padding:14px;display:grid}.platform-credentials code{background:var(--surface-container-lowest);-webkit-user-select:all;user-select:all;border-radius:6px;padding:2px 8px;font-size:.9rem}.platform-next-steps ol{gap:8px;margin:0;padding-left:20px;display:grid}.platform-next-steps li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;display:flex}.platform-filter-chip{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:-2px -4px;padding:2px 4px;display:inline-grid}.platform-filter-chip:hover{background:var(--surface-container)}.platform-filter-chip.active{background:#57001314;outline:1px solid #57001340}.platform-stat.danger{background:#f43f5e0d;border:1px solid #f43f5e73}.platform-stat.danger strong{color:#be123c}.platform-drawer-body>.platform-form-actions,.platform-drawer-body>form>.platform-form-actions,.platform-drawer-body>.platform-form>.platform-form-actions,.platform-drawer-body>section>.platform-form-actions:last-child{z-index:2;padding:10px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface-container-lowest);margin:0 -20px -24px;position:sticky;bottom:-24px;box-shadow:0 -12px 16px -12px #1a1c1c40}.platform-drawer-body{padding-bottom:24px}@media (width<=580px){.platform-drawer{width:100vw}.platform-table-wrap{max-height:70vh;overflow:auto}.platform-table thead th{z-index:1;background:var(--surface-container-low);position:sticky;top:0}.platform-table th,.platform-table td{vertical-align:middle;padding:6px 8px;font-size:.74rem}.platform-table td:first-child,.platform-table th:first-child{width:45%;min-width:45%}.platform-table .cell-secondary{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;display:-webkit-box;overflow:hidden}.platform-table tbody td>*{max-height:84px;overflow:hidden}.platform-table .cell-actions{flex-direction:column;align-items:flex-end;gap:2px}.platform-nav button{padding:8px 10px}.platform-stats{scroll-snap-type:x mandatory;gap:8px;display:flex;overflow-x:auto}.platform-stats .platform-stat{scroll-snap-align:start;flex:0 0 10.5rem}}.category-thumb{background:var(--surface-muted,#f2f2f2);border:1px solid var(--border,#e4e4e4);border-radius:8px;width:56px;height:40px;display:block;overflow:hidden}.category-thumb img{object-fit:cover;width:100%;height:100%;display:block}.category-thumb.empty{background-image:repeating-linear-gradient(45deg,#f6f6f6 0 6px,#efefef 6px 12px)}
