.desk{--cream:#f4f2eb;--cream-mid:#eae6da;--stone:#c8c2b2;--stone-soft:#dcd7c9;--charcoal:#3d3d3a;--muted:#7a7a71;--sage:#7d8b74;--sage-pale:#e3e8de;--amber:#b0842c;--amber-pale:#f0e7d2;--clay:#a6604e;--clay-pale:#f1e0db;--oak:#b58c5a;--rail:78px;--r:10px;background:var(--cream);color:var(--charcoal);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.45}.desk *{box-sizing:border-box;margin:0;padding:0}.desk h1,.desk h2,.desk h3,.desk .serif{letter-spacing:-.01em;font-family:Fraunces,Georgia,serif;font-weight:500}.desk .num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.desk button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.desk :focus-visible{outline:2px solid var(--sage);outline-offset:2px;border-radius:4px}.desk .app{min-height:100vh;display:flex}.desk .rail{width:var(--rail);flex:0 0 var(--rail);background:var(--charcoal);color:var(--cream);flex-direction:column;align-items:center;height:100vh;padding:18px 0;display:flex;position:sticky;top:0}.desk .mark{letter-spacing:.02em;color:var(--cream);margin-bottom:26px;font-family:Fraunces,serif;font-size:17px}.desk .mark small{letter-spacing:.18em;color:var(--stone);text-align:center;margin-top:2px;font-family:Inter;font-size:8px;display:block}.desk .rail nav{flex-direction:column;gap:4px;width:100%;display:flex}.desk .tab{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:#9a968b;width:100%;padding:11px 4px;font-size:9.5px;transition:color .15s;position:relative}.desk .tab i{opacity:.85;margin-bottom:4px;font-size:17px;font-style:normal;display:block}.desk .tab:hover,.desk .tab.on{color:var(--cream)}.desk .tab[disabled]{opacity:.45;cursor:default}.desk .tab.on:before{content:"";background:var(--oak);width:2px;position:absolute;top:8px;bottom:8px;left:0}.desk .rail .foot{color:#7c786f;letter-spacing:.1em;text-align:center;margin-top:auto;font-size:9px}.desk .main{flex-direction:column;flex:1;min-width:0;display:flex}.desk .topbar{border-bottom:1px solid var(--stone-soft);flex-wrap:wrap;align-items:baseline;gap:14px;padding:22px 30px 16px;display:flex}.desk .topbar h1{font-size:26px}.desk .topbar .date{color:var(--muted);font-size:12.5px}.desk .topbar .spacer{flex:1}.desk .pulse{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.desk .dot{background:var(--sage);border-radius:50%;width:7px;height:7px;display:inline-block}.desk .view{padding:22px 30px 60px}.desk .attention{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-bottom:26px;display:grid}.desk .att{border:1px solid var(--stone-soft);border-radius:var(--r);text-align:left;background:#fff;align-items:flex-start;gap:12px;width:100%;padding:13px 15px;transition:border-color .15s,transform .15s;display:flex}.desk .att:hover{border-color:var(--stone);transform:translateY(-1px)}.desk .att .flag{background:var(--stone);border-radius:3px;align-self:stretch;width:5px}.desk .att.red .flag{background:var(--clay)}.desk .att.amber .flag{background:var(--amber)}.desk .att.green .flag{background:var(--sage)}.desk .att .n{margin-bottom:5px;font-family:Fraunces,serif;font-size:22px;line-height:1}.desk .att .l{font-size:12.5px;font-weight:500}.desk .att .s{color:var(--muted);margin-top:2px;font-size:11.5px}.desk .sec-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:9px;margin-bottom:11px;font-size:10px;display:flex}.desk .sec-label:after{content:"";background:var(--stone-soft);flex:1;height:1px}.desk .today-grid{grid-template-columns:290px 1fr;align-items:start;gap:22px;display:grid}.desk .class-list{flex-direction:column;gap:7px;display:flex}.desk .cls{text-align:left;border:1px solid var(--stone-soft);border-radius:var(--r);background:#fff;align-items:center;gap:13px;width:100%;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.desk .cls:hover{border-color:var(--stone)}.desk .cls.on{border-color:var(--charcoal);background:var(--cream-mid)}.desk .cls.done{opacity:.55}.desk .cls .t{min-width:48px;font-family:Fraunces,serif;font-size:17px}.desk .cls .body{flex:1;min-width:0}.desk .cls .nm{font-size:13px;font-weight:500;display:block}.desk .cls .meta{color:var(--muted);margin-top:1px;font-size:11px;display:block}.desk .fill{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.desk .fill .cnt{font-variant-numeric:tabular-nums;font-size:12px}.desk .bar{background:var(--stone-soft);border-radius:2px;width:52px;height:3px;overflow:hidden}.desk .bar i{background:var(--sage);height:100%;display:block}.desk .bar.full i{background:var(--charcoal)}.desk .bar.low i{background:var(--amber)}.desk .floor{border:1px solid var(--stone-soft);border-radius:var(--r);background:#fff;padding:20px 22px 22px}.desk .floor-head{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:4px;display:flex}.desk .floor-head h2{font-size:20px}.desk .floor-head .sub{color:var(--muted);font-size:12px}.desk .floor-head .spacer{flex:1}.desk .mini-btn{border:1px solid var(--stone);color:var(--charcoal);border-radius:20px;padding:7px 13px;font-size:11.5px;transition:background .15s,border-color .15s}.desk .mini-btn:hover{background:var(--cream-mid);border-color:var(--charcoal)}.desk .front-note{letter-spacing:.16em;text-transform:uppercase;color:var(--stone);text-align:center;margin:16px 0 9px;font-size:9.5px}.desk .beds{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.desk .bed{text-align:left;border:1px solid var(--stone-soft);background:var(--cream);border-radius:8px;flex-direction:column;min-height:88px;padding:12px 12px 11px;transition:transform .12s,border-color .15s;display:flex;position:relative}.desk .bed:hover{border-color:var(--stone);transform:translateY(-2px)}.desk .bed .no{letter-spacing:.12em;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:auto;font-size:9.5px;display:flex}.desk .bed .who{margin-top:8px;font-family:Fraunces,serif;font-size:14.5px;line-height:1.2;display:block}.desk .bed .tag{color:var(--muted);margin-top:3px;font-size:10.5px;display:block}.desk .bed.empty{background:0 0;border-style:dashed}.desk .bed.empty .who{color:var(--stone);font-family:Inter;font-size:12px;font-weight:500}.desk .bed.in{background:var(--sage-pale);border-color:#bdcab4}.desk .bed.flag{border-color:var(--amber)}.desk .bed.hold{border-color:var(--clay)}.desk .pip{background:var(--stone);border-radius:50%;width:7px;height:7px;display:inline-block}.desk .pip.in{background:var(--sage)}.desk .pip.flag{background:var(--amber)}.desk .pip.hold{background:var(--clay)}.desk .legend{border-top:1px solid var(--stone-soft);color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:14px;font-size:11px;display:flex}.desk .legend span{align-items:center;gap:6px;display:flex}.desk .kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.desk .kpi{border:1px solid var(--stone-soft);border-radius:var(--r);background:#fff;padding:16px 18px}.desk .kpi .l{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-size:10px}.desk .kpi .v{margin-top:7px;font-family:Fraunces,serif;font-size:29px;line-height:1}.desk .kpi .d{color:var(--muted);margin-top:5px;font-size:11.5px}.desk-scrim{opacity:0;pointer-events:none;z-index:40;background:#3d3d3a52;transition:opacity .2s;position:fixed;inset:0}.desk-scrim.on{opacity:1;pointer-events:auto}.desk-drawer{z-index:50;color:#3d3d3a;background:#f4f2eb;border-left:1px solid #dcd7c9;flex-direction:column;width:390px;max-width:92vw;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;transition:transform .24s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.desk-drawer.on{transform:none}.desk-drawer h2{font-family:Fraunces,Georgia,serif;font-weight:500}.desk-drawer button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.desk-drawer .dr-head{border-bottom:1px solid #dcd7c9;padding:22px 24px 16px;position:relative}.desk-drawer .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#7a7a71;font-size:9.5px}.desk-drawer .dr-head h2{margin-top:6px;font-size:23px}.desk-drawer .dr-head .sub{color:#7a7a71;margin-top:4px;font-size:12px}.desk-drawer .dr-close{color:#7a7a71;font-size:20px;line-height:1;position:absolute;top:20px;right:20px}.desk-drawer .dr-body{flex:1;padding:20px 24px;overflow-y:auto}.desk-drawer .dr-row{border-bottom:1px solid #dcd7c9;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.desk-drawer .dr-row .k{color:#7a7a71;font-size:12px}.desk-drawer .locked{background:#f0e7d2;border:1px solid #b0842c;border-radius:8px;margin-top:18px;padding:13px 15px}.desk-drawer .locked.clay{background:#f1e0db;border-color:#a6604e}.desk-drawer .locked .hd{letter-spacing:.14em;text-transform:uppercase;color:#8a6620;margin-bottom:6px;font-size:10px}.desk-drawer .locked.clay .hd{color:#8a4a3a}.desk-drawer .locked p{font-size:12.5px;line-height:1.5}.desk-drawer .locked .reveal{text-underline-offset:3px;color:#8a6620;margin-top:9px;font-size:11.5px;text-decoration:underline}.desk-drawer .locked.clay .reveal{color:#8a4a3a}.desk-drawer .dr-actions{border-top:1px solid #dcd7c9;flex-wrap:wrap;gap:9px;padding:16px 24px;display:flex}.desk-drawer .btn{text-align:center;color:#f4f2eb;background:#3d3d3a;border-radius:24px;flex:1;min-width:120px;padding:11px 14px;font-size:12.5px}.desk-drawer .btn:hover{background:#2e2e2c}.desk-drawer .btn.ghost{color:#3d3d3a;background:0 0;border:1px solid #c8c2b2}.desk-drawer .btn.ghost:hover{background:#eae6da}@media (width<=1080px){.desk .today-grid{grid-template-columns:1fr}}@media (width<=760px){.desk{font-size:13.5px}.desk .app{flex-direction:column}.desk .rail{z-index:30;border-top:1px solid #2e2e2c;flex-direction:row;width:100%;height:auto;padding:0;position:fixed;top:auto;bottom:0}.desk .rail .mark,.desk .rail .foot{display:none}.desk .rail nav{flex-direction:row}.desk .tab{padding:9px 2px;font-size:8.5px}.desk .tab i{margin-bottom:2px;font-size:15px}.desk .tab.on:before{width:auto;height:2px;inset:0 14% auto}.desk .main{padding-bottom:66px}.desk .topbar{padding:16px 18px 13px}.desk .topbar h1{font-size:22px}.desk .view{padding:16px 18px 40px}.desk .beds{grid-template-columns:repeat(2,1fr)}.desk .floor{padding:16px}}@media (prefers-reduced-motion:reduce){.desk *,.desk-drawer,.desk-scrim{transition:none!important;animation:none!important}}
