:root{--bg: #0E0E0E;--panel: #171717;--panel-2: #1E1E1E;--elevated: #242424;--line: #2A2A2A;--line-strong: #3A3A3A;--text: #F2EFE8;--text-dim: #A8A49A;--text-mute: #6B6860;--text-faint: #3E3C38;--amber: #F5B301;--amber-deep: #C99200;--amber-ink: #0E0E0E;--red: #E94B2A;--red-dim: #8F2E1B;--green: #5A8A65;--green-dim: #2E4636;--blue: #6B8FB5;--f-display: "Oswald", "Arial Narrow", sans-serif;--f-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--f-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--r-sm: 2px;--r-md: 4px;--r-lg: 6px;--row-h: 44px;--pad-x: 20px;--pad-y: 16px}[data-mode=light]{--bg: #F2EFE8;--panel: #FFFFFF;--panel-2: #F8F5EE;--elevated: #FFFFFF;--line: #E5E0D3;--line-strong:#C9C3B3;--text: #151413;--text-dim: #5A574F;--text-mute: #8A877F;--text-faint: #BFBBB0;--amber-ink: #0E0E0E}[data-density=compact]{--row-h: 36px;--pad-x: 14px;--pad-y: 10px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.eyebrow{font-family:var(--f-body);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}.eyebrow.dim{color:var(--text-mute)}.display{font-family:var(--f-display);font-weight:500;letter-spacing:.01em;text-transform:uppercase;line-height:1}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);vertical-align:middle;margin-right:10px;flex-shrink:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-mute)}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--bg);border-right:1px solid var(--line);padding:22px 0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px}.brand{padding:0 22px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.brand-mark{width:28px;height:28px;background:var(--amber);color:var(--amber-ink);font-family:var(--f-display);font-weight:700;font-size:18px;display:grid;place-items:center;border-radius:2px;letter-spacing:-.02em}.brand-name{font-family:var(--f-display);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.brand-sub{font-size:9px;letter-spacing:.22em;color:var(--text-mute);text-transform:uppercase;margin-top:2px}.nav-group{padding:0 14px}.nav-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);padding:0 8px 8px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-sm);color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;position:relative;letter-spacing:.01em}.nav-item:hover{color:var(--text);background:var(--panel)}.nav-item.active{color:var(--amber-ink);background:var(--amber);font-weight:600}.nav-item.active .nav-num{color:var(--amber-ink);opacity:.6}.nav-num{font-family:var(--f-mono);font-size:10px;color:var(--text-mute);width:18px}.nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px}.sidebar-foot{margin-top:auto;padding:16px 22px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--elevated);display:grid;place-items:center;font-weight:600;font-size:12px;color:var(--text-dim);border:1px solid var(--line-strong)}.user-name{font-size:12px;font-weight:600}.user-role{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.15em}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:20px;position:sticky;top:0;background:var(--bg);z-index:10}.topbar-crumbs{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute)}.topbar-crumbs .sep{color:var(--text-faint)}.topbar-crumbs .current{color:var(--text)}.search{flex:0 0 320px;margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 10px;height:34px}.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:12px}.search input::placeholder{color:var(--text-mute)}.kbd{font-family:var(--f-mono);font-size:10px;padding:1px 5px;border:1px solid var(--line-strong);border-radius:2px;color:var(--text-mute)}.btn{height:34px;padding:0 14px;border:1px solid var(--line-strong);background:transparent;color:var(--text);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:8px;transition:background .08s}.btn:hover{background:var(--panel)}.btn.primary{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}.btn.primary:hover{background:var(--amber-deep);border-color:var(--amber-deep)}.btn.ghost{border-color:transparent;color:var(--text-dim)}.btn.ghost:hover{background:var(--panel);color:var(--text)}.btn.danger{color:var(--red);border-color:var(--red-dim)}.btn.danger:hover{background:#e94b2a14}.btn.sm{height:28px;padding:0 10px;font-size:11px}.content{padding:28px 28px 60px;display:flex;flex-direction:column;gap:24px;max-width:1560px}.page-hero{display:grid;grid-template-columns:1fr auto;gap:40px;border-bottom:1px solid var(--line);padding-bottom:28px;position:relative}.page-hero .section-num{font-family:var(--f-display);font-size:180px;font-weight:500;color:var(--amber);line-height:.85;position:absolute;right:20px;top:-20px;opacity:.08;letter-spacing:-.02em;pointer-events:none}.page-title-num{font-family:var(--f-display);font-size:56px;color:var(--amber);line-height:1;margin-bottom:12px;font-weight:500}.page-title{font-family:var(--f-display);font-size:52px;font-weight:500;line-height:.95;letter-spacing:.005em;text-transform:uppercase;margin:0}.page-sub{color:var(--text-dim);max-width:56ch;margin-top:14px;font-size:13px}.hero-meta{display:flex;gap:28px;align-self:end;border-left:1px solid var(--line);padding-left:28px}.hero-stat{min-width:80px}.hero-stat .k{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute)}.hero-stat .v{font-family:var(--f-display);font-size:36px;color:var(--text);font-weight:500;line-height:1.1;margin-top:4px}.hero-stat .v.accent{color:var(--amber)}.hero-stat .v.alert{color:var(--red)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);position:relative;overflow:hidden}.panel-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);gap:14px}.panel-head .ptitle{font-family:var(--f-display);font-size:18px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.panel-head .ppre{font-family:var(--f-mono);font-size:11px;color:var(--amber);margin-right:6px}.panel-head .psub{color:var(--text-mute);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-left:8px}.panel-head .spacer{flex:1}.panel-body{padding:0}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:var(--panel);border:1px solid var(--line);padding:18px 18px 16px;border-radius:var(--r-md);position:relative;min-height:116px;overflow:hidden}.stat-card .k{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);display:flex;align-items:center;gap:8px}.stat-card .v{font-family:var(--f-display);font-size:48px;font-weight:500;color:var(--text);line-height:1;margin-top:10px}.stat-card .delta{font-size:10px;color:var(--text-mute);margin-top:8px;font-family:var(--f-mono)}.stat-card .delta.up{color:var(--green)}.stat-card .delta.down{color:var(--red)}.stat-card.accent{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}.stat-card.accent .k{color:#0e0e0eb3}.stat-card.accent .v{color:var(--amber-ink)}.stat-card.accent .delta{color:#0e0e0eb3}.stat-card.alert{border-color:var(--red-dim)}.stat-card.alert .v{color:var(--red)}.stat-card .corner{position:absolute;right:14px;top:14px;font-family:var(--f-mono);font-size:10px;color:var(--text-mute)}.stat-card.accent .corner{color:#0e0e0e99}.session-row{display:grid;grid-template-columns:110px 1fr auto;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line);align-items:start;cursor:pointer;transition:background .08s}.session-row:hover{background:var(--panel-2)}.session-row:last-child{border-bottom:0}.session-time{font-family:var(--f-mono);font-size:12px;color:var(--text);letter-spacing:.02em}.session-time .dur{display:block;font-size:10px;color:var(--text-mute);margin-top:2px}.session-body .title{font-family:var(--f-display);font-size:18px;text-transform:uppercase;letter-spacing:.03em;font-weight:500;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-body .people{margin-top:8px;color:var(--text-dim);font-size:12px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.session-body .people .sep{color:var(--text-faint)}.session-body .meta{margin-top:8px;display:flex;gap:14px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-mute)}.session-body .meta .tag{display:inline-flex;align-items:center;gap:6px}.session-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.session-side .type{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim)}.session-side .coach-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600}.coach-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:2px;border:1px solid var(--line-strong);color:var(--text-dim);font-family:var(--f-body)}.badge.group{border-color:var(--amber);color:var(--amber)}.badge.solo{border-color:var(--line-strong);color:var(--text-mute)}.badge.new{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}.badge.cancelled{background:var(--red-dim);color:#fddad0;border-color:var(--red-dim)}.badge.moved{background:#f5b3011a;color:var(--amber);border-color:var(--amber-deep)}.badge.flag{background:var(--red);color:#fff;border-color:var(--red)}.badge.soft{border-color:var(--line-strong);color:var(--text-dim)}.status-pill{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-mute)}.status-pill.active:before{background:var(--green)}.status-pill.cancelled:before{background:var(--red)}.status-pill.moved:before{background:var(--amber)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);font-weight:600;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel-2);position:sticky;top:0}.tbl tbody td{padding:14px 20px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td{background:var(--panel-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .muted{color:var(--text-mute)}.tbl .mono{font-size:12px;color:var(--text-dim)}.cell-person{display:flex;align-items:center;gap:10px}.cell-person .av{width:28px;height:28px;border-radius:50%;background:var(--elevated);border:1px solid var(--line-strong);display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--text-dim);flex-shrink:0}.cell-person .name{font-weight:600;font-size:13px}.cell-person .sub{font-size:10px;color:var(--text-mute);letter-spacing:.08em;text-transform:uppercase;margin-top:1px}.log-item{display:grid;grid-template-columns:80px 1fr auto;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);align-items:start}.log-item:last-child{border-bottom:0}.log-time{font-family:var(--f-mono);font-size:11px;color:var(--text-mute);letter-spacing:.04em}.log-body{font-size:12px;line-height:1.5;color:var(--text-dim)}.log-body b{color:var(--text);font-weight:600}.log-body .chg{color:var(--amber);font-weight:600}.log-tag{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-mute);font-family:var(--f-body)}.filter-bar{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px;width:fit-content}.filter-bar button{background:transparent;border:0;color:var(--text-dim);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:2px}.filter-bar button.active{background:var(--elevated);color:var(--text)}.filter-bar button:hover:not(.active){color:var(--text)}.cal-wrap{display:grid;grid-template-columns:56px repeat(7,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.cal-head{padding:14px 10px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-mute)}.cal-head.today{color:var(--amber)}.cal-head .dnum{font-family:var(--f-display);font-size:22px;color:var(--text);letter-spacing:0;margin-top:4px;font-weight:500}.cal-head.today .dnum{color:var(--amber)}.cal-head:last-child{border-right:0}.cal-timecol{border-right:1px solid var(--line);background:var(--panel-2)}.cal-timecol .tlabel{height:60px;padding:6px 8px 0;font-family:var(--f-mono);font-size:10px;color:var(--text-mute);text-align:right;border-bottom:1px dashed var(--line)}.cal-col{position:relative;border-right:1px solid var(--line);min-height:720px}.cal-col:last-child{border-right:0}.cal-col .hour-rule{height:60px;border-bottom:1px dashed var(--line)}.cal-event{position:absolute;left:4px;right:4px;padding:6px 8px;border-radius:2px;font-size:11px;overflow:hidden;cursor:pointer;border-left:3px solid var(--amber);background:#f5b3011f;color:var(--text)}.cal-event .t{font-family:var(--f-mono);font-size:10px;color:var(--text-dim);margin-bottom:2px}.cal-event .n{font-weight:600;font-size:11px;line-height:1.25}.cal-event .sub{color:var(--text-mute);font-size:10px;margin-top:1px}.cal-event.c-red{border-left-color:var(--red);background:#e94b2a1a}.cal-event.c-green{border-left-color:var(--green);background:#5a8a651f}.cal-event.c-blue{border-left-color:var(--blue);background:#6b8fb51f}.cal-event.c-amber{border-left-color:var(--amber);background:#f5b30124}.cal-event.c-purple{border-left-color:#8a6fb0;background:#8a6fb024}.cal-event.cancelled{opacity:.5;text-decoration:line-through;text-decoration-color:var(--red)}.now-line{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--amber);z-index:2}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:8px;height:8px;background:var(--amber);border-radius:50%}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050599;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;opacity:0;pointer-events:none;transition:opacity .18s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:540px;max-width:94vw;background:var(--panel);border-left:1px solid var(--line);z-index:51;transform:translate(100%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.drawer.open{transform:translate(0)}.drawer-head{padding:22px 28px 18px;border-bottom:1px solid var(--line);position:relative}.drawer-num{font-family:var(--f-mono);font-size:10px;color:var(--amber);letter-spacing:.2em}.drawer-title{font-family:var(--f-display);font-size:36px;text-transform:uppercase;font-weight:500;line-height:1;margin:8px 0 0}.drawer-close{position:absolute;top:18px;right:20px;width:34px;height:34px;border:1px solid var(--line-strong);background:transparent;color:var(--text-dim);border-radius:2px}.drawer-close:hover{background:var(--panel-2);color:var(--text)}.drawer-body{flex:1;overflow-y:auto;padding:24px 28px 60px}.drawer-foot{padding:16px 28px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:var(--panel)}.field{margin-bottom:18px}.field .lbl{display:block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);margin-bottom:6px}.field .lbl .req{color:var(--red);margin-left:3px}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field input[type=time],.field input[type=number],.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line-strong);color:var(--text);padding:10px 12px;font-size:13px;border-radius:var(--r-sm);outline:none}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--amber)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.toggle{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--text-dim);cursor:pointer}.toggle input{display:none}.toggle .sw{width:32px;height:18px;background:var(--line-strong);border-radius:10px;position:relative;transition:.12s}.toggle .sw:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text);border-radius:50%;transition:.12s}.toggle input:checked+.sw{background:var(--amber)}.toggle input:checked+.sw:after{transform:translate(14px);background:var(--amber-ink)}.wd-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.wd-picker button{background:var(--bg);border:1px solid var(--line-strong);color:var(--text-dim);padding:10px 0;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:2px}.wd-picker button.on{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg);border:1px solid var(--line-strong);border-radius:2px;font-size:12px;margin-right:6px;margin-bottom:6px}.chip .x{color:var(--text-mute);cursor:pointer;font-size:14px;line-height:1}.chip .x:hover{color:var(--red)}.part-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.part{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:var(--bg);border:1px solid var(--line-strong);border-radius:20px;font-size:12px}.rot-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-mute)}.tweaks{position:fixed;right:20px;bottom:20px;width:280px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);z-index:60;padding:16px;display:none;box-shadow:0 8px 30px #0006}.tweaks.open{display:block}.tweaks h4{font-family:var(--f-display);font-size:14px;text-transform:uppercase;margin:0 0 12px;letter-spacing:.08em;display:flex;align-items:center;gap:8px}.tweaks h4 .num{color:var(--amber);font-family:var(--f-mono);font-size:11px}.tweak-row{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.tweak-row .tl{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-mute)}.coach-swatch{width:14px;height:14px;border-radius:2px;display:inline-block;vertical-align:middle;border:1px solid rgba(255,255,255,.1)}.photo-ph{background-color:var(--elevated);background-image:repeating-linear-gradient(45deg,transparent 0 8px,rgba(255,255,255,.03) 8px 16px);display:grid;place-items:center;color:var(--text-mute);font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line)}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.grid-1-1{display:grid;grid-template-columns:1fr 1fr;gap:16px}.activity-compact .log-item{padding:10px 20px;grid-template-columns:70px 1fr}.foot-meta{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--line);color:var(--text-mute);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-family:var(--f-mono)}.add-row{padding:14px 20px;color:var(--text-mute);font-size:11px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:10px}.add-row:hover{color:var(--amber);background:var(--panel-2)}.slot-grid{display:grid;grid-template-columns:60px repeat(7,1fr);border-top:1px solid var(--line)}.slot-grid>div{padding:10px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:48px;font-size:11px}.slot-grid .col-head{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);background:var(--panel-2);font-weight:600}.slot-grid .th{font-family:var(--f-mono);color:var(--text-mute);font-size:10px;background:var(--panel-2);text-align:right;padding-right:10px}.slot-cell{position:relative;cursor:pointer}.slot-cell:hover{background:var(--panel-2)}.slot-block{position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:#f5b3011a;border-left:3px solid var(--amber);padding:4px 6px;font-size:10px;line-height:1.2;overflow:hidden}.slot-block.paused{opacity:.4;border-left-color:var(--text-mute);background:#ffffff08}.slot-block.group{border-left-color:var(--red);background:#e94b2a1a}.mobile-app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg)}.m-topbar{height:56px;padding:0 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.m-topbar .brand-mark{width:28px;height:28px;background:var(--amber);color:var(--amber-ink);font-family:var(--f-display);font-weight:700;font-size:18px;display:grid;place-items:center;border-radius:2px;flex-shrink:0}.m-topbar .page-name{font-family:var(--f-display);font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.m-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--panel);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.m-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-mute);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:none;background:transparent;cursor:pointer}.m-nav-item.active{color:var(--amber)}.m-content{flex:1;padding:16px 16px 80px;display:flex;flex-direction:column;gap:16px}.m-session-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:start;cursor:pointer}.m-session-card:active{background:var(--panel-2)}.m-session-card .time{font-family:var(--f-mono);font-size:12px;color:var(--text)}.m-session-card .time .dur{display:block;font-size:10px;color:var(--text-mute);margin-top:2px}.m-session-card .body .title{font-family:var(--f-display);font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.m-session-card .body .people{font-size:12px;color:var(--text-dim);margin-top:4px}.m-session-card .body .meta{display:flex;gap:8px;margin-top:6px}.m-day-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.m-day-strip::-webkit-scrollbar{display:none}.m-day-btn{flex-shrink:0;width:52px;padding:8px 0;border:1px solid var(--line);background:var(--panel);border-radius:var(--r-md);text-align:center;cursor:pointer}.m-day-btn .weekday{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-mute)}.m-day-btn .day-num{font-family:var(--f-display);font-size:22px;font-weight:500;color:var(--text);margin-top:2px}.m-day-btn.active{background:var(--amber);border-color:var(--amber)}.m-day-btn.active .weekday{color:#0e0e0e99}.m-day-btn.active .day-num{color:var(--amber-ink)}.m-section-head{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.m-section-head .title{font-family:var(--f-display);font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.m-empty{text-align:center;padding:40px 20px;color:var(--text-mute);font-size:13px}.m-desktop-only{text-align:center;padding:32px 20px;color:var(--text-mute);font-size:13px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md)}.m-desktop-only .msg{margin-bottom:12px}.login-layout{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:var(--bg);padding:20px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:40px 32px;width:100%;max-width:420px}.login-card h1{font-family:var(--f-display);font-size:28px;font-weight:500;text-transform:uppercase;line-height:1.1;margin:12px 0}.login-card__copy{color:var(--text-dim);font-size:13px;margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);display:flex;flex-direction:column;gap:6px}.login-form input{width:100%;background:var(--bg);border:1px solid var(--line-strong);color:var(--text);padding:10px 12px;font-size:13px;border-radius:var(--r-sm);outline:none}.login-form input:focus{border-color:var(--amber)}.primary-button{height:40px;background:var(--amber);color:var(--amber-ink);border:1px solid var(--amber);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-sm);cursor:pointer;margin-top:8px}.primary-button:hover{background:var(--amber-deep);border-color:var(--amber-deep)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.error-text{color:var(--red);font-size:12px}.splash-screen{min-height:100vh;display:grid;place-items:center;background:var(--bg)}
