/* WDS Reception — shared HotelOps geometry and typography, receptionist identity. */
:root {
  color-scheme: dark;
  --cyan:#10dca4; --blue:#00bbd0; --brand:var(--cyan); --accent-cyan:var(--blue);
  --brand-soft:color-mix(in srgb,var(--brand) 12%,#0d1524); --brand-soft-text:var(--brand);
  --text-inverse:#06231d; --brand-ring:color-mix(in srgb,var(--brand) 28%,transparent);
  --bg:#060912; --surface-inset:#0a1120; --surface:#0d1524; --surface-2:#111b2c; --surface-3:#16233a;
  --panel:var(--surface); --border:#1e2a3e; --border-strong:#2b3b54; --line:var(--border);
  --text:#f7fbff; --text-secondary:#c6d2e0; --text-muted:#a7b4c6; --muted:var(--text-muted);
  --danger:#ff9b9b; --critical-soft:#2e1414; --warning:#ffd84d; --shadow:none;
  --sidebar-w:248px; --topbar-h:64px; --radius:8px;
  --font-sans:"Sansation",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Orbitron",ui-sans-serif,system-ui,sans-serif;
  --font-mono:ui-monospace,"SF Mono","Cascadia Mono",monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--bg);scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
a{color:var(--brand)}
.topbar{height:var(--topbar-h);min-height:var(--topbar-h);padding:0 28px;gap:20px;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:none;box-shadow:none;position:sticky;top:0;z-index:20}
.topbar>div:first-child{gap:12px;min-width:0;flex-wrap:nowrap}
.mark{width:38px;height:38px;flex:0 0 38px;background:transparent;border:0;border-radius:8px;box-shadow:none;overflow:hidden}
.mark img{width:100%;height:100%;object-fit:contain}
#brandName{font-size:15px;letter-spacing:0;max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.powered{font-size:10px;color:var(--muted);padding:0}
#sessionBar{gap:16px;min-width:0}
#sessionName{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.brand-logo{max-height:38px;max-width:140px}
main{max-width:1220px;margin:0 auto;padding:36px 36px 64px}
body[data-view="tenant"] main,body[data-view="admin"] main{max-width:1600px;margin-left:var(--sidebar-w);margin-right:auto;padding:32px 36px 64px}
.workspace-nav{position:fixed;top:var(--topbar-h);bottom:0;left:0;width:var(--sidebar-w);display:flex;flex-direction:column;gap:5px;margin:0;padding:26px 16px;background:var(--surface);border:0;border-right:1px solid var(--border);border-radius:0;overflow:auto;z-index:10}
.sidebar-identity{display:flex;align-items:center;gap:10px;margin:0 8px 30px;min-width:0}
.sidebar-identity img{width:42px;height:42px;flex:0 0 42px}
.sidebar-identity strong{display:block;font:600 12px/1.5 var(--font-display);letter-spacing:.025em}
.sidebar-identity span{font-size:11px;color:var(--muted)}
.nav-label{font:500 9px/1.5 var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:18px 12px 7px}
.workspace-nav button,.workspace-nav a{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);font:400 13px/1.4 var(--font-sans);text-decoration:none;white-space:nowrap;text-align:left;box-shadow:none}
.workspace-nav button:hover,.workspace-nav a:hover{background:var(--surface-2);color:var(--text);transform:none;box-shadow:none}
.workspace-nav button.active,.workspace-nav a.active{color:var(--brand-soft-text);background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 14%,transparent)}
.nav-icon{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.sidebar-footer{margin-top:auto;padding:28px 12px 0;border-top:1px solid var(--border);color:var(--muted);font-size:11px}
.sidebar-footer strong{display:block;font:500 10px var(--font-display);color:var(--text-secondary);margin-bottom:8px;letter-spacing:.08em}
.hero{margin:0 0 28px;padding:0;align-items:center;gap:16px}
.hero-subtitle{margin:9px 0 0;color:var(--muted);font-size:13px}
.eyebrow,.design-eyebrow,.design-kicker{font:500 10px/1.6 var(--font-display);text-transform:uppercase;letter-spacing:.13em;color:var(--brand);margin:0 0 12px}
h1,h2,h3{color:var(--text)}
h1{font:600 clamp(23px,2.2vw,32px)/1.3 var(--font-display);letter-spacing:0;margin:0;overflow-wrap:anywhere}
h2{font:700 18px/1.5 var(--font-sans);letter-spacing:0;margin:0 0 8px}
h3{font:700 15px/1.5 var(--font-sans);letter-spacing:0;margin:0 0 6px}
p{color:var(--muted);line-height:1.65}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:none;margin-bottom:22px;min-width:0}
.panel>p{max-width:85ch;margin-top:0}
label{font-size:12px;font-weight:700;color:var(--text-secondary);gap:7px;margin:12px 0}
label span{color:var(--muted);font-size:11px;font-weight:400}
input,select,textarea{min-width:0;min-height:38px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface-inset);color:var(--text);font-size:13px;line-height:1.5;box-shadow:none}
textarea{min-height:88px;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}
input[type="checkbox"],input[type="radio"]{width:auto;min-height:0;accent-color:var(--brand)}
input[type="file"]{max-width:100%}
button{min-height:38px;padding:9px 14px;border:1px solid transparent;border-radius:4px;background:var(--brand);color:var(--text-inverse);font:700 12px/1.4 var(--font-sans);cursor:pointer;box-shadow:none;transition:background .14s,border-color .14s}
button:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 85%,white);transform:none;box-shadow:none}
button.quiet{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-secondary)}
button.quiet:hover:not(:disabled){background:var(--surface-3)}
button.danger{background:var(--critical-soft);border-color:#623239;color:var(--danger)}
button.danger:hover:not(:disabled){background:#462027}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
button:disabled{opacity:.5;cursor:not-allowed}
.workspace-nav button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}
.workspace-nav button.active:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-soft-text)}
input,select,textarea{font-weight:400}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-3);color:var(--text-secondary);font:700 10px/1.4 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
#tenantState::before{content:"";width:6px;height:6px;background:var(--warning);border-radius:50%}
#tenantState[data-state="active"]::before{background:var(--brand)}
.grid{gap:0 20px}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:minmax(90px,1fr) minmax(120px,2fr) 120px auto}
.grid>*{min-width:0}
.section-title,.actions{gap:14px;flex-wrap:wrap}
.branch{background:var(--surface-inset);border:1px solid var(--border);border-radius:6px;margin:20px 0;padding:20px;min-width:0}
.question{border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;padding:12px 0}
hr{border:0;border-top:1px solid var(--border);margin:26px 0}
.item{border-color:var(--border);padding:20px 0;overflow-wrap:anywhere}
.item-head{gap:16px;flex-wrap:wrap}
.item-actions{gap:8px}
.item p{font-size:13px}
.kv{color:var(--muted);font-size:13px;grid-template-columns:150px minmax(0,1fr)}
.kv strong{color:var(--text-secondary);overflow-wrap:anywhere}
.status{color:var(--brand);font-size:12px;min-height:20px;overflow-wrap:anywhere}
.status:empty{margin:0;min-height:0}
.status.error,.error{color:var(--danger)}
pre.secret{background:var(--surface-inset);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:16px;font:12px/1.7 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
details{margin:14px 0;min-width:0}
summary{cursor:pointer;color:var(--text-secondary);font-size:13px;padding:8px 0}
#tenantList>.item{background:var(--surface-inset);border:1px solid var(--border);border-radius:6px;padding:20px;margin-top:18px}
[data-panel="4"]{background:transparent;border:0;padding:0}
.overview-heading{margin-bottom:22px}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}
.metric-label{display:block;color:var(--muted);font-size:12px;margin-bottom:16px}
.metric-value{font:500 32px/1.1 var(--font-display);font-variant-numeric:tabular-nums;display:block;color:var(--text)}
.metric-note{display:block;font-size:11px;color:var(--muted);margin-top:10px}
.metric-card:nth-child(2) .metric-value{color:var(--brand)}
.activity-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.activity-grid>.panel{min-height:245px}
.activity-grid h3{padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:0}
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:175px;padding:24px 12px;color:var(--muted)}
.empty-state .nav-icon{width:30px;height:30px;color:var(--accent-cyan);margin-bottom:12px}
.empty-state strong{font-size:14px;font-weight:700;color:var(--text-secondary)}
.empty-state p{font-size:12px;max-width:32ch;margin:7px 0 0}
#loginView{max-width:1040px;width:100%;margin:5vh auto 0;padding:0;overflow:hidden;border-radius:10px;border:1px solid var(--border);box-shadow:none}
.design-login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.design-story{display:flex;flex-direction:column;align-items:flex-start;position:relative;background:#0a1120;border-right:1px solid var(--border);padding:42px;overflow:hidden}
.design-story::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#10dca40a,transparent 65%);pointer-events:none}
.design-story h2{font:600 clamp(28px,3vw,38px)/1.3 var(--font-display);position:relative;margin:3px 0 0}
.design-story h2 span{color:var(--brand)}
.design-art{width:210px;height:210px;object-fit:contain;align-self:center;margin:26px 0;position:relative;border-radius:50%}
.design-description{margin:auto 0 0;font-size:13px;max-width:38ch;position:relative}
.design-form{padding:48px 42px;display:flex;flex-direction:column;justify-content:center;background:var(--surface)}
.design-form h1{font-size:27px;margin-bottom:8px}
.design-form #loginForm{display:grid;gap:8px;margin-top:15px}
.design-form #loginForm input{min-height:44px}
.design-form #loginForm button{min-height:44px;width:100%;margin-top:12px}
.design-form #loginStatus{margin-top:8px}
.design-signin-note{font-size:11px;margin:25px 0 0;border-top:1px solid var(--border);padding-top:20px;color:var(--muted)}
@media(min-width:1800px){body[data-view="tenant"] main,body[data-view="admin"] main{padding-right:64px;padding-left:64px}}
@media(max-width:1100px){:root{--sidebar-w:218px}.powered{display:none}body[data-view="tenant"] main,body[data-view="admin"] main{padding:28px 22px}.activity-grid{grid-template-columns:1fr}.grid.four{grid-template-columns:1fr 1fr}.grid.four .span2{grid-column:1/-1}}
@media(max-width:800px){
  .topbar{padding:12px 16px;height:auto;min-height:64px;gap:12px}.topbar>div:first-child{gap:9px}.mark{width:32px;height:32px;flex-basis:32px}#brandName{font-size:13px;max-width:44vw}#sessionName{display:none}#sessionBar{gap:0}
  body[data-view="tenant"] main,body[data-view="admin"] main,main{margin:0;max-width:none;padding:24px 16px 40px}
  .workspace-nav{position:relative;top:auto;bottom:auto;left:auto;width:auto;flex-direction:row;gap:6px;padding:6px;margin:0 0 24px;border:1px solid var(--border);border-radius:6px;overflow-x:auto;z-index:1;max-width:100%}
  .workspace-nav button,.workspace-nav a{flex:0 0 auto;padding:10px;min-height:42px;font-size:12px;gap:7px}
  .sidebar-identity,.nav-label,.sidebar-footer{display:none}
  .hero{margin-bottom:22px}.hero h1{font-size:23px}.hero-subtitle{font-size:12px}
  .panel{padding:20px}[data-panel="4"]{padding:0}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.span2{grid-column:auto}.grid.four .span2{grid-column:auto}.kv{grid-template-columns:110px minmax(0,1fr)}
  .metric-grid{gap:10px}.metric-card{padding:16px 12px}.metric-value{font-size:26px}.metric-label{min-height:36px;margin-bottom:8px;font-size:11px}.metric-note{font-size:10px}
  .design-story{padding:32px}.design-form{padding:36px 30px}.design-story h2{font-size:28px}.design-art{width:170px;height:170px}
}
@media(max-width:580px){
  .design-login-layout{grid-template-columns:1fr;min-height:0}.design-story{padding:28px;border-right:0;border-bottom:1px solid var(--border);min-height:190px}.design-story h2{font-size:24px;max-width:70%}.design-art{position:absolute;right:18px;bottom:20px;width:90px;height:90px;margin:0}.design-eyebrow{font-size:8px}.design-description{display:none}.design-form{padding:30px 26px}.design-form h1{font-size:24px}#loginView{margin:0 auto}
  .hero{align-items:flex-start;flex-direction:column;gap:12px}.hero h1{font-size:21px}.panel{padding:18px}[data-panel="4"]{padding:0}.section-title{align-items:flex-start}.branch{padding:14px}.item-head{flex-direction:column}.activity-grid{gap:0}.metric-grid{grid-template-columns:1fr}.metric-card{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px}.metric-label{min-height:0;margin:0}.metric-value{grid-column:2;grid-row:1/3;font-size:26px;align-self:center}.metric-note{margin:0}.actions{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Clip the supplied square artwork to its circular outer logo edge. */
.mark img, .sidebar-identity img { clip-path: circle(45% at 50% 50%); }

/* Company artwork retains its original proportions; only the WDS icon is circular. */
#workspaceLogo.company-logo { clip-path:none; border-radius:4px; object-fit:contain; }
.sidebar-identity>div { min-width:0; }
#workspaceBrandName { overflow-wrap:anywhere; }
.company-logo-form { display:grid; grid-template-columns:112px minmax(0,1fr) auto; align-items:center; gap:16px; }
.company-logo-preview { display:grid; place-items:center; min-height:88px; background:var(--surface-inset); border:1px solid var(--border); border-radius:6px; padding:10px; }
.company-logo-preview img { max-width:100%; object-fit:contain; }
.company-logo-form label { margin:0; }
@media(max-width:800px) { .company-logo-form { grid-template-columns:1fr; } .company-logo-preview { width:112px; } .company-logo-form button { justify-self:start; } }

/* Phone setup uses the existing WDS palette and form components. */
.setup-technical {margin:24px 0;padding:16px;border:1px solid var(--border, #24344a);border-radius:8px;}
.setup-technical summary {cursor:pointer;color:var(--cyan);}
.setup-progress {margin:20px 0;padding:16px;border-left:3px solid var(--cyan);background:var(--surface, #0d1625);}
.setup-request {scroll-margin-top:85px;overflow-wrap:anywhere;}
.setup-job-status {font-size:0.85rem;line-height:1.8;}
#adminSetupEditor {margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #24344a);}
#phoneSetupForm label, #adminSetupForm label {margin-bottom:14px;}
