:root {
  --bg: #f6f7fb; --surface: #ffffff; --surface-2: #f1f3f8; --text: #171a22; --muted: #6e7480;
  --border: #e3e6ed; --accent: #7a4cff; --accent-soft: #efe9ff; --success: #1f9d67;
  --warning: #ca7a16; --danger: #c94b5b; --shadow: 0 12px 32px rgba(29,33,48,.08); --radius: 18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.45}button,select,input{font:inherit}button,select,input{min-height:42px}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b89cff;outline-offset:3px}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;background:#11131a;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#11131a;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:28px;min-width:0}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#9a78ff,#6a3fff);font-weight:800}.brand strong,.brand span{display:block}.brand span{color:#aeb4c0;font-size:12px;margin-top:3px}.nav{display:grid;gap:7px;min-width:0}.nav button{border:0;background:transparent;color:#c8ccd5;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.nav button:hover,.nav button.active{background:#20232d;color:#fff}.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid #2b2f3a;color:#aeb4c0;font-size:12px;display:grid;grid-template-columns:14px minmax(0,1fr);gap:6px 8px;align-items:center;min-width:0}.sidebar-footer .status-dot{grid-column:1;grid-row:1}.sidebar-footer #role-status{grid-column:2;grid-row:1;color:#fff;font-weight:700;min-width:0;overflow-wrap:anywhere}.sidebar-footer .auth-account{grid-column:1/-1;grid-row:2;display:block;min-width:0;max-width:100%;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.sidebar-footer .exit-demo{margin:8px 0 0;padding:4px 0;min-height:0;width:max-content;max-width:100%;font-size:11px;white-space:normal;text-align:left}.sidebar-footer .exit-demo[onclick*="resetDemoData"]{grid-column:1/2;grid-row:3}.sidebar-footer .exit-demo[onclick*="exitDemo"]{grid-column:2/3;grid-row:3;justify-self:end}.status-dot{width:8px;height:8px;border-radius:50%;background:#46cf89}.main{min-width:0}.topbar{padding:28px 32px 18px;display:flex;justify-content:space-between;align-items:end;gap:24px;position:sticky;top:0;z-index:5;background:rgba(246,247,251,.92);backdrop-filter:blur(12px)}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}h1{margin:0;font-size:30px}.selectors{display:flex;gap:12px;flex-wrap:wrap}.selectors label{display:grid;gap:5px}.selectors span{color:var(--muted);font-size:11px}select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 32px 9px 11px}.content{padding:14px 32px 40px}.hero{background:linear-gradient(135deg,#1a1d26,#29213c);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center}.hero p{color:#d7d4df;max-width:680px}.hero .market-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px}.market-card span{display:block;color:#c9c5d2;font-size:12px;margin-bottom:5px}.market-card strong{font-size:22px}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 4px 14px rgba(29,33,48,.03)}.card .label{color:var(--muted);font-size:12px}.card .value{font-size:28px;font-weight:750;margin-top:8px}.card .delta{font-size:12px;color:var(--success);margin-top:5px}.two-col{grid-template-columns:1.15fr .85fr;margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-title h2{font-size:16px;margin:0}.section-title span{font-size:12px;color:var(--muted)}.list{display:grid;gap:10px}.list-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:11px}.list-row strong,.list-row span{display:block}.list-row span{color:var(--muted);font-size:12px;margin-top:2px}.pill{padding:5px 9px;border-radius:999px;background:var(--surface-2);font-size:11px;white-space:nowrap}.pill.success{background:#e9f8f1;color:var(--success)}.pill.warning{background:#fff4e5;color:var(--warning)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.empty-state{text-align:center;padding:60px 20px}.empty-state h2{margin:0 0 8px}.empty-state p,.muted{color:var(--muted)}
.primary{border:0;background:var(--accent);color:#fff;padding:9px 13px;border-radius:10px;cursor:pointer}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:8px 0 18px}.day{border:1px solid var(--border);background:var(--surface);padding:10px 6px;border-radius:12px;cursor:pointer}.day span,.day strong{display:block}.day span{color:var(--muted);font-size:11px}.day strong{font-size:17px;margin-top:3px}.day.active{background:var(--accent);color:#fff;border-color:var(--accent)}.day.active span{color:#e9e2ff}.calendar-grid{display:grid;grid-template-columns:64px repeat(3,minmax(150px,1fr));gap:8px;overflow-x:auto}.time-col,.staff-col{display:grid;grid-template-rows:48px repeat(8,58px);gap:6px}.time-col span{display:flex;align-items:center;color:var(--muted);font-size:11px}.time-col span:first-child{visibility:hidden}.staff-head{padding:7px 9px;background:var(--surface-2);border-radius:10px;overflow:hidden}.staff-head strong,.staff-head span{display:block}.staff-head span{font-size:10px;color:var(--muted);margin-top:2px}.slot{border-radius:10px;padding:7px 9px;text-align:left}.slot strong,.slot span{display:block}.slot span{font-size:10px;margin-top:2px}.slot.booked{background:var(--accent-soft);border:1px solid #dccfff}.slot.booked span{color:#67529d}.slot.available{background:#fff;border:1px dashed #ccd1db;cursor:pointer;color:var(--text)}.slot.available:hover{border-color:var(--accent);background:#faf8ff}.slot.available span{color:var(--success)}.booking-panel{align-self:start;position:sticky;top:110px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:13px}.summary-row span{color:var(--muted)}.notice{margin-top:16px;padding:12px;border-radius:12px;font-size:12px}.notice.success{background:#e9f8f1;color:#176b49}.notice.accent{background:var(--accent-soft);color:#5d3cb8}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.hero,.calendar-layout{grid-template-columns:1fr}.booking-panel{position:static}.calendar-grid{grid-template-columns:64px repeat(3,180px)}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:16px;gap:16px;width:100%;max-width:100%;min-width:0}.nav{grid-template-columns:repeat(4,minmax(112px,1fr));overflow-x:auto;padding-bottom:4px;width:100%;max-width:100%;min-width:0}.nav button{white-space:nowrap;font-size:12px}.sidebar-footer{display:none}.topbar{position:static;padding:20px 18px 12px;align-items:flex-start;flex-direction:column}.selectors{width:100%;display:grid;grid-template-columns:1fr 1fr}.selectors label,.selectors select{width:100%}.content{padding:10px 18px 28px}.kpi-grid{grid-template-columns:1fr}.day-strip{grid-template-columns:repeat(7,58px);overflow-x:auto}.calendar-grid{grid-template-columns:56px repeat(3,170px)}.list-row{grid-template-columns:auto minmax(0,1fr)}.list-row .pill{grid-column:2;justify-self:start}.section-title{align-items:flex-start;flex-direction:column}.hero,.portal-banner,.customer-hero{padding:22px}.card{padding:16px}}
@media(max-width:480px){h1{font-size:26px}.selectors{grid-template-columns:1fr}.login-card{border-radius:20px}.content{padding-left:12px;padding-right:12px}.topbar{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
