@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Unbounded:wght@600;700;800;900&display=swap');

/* Aether Sans drop-in hook (uncomment when the licensed files are added):
@font-face{font-family:'Aether Sans';src:url('assets/fonts/AetherSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Aether Sans';src:url('assets/fonts/AetherSans-Bold.woff2') format('woff2');font-weight:700 900;font-style:normal;font-display:swap}
*/

:root{
  --bg:#050505;--surface:#0b0b0b;--surface-2:#111;--ink:#f4f4ef;--dim:#a5a59f;
  --faint:#666661;--line:#2f2f2c;--line-strong:#72726c;--danger:#ff5e62;
  --sidebar:214px;--time:62px;--hour:80px;
  --sans:'Aether Sans','Helvetica Neue',Arial,sans-serif;
  --display:'Unbounded','Arial Black',sans-serif;
  --mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}
html{color-scheme:dark}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none}
button,input,select,textarea{font:inherit}button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.hidden{display:none!important}

.boot{height:100vh;display:flex;align-items:center;justify-content:center;gap:11px;font:800 17px/1 var(--display);letter-spacing:-.04em}
.boot em{font:500 9px/1 var(--mono);letter-spacing:.16em;color:var(--faint)}
.brand-lockup{display:flex;align-items:center;gap:10px;min-height:30px}
.wordmark{display:flex;align-items:center;gap:9px}
.wordmark>span:last-child{font:600 8px/1 var(--mono);letter-spacing:.18em;color:var(--dim);white-space:nowrap}
.brand-type{position:relative;display:block;width:98px;height:23px;overflow:hidden}
.brand-type img{position:absolute;left:0;top:-41px;width:98px;height:98px;filter:invert(1)}
.tandem-mark{position:relative;display:inline-block;width:43px;height:21px;flex:0 0 auto;border:2px solid currentColor;border-radius:999px;color:var(--ink);overflow:hidden}
.tandem-mark i{position:absolute;top:4px;width:9px;height:9px;border-radius:50%;background:currentColor}
.tandem-mark i:first-child{left:5px;animation:tandem-left 4.2s cubic-bezier(.65,0,.35,1) infinite}
.tandem-mark i:last-child{right:5px;animation:tandem-right 4.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes tandem-left{0%,18%,82%,100%{transform:translateX(0)}42%,58%{transform:translateX(11px)}}
@keyframes tandem-right{0%,18%,82%,100%{transform:translateX(0)}42%,58%{transform:translateX(-11px)}}

.kicker{margin:0;color:var(--faint);font:600 9px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.button{min-height:38px;border:1px solid var(--line-strong);border-radius:2px;padding:10px 15px;background:transparent;color:var(--ink);font:600 10px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;transition:background .13s,color .13s,transform .13s}
.button:hover{background:var(--ink);color:var(--bg)}.button:active{transform:translateY(1px)}
.button.light{border-color:var(--ink);background:var(--ink);color:var(--bg)}.button.light:hover{background:transparent;color:var(--ink)}
.button.ghost{border-color:var(--line);color:var(--dim)}.button.compact{min-height:30px;padding:7px 10px;font-size:8px}
.button.danger{border-color:#662e31;color:var(--danger)}.button.danger:hover{background:var(--danger);border-color:var(--danger);color:#080808}
.button.wide{width:100%}.button:disabled{opacity:.45;cursor:wait}
.circle{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--ink);font-family:var(--mono)}
.circle:hover{background:var(--ink);color:var(--bg)}
.error{min-height:13px;margin:8px 0;color:var(--danger);font:500 9px/1.4 var(--mono)}
.tiny{margin:18px 0 0;color:var(--faint);text-align:center;font:400 8px/1.4 var(--mono)}

.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--bg)}
.auth-shell:before{content:'01 / 03';position:fixed;left:24px;bottom:20px;color:var(--faint);font:500 8px/1 var(--mono)}
.auth-card{width:min(680px,100%);padding:26px 0 22px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.auth-copy{margin:82px 0 46px;display:grid;grid-template-columns:160px 1fr;align-items:end}
.auth-card h1{margin:0;font:800 clamp(38px,7vw,68px)/.93 var(--display);letter-spacing:-.075em;text-transform:uppercase}
.auth-sub{grid-column:2;margin:17px 0 0;color:var(--dim);font:400 11px/1.5 var(--mono)}
.auth-card form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-card form .button,.auth-card form .error{grid-column:1/-1}

.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:20px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:var(--bg)}
.side-nav{margin-top:54px;border-top:1px solid var(--line)}
.nav-item{position:relative;width:100%;padding:13px 2px;border:0;border-bottom:1px solid #1d1d1b;border-radius:0;display:flex;align-items:center;gap:9px;background:transparent;color:var(--faint);text-align:left;font:500 10px/1 var(--mono);text-transform:uppercase}
.nav-item:after{content:'↗';position:absolute;right:2px;opacity:0}.nav-item:hover,.nav-item.active{color:var(--ink)}.nav-item.active:after{opacity:1}
.nav-item i{width:6px;height:6px;border:1px solid var(--faint);border-radius:50%}.nav-item.active i{border-color:var(--ink);background:var(--ink)}
.sidebar-bottom{display:grid;gap:13px}
.notification-btn{padding:9px 0;border:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;background:transparent;color:var(--faint);font:500 8px/1 var(--mono);text-align:left;text-transform:uppercase}
.notification-btn span{color:var(--ink)}
.account{padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:31px 1fr 26px;align-items:center;gap:8px}
.avatar{width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:600 8px/1 var(--mono)}
.account strong{display:block;font:600 10px/1.2 var(--sans)}.account span{display:block;margin-top:2px;color:var(--faint);font:400 8px/1 var(--mono)}
.account button{border:0;background:transparent;color:var(--dim)}

main{min-width:0;padding:21px 24px 44px}
.topbar{min-height:88px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-top:1px solid var(--ink);padding-top:12px}
.topbar h1{margin:5px 0 0;font:800 clamp(30px,4vw,52px)/.95 var(--display);letter-spacing:-.065em;text-transform:uppercase}
.top-actions{display:flex;gap:7px}.mobile-account{display:none}
.status-line{margin:2px 0 18px;display:flex;align-items:center;gap:7px;color:var(--faint);font:400 8px/1 var(--mono);text-transform:uppercase}
.live-dot{width:6px;height:6px;border:1px solid var(--ink);border-radius:50%;background:var(--ink);animation:live-pulse 2.6s ease-in-out infinite}
@keyframes live-pulse{50%{opacity:.3}}.view-section{animation:view-in .16s ease-out}@keyframes view-in{from{opacity:.3;transform:translateY(3px)}}

.controls{min-height:46px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--line)}
.controls-spacer{flex:1}.date-display{min-width:230px;border:0;background:transparent;color:var(--ink);font:700 12px/1 var(--display);letter-spacing:-.03em;text-transform:uppercase}
.pulse{display:flex;gap:0;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none}.pulse::-webkit-scrollbar{display:none}
.pulse-chip{flex:0 0 auto;padding:9px 13px;border-right:1px solid var(--line);color:var(--faint);font:400 8px/1 var(--mono);text-transform:uppercase;white-space:nowrap}
.pulse-chip strong{color:var(--ink);font-weight:600}
.schedule-shell{background:var(--surface);border-bottom:1px solid var(--line);overflow:hidden}
.room-headings{min-width:780px;display:grid;grid-template-columns:var(--time) repeat(3,minmax(220px,1fr));border-bottom:1px solid var(--line-strong)}
.room-heading{position:relative;min-height:75px;padding:14px 14px 10px;border-left:1px solid var(--line);overflow:hidden}
.room-heading:before{position:absolute;right:8px;top:4px;color:#232321;font:900 40px/.9 var(--display);letter-spacing:-.08em}
.room-heading:nth-child(2):before{content:'01'}.room-heading:nth-child(3):before{content:'02'}.room-heading:nth-child(4):before{content:'03'}
.room-heading strong{position:relative;z-index:1;font:700 13px/1 var(--display);letter-spacing:-.04em;text-transform:uppercase}
.room-heading span{position:relative;z-index:1;display:block;max-width:85%;margin-top:8px;color:var(--faint);font:400 8px/1.2 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-heading .occupied{color:var(--ink)}
.schedule-scroll{max-height:calc(100vh - 260px);overflow:auto;scrollbar-width:thin;scrollbar-color:#444 transparent}
.schedule-grid{position:relative;min-width:780px;height:calc(var(--hour) * 16);display:grid;grid-template-columns:var(--time) repeat(3,minmax(220px,1fr))}
.time-column{border-right:1px solid var(--line);background:#080808}.time-cell{height:var(--hour);padding:6px;border-bottom:1px solid #20201e;color:var(--faint);font:400 8px/1 var(--mono)}
.room-lane{position:relative;border-right:1px solid var(--line);background-image:linear-gradient(to bottom,#171715 1px,transparent 1px);background-size:100% 20px;transition:background-color .12s,box-shadow .12s}
.room-lane:last-child{border-right:0}.room-lane:nth-child(3){background-color:#080808}
.room-lane.drop-enabled{box-shadow:inset 0 0 0 1px #555}.room-lane.drop-target{background-color:#191917;box-shadow:inset 0 0 0 2px var(--ink)}

.session-card{position:absolute;left:6px;right:6px;min-height:38px;padding:0;border:1px solid var(--line-strong);border-radius:2px;overflow:hidden;z-index:2;background:#141414;color:var(--ink);transition:opacity .12s,transform .12s}
.session-card:before{content:'';position:absolute;z-index:2;left:0;top:0;bottom:0;width:3px;background:var(--ink);pointer-events:none}
.session-card.confirmed{background:var(--ink);color:#080808;border-color:var(--ink)}
.session-card.hold{border-style:dashed;background:#101010}.session-card.hold:before{background:repeating-linear-gradient(to bottom,var(--ink) 0 4px,transparent 4px 8px)}
.session-card.cancelled{opacity:.34}.session-card.cancelled h3{text-decoration:line-through}.session-card.drag-source{opacity:.18}
.session-card-body{width:calc(100% - 30px);height:100%;min-height:36px;padding:8px 8px 8px 11px;border:0;display:block;overflow:hidden;background:transparent;color:inherit;text-align:left;cursor:pointer}
.session-time{color:currentColor;opacity:.62;font:500 8px/1 var(--mono)}
.session-card h3{margin:4px 0 3px;font:700 12px/1.05 var(--display);letter-spacing:-.045em;text-transform:uppercase}
.session-card p{margin:0;color:currentColor;opacity:.58;font:400 8px/1.2 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-bottom{margin-top:7px;display:flex;align-items:center;gap:8px}
.tag,.arrival-tag{padding-top:3px;border-top:1px solid currentColor;color:currentColor;font:600 7px/1 var(--mono);letter-spacing:.06em}
.arrival-tag.here:before,.arrival-tag.in_session:before{content:'● '}.arrival-tag.no_show{color:var(--danger)}
.move-handle{position:absolute;z-index:4;top:0;right:0;bottom:0;width:30px;padding:0;border:0;border-left:1px solid currentColor;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:inherit;opacity:.55;touch-action:none;cursor:grab}
.move-handle:hover{opacity:1;background:rgba(127,127,127,.16)}.move-handle:active{cursor:grabbing}.move-handle i{width:10px;height:1px;background:currentColor;pointer-events:none}
.now-line{position:absolute;z-index:5;left:0;right:0;height:1px;background:var(--ink);pointer-events:none}.now-line:before{content:'';position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--ink)}
.drag-hint{margin:9px 0 0;color:var(--faint);font:400 8px/1.4 var(--mono);text-transform:uppercase}.drag-hint span{color:var(--ink);font-size:12px;vertical-align:-1px}
.drag-ghost{position:fixed;z-index:120;width:230px;padding:11px 12px;border:1px solid var(--ink);transform:translate(17px,17px);background:var(--ink);color:var(--bg);box-shadow:10px 10px 0 rgba(255,255,255,.12);pointer-events:none}
.drag-ghost.invalid{border-color:var(--danger);background:#111;color:var(--ink)}
.drag-ghost .drag-label{display:block;margin-bottom:6px;font:600 7px/1 var(--mono);letter-spacing:.14em;opacity:.55}
.drag-ghost strong{display:block;font:700 11px/1.1 var(--display);text-transform:uppercase}.drag-ghost .drag-destination{display:block;margin-top:5px;font:500 8px/1.2 var(--mono)}
.drop-preview{position:absolute;z-index:6;left:5px;right:5px;min-height:38px;padding:9px;border:1px solid var(--ink);background:rgba(244,244,239,.13);color:var(--ink);pointer-events:none}
.drop-preview strong{display:block;font:700 9px/1 var(--display);text-transform:uppercase}.drop-preview span{display:block;margin-top:5px;font:500 8px/1 var(--mono)}
.session-dragging,.session-dragging *{cursor:grabbing!important;user-select:none!important}
.mobile-schedule{display:none}

.now-header{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}
.now-header h2{margin:5px 0 0;font:800 clamp(36px,6vw,68px)/.9 var(--display);letter-spacing:-.08em}.now-summary{color:var(--faint);font:400 9px/1.3 var(--mono);text-transform:uppercase}
.now-rooms{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.now-room{min-height:280px;padding:14px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:transparent}.now-room:last-child{border-right:0}
.now-room.active{background:var(--ink);color:var(--bg)}.now-room-top{display:flex;justify-content:space-between;gap:10px}
.room-number{font:700 10px/1 var(--display);text-transform:uppercase}.room-state{padding-top:3px;border-top:1px solid currentColor;font:500 7px/1 var(--mono)}
.now-client{margin:34px 0}.now-client h3{margin:0 0 8px;font:800 clamp(20px,2.5vw,31px)/.97 var(--display);letter-spacing:-.065em;text-transform:uppercase}
.now-client p{margin:4px 0;font:400 9px/1.4 var(--mono);opacity:.62}.now-client .countdown{font-weight:600;font-size:10px;opacity:1}
.now-actions{display:flex;flex-wrap:wrap;gap:5px}.now-actions button{padding:6px 7px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 7px/1 var(--mono)}
.up-next-block{margin-top:32px}.section-label{padding-bottom:9px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.section-label span{font:600 9px/1 var(--mono);letter-spacing:.15em}.section-label small{color:var(--faint);font:400 8px/1 var(--mono)}
.up-next-list{display:grid}.up-next-item{display:grid;grid-template-columns:72px 1fr 160px;gap:12px;align-items:center;min-height:auto;padding:13px 1px;border:0;border-bottom:1px solid #20201e;border-radius:0;background:transparent;color:var(--ink)}
.up-next-item time{font:600 11px/1 var(--mono)}.up-next-item strong{font:700 11px/1 var(--display);text-align:left;text-transform:uppercase}.up-next-item span{color:var(--faint);font:400 8px/1 var(--mono);text-align:right}

.list-toolbar{margin-bottom:18px;display:flex;gap:9px;border-top:1px solid var(--line);padding-top:12px}
.search-wrap{flex:1;border-bottom:1px solid var(--line-strong);display:flex;align-items:center;gap:8px}.search-wrap span{color:var(--faint)}
.search-wrap input{width:100%;padding:10px 0;border:0;background:transparent;color:var(--ink);outline:0;font:400 10px/1 var(--mono)}
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));border-top:1px solid var(--line)}
.client-card{min-height:174px;padding:15px 14px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);text-align:left;transition:background .13s,color .13s}
.client-card:hover{background:var(--ink);color:var(--bg)}.client-card h3{margin:0 0 7px;font:800 16px/1 var(--display);letter-spacing:-.05em;text-transform:uppercase}
.client-card .handle{font:400 8px/1 var(--mono);opacity:.6}.client-card .client-stats{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}
.mini-stat{padding-top:4px;border-top:1px solid currentColor;font:400 7px/1 var(--mono);opacity:.65}.mini-stat strong{color:inherit}
.client-card .client-note{margin-top:12px;font:400 8px/1.3 var(--mono);opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-state{padding:30px 4px;border-bottom:1px solid var(--line);color:var(--faint);text-align:center;font:400 9px/1.4 var(--mono)}
.activity-head{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:end}
.activity-head h2{margin:5px 0 0;font:800 31px/.95 var(--display);letter-spacing:-.065em;text-transform:uppercase}.activity-list{max-width:920px}
.activity-item{display:grid;grid-template-columns:74px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid #22221f}.activity-time{color:var(--faint);font:400 8px/1 var(--mono)}
.activity-item strong{font:600 10px/1.2 var(--sans)}.activity-item p{margin:5px 0 0;color:var(--faint);font:400 9px/1.35 var(--mono)}.activity-actor{text-decoration:underline;text-underline-offset:3px}

.mobile-nav{display:none}.sheet{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.84)}
.sheet-panel{width:min(670px,100%);max-height:93vh;padding:12px 25px 26px;border:1px solid var(--line-strong);border-bottom:0;border-radius:0;overflow:auto;background:#0a0a0a;box-shadow:0 -20px 70px rgba(0,0,0,.65)}
.sheet-handle{width:50px;height:1px;margin:0 auto 20px;background:var(--line-strong)}
.sheet-title-row{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}
.sheet-title-row h2{margin:5px 0 0;font:800 28px/.95 var(--display);letter-spacing:-.06em;text-transform:uppercase}.sheet-meta{margin:7px 0 0;color:var(--faint);font:400 8px/1.3 var(--mono)}
.quick-actions{margin-bottom:17px;padding-bottom:11px;border-bottom:1px solid var(--line);display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.quick-actions::-webkit-scrollbar{display:none}
.quick-actions button,.mobile-move-head button{padding:7px 8px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--dim);font:500 8px/1 var(--mono);text-transform:uppercase;white-space:nowrap}
.mobile-move-trigger{display:none}.mobile-move-panel{margin:-4px 0 18px;padding:14px;border:1px solid var(--ink);background:#111}
.mobile-move-head{margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-move-head span{display:block;font:700 11px/1 var(--display)}
.mobile-move-head small{display:block;margin-top:5px;color:var(--faint);font:400 8px/1.3 var(--mono)}.mobile-move-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.auth-card label,.sheet-panel label,.password-card label{display:block;margin:0 0 13px;color:var(--dim);font:500 8px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.auth-card input,.sheet-panel input,.sheet-panel select,.sheet-panel textarea,.password-card input{display:block;width:100%;margin-top:7px;padding:11px 1px;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink);outline:0;font:400 12px/1.2 var(--sans);text-transform:none;letter-spacing:0}
.auth-card input:focus,.sheet-panel input:focus,.sheet-panel select:focus,.sheet-panel textarea:focus,.password-card input:focus{border-color:var(--ink)}
.sheet-panel select{padding-right:20px}.sheet-panel textarea{resize:vertical;line-height:1.45}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}.three-col{display:grid;grid-template-columns:1fr 1fr .55fr;gap:13px}
.form-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center}

.password-gate{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:var(--bg)}
.password-card{width:min(520px,100%);padding:25px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.password-card .kicker{margin-top:62px}.password-card h2{margin:8px 0 13px;font:800 36px/.95 var(--display);letter-spacing:-.06em;text-transform:uppercase}
.password-card>p{margin:0 0 25px;color:var(--dim);font:400 10px/1.5 var(--mono)}.password-card small{display:block;margin-top:11px;color:var(--faint);text-align:center;font:400 8px/1.4 var(--mono)}
.toast{position:fixed;z-index:150;left:50%;bottom:22px;transform:translateX(-50%);padding:10px 13px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--bg);box-shadow:8px 8px 0 rgba(255,255,255,.1);font:600 8px/1.2 var(--mono);text-transform:uppercase}

@media (hover:hover) and (pointer:fine){.session-card:hover{transform:translateY(-1px)}}
@media (max-width:800px){
  :root{--hour:72px;--time:48px}.app{display:block}.sidebar{display:none}main{padding:11px 9px 82px}
  .topbar{min-height:76px;align-items:flex-start}.topbar h1{font-size:28px}.top-actions .ghost{display:none}
  .top-actions .mobile-account{display:block;min-height:34px;padding:8px 9px;font-size:7px}.top-actions .light{min-height:34px;padding:8px 10px;font-size:8px}
  .status-line{margin-bottom:11px}.controls{position:sticky;z-index:10;top:0;justify-content:space-between;background:var(--bg)}.date-display{min-width:0;flex:1;font-size:10px}.controls-spacer,.controls .compact{display:none}
  .pulse{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.pulse-chip{min-width:0;padding:8px 9px;border-bottom:1px solid var(--line);white-space:normal}.pulse-chip:nth-child(even){border-right:0}
  .schedule-shell{display:none}.mobile-schedule{display:block;border-top:1px solid var(--line-strong)}.drag-hint,.move-handle{display:none}
  .mobile-room{border-bottom:1px solid var(--line-strong)}
  .mobile-room-header{min-height:82px;padding:11px 2px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px}
  .mobile-room-index{color:#30302e;font:900 30px/.8 var(--display);letter-spacing:-.08em}
  .mobile-room-header h2{margin:0;font:750 13px/1 var(--display);letter-spacing:-.045em;text-transform:uppercase}
  .mobile-room-header p{margin:6px 0 0;color:var(--faint);font:400 8px/1.2 var(--mono)}
  .mobile-room-status{max-width:110px;padding-top:4px;border-top:1px solid var(--line-strong);color:var(--faint);font:500 7px/1.2 var(--mono);text-align:right;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-room-status.live{border-color:var(--ink);color:var(--ink)}
  .mobile-room-sessions{border-top:1px solid var(--line)}
  .mobile-session{width:100%;min-height:68px;padding:10px 2px;border:0;border-bottom:1px solid #22221f;display:grid;grid-template-columns:61px minmax(0,1fr) auto;align-items:center;gap:11px;background:transparent;color:var(--ink);text-align:left}
  .mobile-session:last-child{border-bottom:0}.mobile-session:active{background:var(--ink);color:var(--bg)}
  .mobile-session time{align-self:stretch;padding-top:2px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;font-family:var(--mono)}
  .mobile-session time strong{font-size:11px}.mobile-session time span{color:var(--faint);font-size:8px}.mobile-session:active time span{color:currentColor;opacity:.55}
  .mobile-session-copy{min-width:0}.mobile-session-copy>strong{display:block;font:700 12px/1.1 var(--display);letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-session-copy small{display:block;margin-top:6px;color:var(--faint);font:400 8px/1.2 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-session:active .mobile-session-copy small{color:currentColor;opacity:.55}
  .mobile-session-state{font:500 7px/1 var(--mono);white-space:nowrap}.mobile-session-state i{display:inline-block;width:5px;height:5px;margin-right:5px;border:1px solid currentColor;border-radius:50%;vertical-align:0}
  .mobile-session.confirmed .mobile-session-state i{background:currentColor}.mobile-session.hold .mobile-session-state{color:var(--dim)}.mobile-session.cancelled{opacity:.35;text-decoration:line-through}
  .mobile-room-empty{width:100%;min-height:60px;padding:10px 2px;border:0;display:flex;align-items:center;justify-content:space-between;background:transparent;color:var(--faint);font:400 8px/1 var(--mono);text-align:left}
  .mobile-room-empty strong{color:var(--ink);font:600 8px/1 var(--mono)}
  .mobile-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;padding:11px 5px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--line-strong);display:flex;justify-content:space-around;background:rgba(5,5,5,.96)}
  .mobile-nav button{padding:3px;border:0;background:transparent;color:var(--faint);font:600 8px/1 var(--mono)}.mobile-nav .active,.mobile-nav #mobileNew{color:var(--ink)}
  .now-header h2{font-size:37px}.now-summary{max-width:145px;text-align:right}.now-rooms{grid-template-columns:1fr}.now-room{min-height:190px;border-right:0;border-bottom:1px solid var(--line)}.now-client{margin:22px 0}
  .up-next-item{grid-template-columns:56px 1fr}.up-next-item span{grid-column:2;text-align:left}.list-toolbar{position:sticky;z-index:4;top:0;padding:8px 0;background:var(--bg)}
  .client-grid{grid-template-columns:1fr}.client-card{border-right:0}.two-col,.three-col,.mobile-move-fields{grid-template-columns:1fr;gap:0}
  .sheet-panel{max-height:95vh;padding:9px 16px calc(22px + env(safe-area-inset-bottom))}.sheet-title-row h2{font-size:24px}.quick-actions{gap:4px}
  .mobile-move-trigger{display:block;border-color:var(--ink)!important;color:var(--ink)!important}.session-panel.mobile-move-open #sessionForm,.session-panel.mobile-move-open .quick-actions{display:none}
  .form-actions{grid-template-columns:1fr 1fr}.form-actions span{display:none}.form-actions .danger{grid-column:1/-1;order:3}
  .auth-shell{padding:18px}.auth-copy{margin:60px 0 35px;display:block}.auth-card h1{margin-top:10px;font-size:37px}.auth-sub{margin-top:15px}.auth-card form{grid-template-columns:1fr}
  .activity-item{grid-template-columns:55px 1fr}.password-card h2{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .tandem-mark i{animation:none}
}
