:root{--bg:#FBFAF7;--surface:#FFFFFF;--sunk:#F4F0E8;--line:#E4DDD0;--fg:#1F1A12;--muted:#6B604F;--bronze:#A87420;--bronze-ink:#805200;--bronze-wash:#F6EBDA;--gold:#E8A000;--gold-wash:#FEF5DC;--on-gold:#1F1A12;--on-bronze:#FFFFFF;--ok:#1A7A3D;--ok-bg:#E3F3E8;--warn:#8A5200;--warn-bg:#FDEFD3;--crit:#B3261E;--crit-bg:#FBE4E1;--info:#364250;--info-bg:#E8EDF2;--staff:#364250;--staff-bg:#E3E8EE;--shadow:0 8px 30px rgba(60,40,10,.12);--scrim:rgba(20,15,8,.45);--f-head:"Ubuntu","Segoe UI",system-ui,sans-serif;--f-body:"Roboto","Segoe UI",system-ui,-apple-system,sans-serif;--r:10px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#14110C;--surface:#1D1912;--sunk:#262016;--line:#3A3226;--fg:#F2ECE1;--muted:#B3A68F;--bronze:#C0904B;--bronze-ink:#D7B07A;--bronze-wash:#2E2416;--on-bronze:#14110C;--gold:#F0B020;--gold-wash:#2E2410;--ok:#8FD4A1;--ok-bg:#163522;--warn:#F5C140;--warn-bg:#3A2A0C;--crit:#F2A49C;--crit-bg:#401A16;--info:#B6CCE0;--info-bg:#232C36;--staff:#B6CCE0;--staff-bg:#26303B;--shadow:0 8px 30px rgba(0,0,0,.5);--scrim:rgba(0,0,0,.6);color-scheme:dark}}:root[data-theme=dark]{--bg:#14110C;--surface:#1D1912;--sunk:#262016;--line:#3A3226;--fg:#F2ECE1;--muted:#B3A68F;--bronze:#C0904B;--bronze-ink:#D7B07A;--bronze-wash:#2E2416;--on-bronze:#14110C;--gold:#F0B020;--gold-wash:#2E2410;--ok:#8FD4A1;--ok-bg:#163522;--warn:#F5C140;--warn-bg:#3A2A0C;--crit:#F2A49C;--crit-bg:#401A16;--info:#B6CCE0;--info-bg:#232C36;--staff:#B6CCE0;--staff-bg:#26303B;--shadow:0 8px 30px rgba(0,0,0,.5);--scrim:rgba(0,0,0,.6);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--f-head);text-wrap:balance;margin:0;line-height:1.2}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.15rem;font-weight:500}h3{font-size:1rem;font-weight:500}p{margin:0}.num,table{font-variant-numeric:tabular-nums}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}a{color:var(--bronze-ink)}.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-block:10px}.brand{display:flex;flex-direction:column;line-height:1.1}.brand b{font-family:var(--f-head);font-size:1.05rem;color:var(--bronze-ink)}.brand span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:2px;overflow-x:auto;flex:1 1 auto;min-width:0}nav a{text-decoration:none;color:var(--muted);padding:8px 12px;border-radius:8px;white-space:nowrap;font-weight:500}nav a:hover{background:var(--sunk);color:var(--fg)}nav a[aria-current=page]{background:var(--bronze-wash);color:var(--bronze-ink)}.mode{font-size:.72rem;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.mode:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}.mode.live:before{background:var(--ok)}.mode.demo{border-style:dashed;border-color:var(--bronze);color:var(--bronze-ink)}.mode.demo:before{background:var(--bronze)}main{padding-block:24px 64px}.view{display:flex;flex-direction:column;gap:20px}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.head p{color:var(--muted);margin-top:4px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}.card>h2{margin-bottom:12px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:.85rem}.eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}.banner{border-radius:var(--r);padding:12px 16px;font-size:.9rem;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.banner.demo{background:var(--bronze-wash);color:var(--fg)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:500;text-decoration:none;color:var(--fg)}.btn:hover{background:var(--sunk)}.btn.primary{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}.btn.primary:hover{filter:brightness(.95)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.sm{padding:5px 10px;font-size:.85rem}.btn.ghost{border-color:transparent;background:transparent}.btn.danger{color:var(--crit);border-color:var(--crit)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.tile .v{font-family:var(--f-head);font-size:1.7rem;font-weight:700;line-height:1}.tile .v small{font-size:.95rem;color:var(--muted);font-weight:400}.tile .s{font-size:.82rem;color:var(--muted)}.bar{position:relative;height:6px;background:var(--sunk);border-radius:99px}.bar i{display:block;height:100%;background:var(--bronze);border-radius:99px}.bar .mk{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--fg);opacity:.55}.bar .mk.goal{background:var(--gold);opacity:1}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;border-radius:999px;padding:2px 9px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.p-ok{background:var(--ok-bg);color:var(--ok)}.p-warn{background:var(--warn-bg);color:var(--warn)}.p-crit{background:var(--crit-bg);color:var(--crit)}.p-info{background:var(--info-bg);color:var(--info)}.p-staff{background:var(--staff-bg);color:var(--staff)}.p-paused,.p-none{background:var(--sunk);color:var(--muted)}.tag{font-size:.75rem;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted);white-space:nowrap}.tag.prop{border-style:dashed;border-color:var(--bronze);color:var(--bronze-ink)}.stepper{display:flex;align-items:center;gap:6px}.stepper .d{min-width:110px;text-align:center;font-weight:500}.tl-scroll{overflow-x:auto;margin-inline:-4px;padding-inline:4px}.tl{min-width:780px;display:grid;grid-template-columns:150px 1fr;row-gap:6px}.tl .lbl{font-size:.85rem;padding-right:10px;display:flex;flex-direction:column;justify-content:center}.tl .lbl small{color:var(--muted);font-size:.75rem}.track{position:relative;height:46px;background:var(--sunk);border-radius:8px;cursor:copy;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/15 - 1px),var(--line) calc(100%/15 - 1px),var(--line) calc(100%/15))}.track.ro{cursor:default}.hours{position:relative;height:18px;font-size:.72rem;color:var(--muted)}.hours span{position:absolute;transform:translate(-50%)}.blk{position:absolute;top:4px;bottom:4px;border-radius:6px;padding:3px 7px;font-size:.75rem;line-height:1.25;overflow:hidden;cursor:pointer;border-left:3px solid;white-space:nowrap;text-overflow:ellipsis}.blk b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis}.blk.ext{background:var(--bronze-wash);border-color:var(--bronze);color:var(--fg)}.blk.staff{background:var(--staff-bg);border-color:var(--staff);color:var(--fg)}.blk.guest{background:var(--gold-wash);border-color:var(--gold);color:var(--fg)}.now{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--crit);pointer-events:none}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;border-left:3px solid;vertical-align:-1px;margin-right:5px}.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}.stack{display:flex;flex-direction:column;gap:20px;min-width:0}.list{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}.row:first-child{border-top:0}.row .grow{flex:1 1 200px;min-width:0}.row .grow b{font-weight:500}.zone{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.zone:first-of-type{border-top:0}.zone .top{display:flex;justify-content:space-between;gap:8px}.seats{display:flex;flex-wrap:wrap;gap:4px}.seat{width:14px;height:14px;border-radius:3px;background:var(--sunk);border:1px solid var(--line)}.seat.on{background:var(--bronze);border-color:var(--bronze)}.seat.st{background:var(--staff);border-color:var(--staff)}.seat.pass{background:var(--gold);border-color:var(--gold)}.empty{color:var(--muted);font-size:.9rem;padding:8px 0}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.full{grid-column:1/-1}.field label,.flabel{font-size:.82rem;font-weight:500;color:var(--muted)}.field input,.field select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 10px;width:100%}.hint{font-size:.8rem;color:var(--muted)}.quote{display:flex;flex-direction:column;gap:6px}.qline{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}.qline.neg span:last-child{color:var(--ok)}.qtotal{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}.qtotal b{font-family:var(--f-head);font-size:1.6rem}.alert{border-radius:8px;padding:10px 12px;font-size:.88rem}.alert.crit{background:var(--crit-bg);color:var(--crit)}.alert.info{background:var(--info-bg);color:var(--info)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.sticky{position:sticky;top:calc(env(safe-area-inset-top,0px) + 76px)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:.88rem}.chip[aria-pressed=true]{background:var(--bronze-wash);border-color:var(--bronze);color:var(--bronze-ink);font-weight:500}.search{flex:1 1 200px;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr.click{cursor:pointer}tbody tr.click:hover td{background:var(--sunk)}td.r,th.r{text-align:right}.meter{display:flex;align-items:center;gap:8px;min-width:110px}.meter .bar{flex:1}.who b{display:block;font-weight:500}.who span{font-size:.82rem;color:var(--muted)}.rates th{background:var(--bronze);color:var(--on-bronze);letter-spacing:.04em}.rates tbody tr:nth-child(2n) td{background:var(--bronze-wash)}.rates td:first-child{font-weight:500}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}ul.clean{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:6px}.bench td{vertical-align:top;min-width:120px}.fit{font-weight:500}.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.opt{border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}.opt.pick{border:2px solid var(--gold);background:var(--gold-wash)}.phase{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.phase:first-child{border-top:0}.prose{max-width:68ch}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--surface);z-index:41;box-shadow:var(--shadow);overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 20px) max(20px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 24px) 20px;display:flex;flex-direction:column;gap:18px}.dhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.92rem}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right}.actions{display:flex;gap:8px;flex-wrap:wrap}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 20px);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:50;box-shadow:var(--shadow);max-width:calc(100% - 32px);font-size:.92rem}footer{border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:16px}@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.grid2,.opts{grid-template-columns:1fr}.sticky{position:static}}@media (max-width:560px){.form{grid-template-columns:1fr}h1{font-size:1.35rem}.tile .v{font-size:1.4rem}.mtbl thead{display:none}.mtbl tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 0;border-bottom:1px solid var(--line)}.mtbl td{border:0;padding:0}.mtbl td.hide-sm{display:none}.mtbl td.r{text-align:right}}@media (prefers-reduced-motion:no-preference){.drawer{animation:slide .2s ease-out}@keyframes slide{0%{transform:translate(30px);opacity:.6}}}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}.me{display:flex;align-items:center;gap:6px}.blk{font:inherit;font-size:.75rem;text-align:left;border-top:0;border-right:0;border-bottom:0}.blk.busy{background:var(--sunk);border-color:var(--muted);color:var(--muted)}.blk.linked{background-image:repeating-linear-gradient(135deg,transparent 0 6px,var(--line) 6px 8px)}.banner.warn{border-radius:var(--r)}.floor-wrap{overflow-x:auto}.floor{min-width:760px;width:100%;height:auto;display:block}.floor .sp{cursor:pointer}.floor .sp rect{stroke:var(--line);stroke-width:3}.floor .sp:hover rect,.floor .sp.sel rect{stroke:var(--gold);stroke-width:6}.floor .area rect{fill:var(--sunk);stroke:var(--line);stroke-width:2}.floor text{fill:var(--fg);font-family:var(--f-body);pointer-events:none}.floor .muted-t{fill:var(--muted)}.f-free{fill:var(--ok-bg)}.f-occ{fill:var(--bronze-wash)}.f-full{fill:var(--bronze)}.f-warn{fill:var(--warn-bg)}.f-room{fill:var(--info-bg)}.f-busy{fill:var(--staff-bg)}.f-zone{fill:var(--gold-wash)}.floor .sp.desk-taken rect{fill:var(--bronze)}.floor .sp.desk-taken text{fill:var(--on-bronze)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{border:0;background:transparent;padding:8px 12px;cursor:pointer;color:var(--muted);font-weight:500;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--bronze-ink);border-bottom-color:var(--bronze)}.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end}textarea{font:inherit;color:inherit;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 10px;width:100%;min-height:80px}.switch{display:flex;gap:10px;align-items:center}.code{font-family:ui-monospace,Menlo,monospace;font-size:.82rem}:root{--c1: #A87420;--c2: #1E73F0;--grid: #ECE6DB;--axis: #6B604F}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--c1: #B07D2C;--c2: #4A91FF;--grid: #2E271D;--axis: #B3A68F}}:root[data-theme=dark]{--c1: #B07D2C;--c2: #4A91FF;--grid: #2E271D;--axis: #B3A68F}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .axis{fill:var(--axis);font-size:12px;font-family:var(--f-body)}.chart .axis.strong{fill:var(--fg);font-weight:500;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.chart .mark{fill:var(--c1)}.chart .mark.c2{fill:var(--c2)}.chart .mark.on{opacity:.8}.chart .target{stroke:var(--fg);stroke-width:1.5;stroke-dasharray:5 4;opacity:.7}.chart .line{fill:none;stroke:var(--c1);stroke-width:2}.chart .area{fill:var(--c1);opacity:.12}.chart .dot{fill:var(--c1);stroke:var(--surface);stroke-width:2}.chart .cross{stroke:var(--axis);stroke-width:1}.chart g:focus{outline:none}.readout{font-size:.85rem;min-height:1.4em;margin-top:4px}.chart-table{margin-top:6px;font-size:.85rem}.chart-table summary{cursor:pointer;color:var(--muted)}.legend .sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;border:0;vertical-align:0}.legend .sw.c1{background:var(--c1)}.legend .sw.c2{background:var(--c2)}.ranked{display:flex;flex-direction:column;gap:8px}.rk{display:grid;grid-template-columns:minmax(110px,180px) 1fr minmax(7.5em,auto);gap:10px;align-items:center;font-size:.9rem}.rk-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-bar{height:10px;background:var(--sunk);border-radius:99px}.rk-bar i{display:block;height:100%;background:var(--c1);border-radius:99px}.rk-v{text-align:right;white-space:nowrap}.rk-v small{color:var(--muted)}.heat-wrap{overflow-x:auto}.heat{border-collapse:separate;border-spacing:3px;font-size:.78rem}.heat th{color:var(--muted);font-weight:500;padding:2px 6px;text-align:center}.heat td{width:44px;height:30px;border-radius:5px;text-align:center;background:color-mix(in srgb,var(--c1) calc(var(--v) * 100%),var(--sunk))}.heat td span{color:var(--fg);mix-blend-mode:normal}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.report h3{margin:14px 0 6px}.stage-row{display:flex;gap:6px;flex-wrap:wrap}.overdue{color:var(--crit);font-weight:500}.activity{display:flex;flex-direction:column;gap:8px;font-size:.88rem}.activity div{border-left:2px solid var(--line);padding-left:10px}@media (max-width: 560px){.rk{grid-template-columns:1fr auto;row-gap:4px}.rk-bar{grid-column:1 / -1;order:3}}
