@font-face{font-family:"Festival Display";src:url("/assets/fonts/space-grotesk-variable.ttf") format("truetype");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:"Festival Sans";src:url("/assets/fonts/manrope-variable.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}

:root{
  color-scheme:dark;
  --font-display:"Festival Display","Arial Narrow",sans-serif;
  --font-body:"Festival Sans",Arial,sans-serif;
  --font-mono:"B-Side Mono",ui-monospace,monospace;
  --fad-bg:#070611;
  --fad-bg-raised:#0e0c1b;
  --fad-panel:rgba(18,15,35,.92);
  --fad-panel-solid:#121020;
  --fad-panel-soft:rgba(26,22,47,.78);
  --fad-ink:#f7f5ff;
  --fad-muted:#aaa4bf;
  --fad-faint:#77718e;
  --fad-line:rgba(157,142,214,.2);
  --fad-line-strong:rgba(178,163,234,.36);
  --fad-violet:#7b5cff;
  --fad-violet-bright:#a877ff;
  --fad-cyan:#52e7f5;
  --fad-cyan-deep:#0b8295;
  --fad-coral:#ff5794;
  --fad-mint:#64e6ba;
  --fad-amber:#ffbc63;
  --fad-red:#ff5f73;
  --fad-shadow:0 28px 80px rgba(0,0,0,.38);
  --fad-radius:18px;
  --fad-radius-sm:12px;
  --bg:var(--fad-bg);
  --panel:var(--fad-panel-solid);
  --panel2:#17142a;
  --ink:var(--fad-ink);
  --muted:var(--fad-muted);
  --line:var(--fad-line);
  --primary:var(--fad-cyan);
  --primaryText:#061116;
  --primaryBorder:rgba(255,255,255,.16);
  --primaryHover:#78eff8;
  --lime:var(--fad-mint);
  --amber:var(--fad-amber);
  --red:#431724;
  --redText:#ffb7c2;
  --blue:#17284f;
  --blueText:#a9c9ff;
  --toast:#19152d;
  --toastText:#fff;
  --sidebar:#090713;
  --sidebarLine:rgba(178,163,234,.18);
}

html[data-theme="light"]{
  color-scheme:light;
  --fad-bg:#f1eef8;
  --fad-bg-raised:#f9f7fd;
  --fad-panel:rgba(255,255,255,.9);
  --fad-panel-solid:#fff;
  --fad-panel-soft:rgba(239,235,248,.9);
  --fad-ink:#211a35;
  --fad-muted:#6e6681;
  --fad-faint:#8d849e;
  --fad-line:rgba(62,43,100,.15);
  --fad-line-strong:rgba(72,49,118,.27);
  --fad-violet:#6543dc;
  --fad-violet-bright:#7c57ed;
  --fad-cyan:#0a7183;
  --fad-cyan-deep:#075565;
  --fad-coral:#d62e71;
  --fad-mint:#087c5c;
  --fad-amber:#925407;
  --fad-red:#a51433;
  --fad-shadow:0 24px 65px rgba(50,35,80,.13);
  --bg:var(--fad-bg);
  --panel:var(--fad-panel-solid);
  --panel2:#e9e5f2;
  --ink:var(--fad-ink);
  --muted:var(--fad-muted);
  --line:var(--fad-line);
  --primary:#0b6879;
  --primaryText:#fff;
  --primaryBorder:rgba(9,71,82,.15);
  --primaryHover:#095867;
  --lime:var(--fad-mint);
  --amber:#ad6509;
  --red:#ffe6eb;
  --redText:#8e112b;
  --blue:#e5edff;
  --blueText:#1f4f99;
  --toast:#261d3c;
  --toastText:#fff;
  --sidebar:#171126;
  --sidebarLine:rgba(255,255,255,.14);
}

*{box-sizing:border-box}
html{background:var(--fad-bg);scroll-behavior:smooth}
body{min-width:320px;margin:0;font-family:var(--font-body);font-variation-settings:"wght" 450;background:
  radial-gradient(circle at 18% -5%,color-mix(in srgb,var(--fad-violet) 23%,transparent) 0,transparent 34rem),
  radial-gradient(circle at 92% 4%,color-mix(in srgb,var(--fad-cyan) 11%,transparent) 0,transparent 29rem),
  var(--fad-bg);color:var(--fad-ink);line-height:1.5}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.36;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 72%)}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--fad-cyan) 76%,white);outline-offset:3px}
h1,h2,h3,.hero-title,.brand-name{font-family:var(--font-display);font-variation-settings:"wght" 650;letter-spacing:-.045em}
.eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.15em;color:var(--fad-cyan)}
.nav-svg{width:20px;height:20px;display:block}

/* Application shell */
.shell{min-height:100vh;display:block}
.sidebar{position:fixed;inset:0 auto 0 0;width:86px;padding:0;display:block;background:rgba(7,6,17,.92);border-right:1px solid var(--fad-line);box-shadow:12px 0 50px rgba(0,0,0,.18);backdrop-filter:blur(24px);z-index:60;overflow:visible}
html[data-theme="light"] .sidebar{background:rgba(23,17,38,.97)}
.rail-core{height:100%;width:85px;padding:14px 10px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 34%),var(--sidebar)}
.rail-brand{width:56px;height:56px;margin-bottom:12px;border:0;border-radius:17px;background:linear-gradient(145deg,rgba(123,92,255,.2),rgba(82,231,245,.06));display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(162,141,255,.22),0 12px 30px rgba(0,0,0,.22)}
.rail-brand .bside-mark,.rail-brand img{width:37px;height:37px}
.mission-rail{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.mission-button,.rail-command,.rail-feedback{width:64px;min-height:58px;padding:8px 4px;border:0;border-radius:15px;color:#918aa9;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;transition:background .22s ease,color .22s ease,transform .22s ease}
.mission-button b,.rail-command b,.rail-feedback b{font-size:.59rem;letter-spacing:.02em}
.mission-button:hover,.rail-command:hover,.rail-feedback:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateY(-1px)}
.mission-button.active{color:#fff;background:linear-gradient(145deg,rgba(123,92,255,.42),rgba(82,231,245,.14));box-shadow:inset 0 0 0 1px rgba(143,127,255,.4),0 10px 24px rgba(66,42,139,.22)}
.mission-button.active:before{content:"";position:absolute;left:-10px;width:3px;height:27px;border-radius:0 5px 5px 0;background:var(--fad-cyan);box-shadow:0 0 16px var(--fad-cyan)}
.rail-spacer{flex:1}
.rail-feedback{color:#c49eff}
.rail-panel{position:absolute;inset:0 auto 0 86px;width:294px;padding:20px 18px 18px;background:rgba(11,8,24,.98);border-right:1px solid var(--fad-line-strong);box-shadow:30px 0 70px rgba(0,0,0,.38);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateX(-16px);transition:opacity .24s ease,transform .24s ease,visibility .24s;pointer-events:none;overflow-y:auto}
.sidebar:hover .rail-panel,.sidebar:focus-within .rail-panel,.sidebar.open .rail-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.rail-lockup{display:flex;align-items:center;gap:10px;padding:0 4px 19px;border-bottom:1px solid var(--fad-line)}
.rail-lockup-mark,.rail-lockup-mark img{width:34px;height:34px}
.rail-lockup span{display:flex;flex-direction:column;line-height:1}
.rail-lockup b{font-family:var(--font-display);font-size:1rem;letter-spacing:.08em}
.rail-lockup small{margin-top:4px;font-size:.58rem;letter-spacing:.2em;color:#9d96b4}
.rail-lockup i{margin-left:auto;padding:4px 6px;border:1px solid rgba(82,231,245,.32);border-radius:5px;color:var(--fad-cyan);font:600 .52rem/1 var(--font-mono);font-style:normal}
.rail-panel .band-switch{margin:18px 0 22px;border:1px solid var(--fad-line);background:rgba(255,255,255,.035);border-radius:15px;padding:10px}
.rail-panel .band-avatar{background:linear-gradient(145deg,var(--fad-violet),#312078);color:#fff}
.rail-panel .band-picker-toggle{color:#fff}
.rail-panel .band-picker-toggle>span:last-child{color:#9d96b4}
.rail-panel .band-picker-menu{background:#151127;border-color:var(--fad-line-strong);box-shadow:var(--fad-shadow)}
.nav{flex:1;min-height:0;overflow:auto;margin:0 -5px;padding:0 5px}
.mission-panel-head{padding:3px 4px 14px}
.mission-panel-head>span{font:600 .62rem/1 var(--font-mono);letter-spacing:.16em;color:var(--fad-cyan)}
.mission-panel-head h2{margin:8px 0 0;font-size:1.28rem;color:#fff}
.mission-links{display:grid;gap:5px}
.mission-links>button{width:100%;min-height:48px;padding:10px 11px;border:1px solid transparent;border-radius:12px;background:transparent;color:#a8a2b9;display:flex;align-items:center;gap:11px;text-align:left;font-weight:650;transition:.2s ease}
.mission-links>button:hover{color:#fff;background:rgba(255,255,255,.055)}
.mission-links>button.active{color:#fff;border-color:rgba(82,231,245,.2);background:linear-gradient(90deg,rgba(82,231,245,.12),rgba(123,92,255,.09))}
.mission-links .nav-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.045)}
.mission-links .nav-svg{width:16px;height:16px}
.mission-links .nav-count{margin-left:auto;min-width:21px;height:21px;border-radius:999px;display:grid;place-items:center;background:var(--fad-coral);color:#fff;font-size:.62rem;font-style:normal}
.side-bottom{margin-top:14px;padding-top:14px;border-top:1px solid var(--fad-line);display:grid;gap:8px}
.side-bottom .alpha-card{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border:1px solid rgba(123,92,255,.25);border-radius:11px;background:rgba(123,92,255,.08)}
.side-bottom .alpha-card span{font:600 .55rem/1 var(--font-mono);color:#b8b0ca;letter-spacing:.12em}
.side-bottom .alpha-card b{font:.6rem/1 var(--font-mono);color:var(--fad-cyan)}
.side-bottom .signout{border:0;border-radius:10px;background:transparent;color:#8e879f;padding:9px;text-align:left}
.side-bottom .signout:hover{background:rgba(255,87,148,.09);color:#ff9abc}
.main{width:auto;min-height:100vh;margin-left:86px}
.topbar{height:76px;padding:0 clamp(20px,3vw,42px);display:flex;gap:20px;align-items:center;position:sticky;top:0;z-index:35;border-bottom:1px solid var(--fad-line);background:color-mix(in srgb,var(--fad-bg) 82%,transparent);backdrop-filter:blur(22px) saturate(125%)}
.crumb{min-width:138px;display:flex;flex-direction:column;line-height:1.1}
.crumb span{font:600 .58rem/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fad-cyan)}
.crumb b{margin-top:6px;font-family:var(--font-display);font-size:.92rem;letter-spacing:-.02em}
.top-search{width:min(390px,34vw);min-height:40px;margin-left:auto;padding:0 11px;border:1px solid var(--fad-line);border-radius:12px;background:var(--fad-panel-soft);color:var(--fad-muted);display:flex;align-items:center;gap:9px;text-align:left}
.top-search:hover{border-color:var(--fad-line-strong);color:var(--fad-ink)}
.top-search .nav-svg{width:17px;height:17px}.top-search span{flex:1;font-size:.78rem}.top-search kbd,.command-search kbd{padding:4px 6px;border:1px solid var(--fad-line);border-bottom-color:var(--fad-line-strong);border-radius:6px;background:rgba(255,255,255,.035);font:600 .55rem/1 var(--font-mono);color:var(--fad-faint)}
.top-actions{margin-left:0;display:flex;align-items:center;gap:8px}
.icon-button,.quick-create-toggle,.user-menu-toggle{min-height:40px;border:1px solid var(--fad-line);border-radius:12px;background:var(--fad-panel-soft);color:var(--fad-ink)}
.icon-button:hover,.quick-create-toggle:hover,.user-menu-toggle:hover{border-color:var(--fad-line-strong);background:color-mix(in srgb,var(--fad-panel-soft) 78%,var(--fad-violet) 22%)}
.quick-create-toggle{padding:0 13px;background:linear-gradient(135deg,var(--fad-cyan),#9aebff);color:#071218;border-color:transparent}
.quick-create-toggle .nav-svg{width:17px}.quick-create-toggle span{font-weight:800}
.quick-create-menu,.user-menu-panel{border:1px solid var(--fad-line-strong);border-radius:16px;background:color-mix(in srgb,var(--fad-panel-solid) 94%,transparent);box-shadow:var(--fad-shadow);backdrop-filter:blur(24px)}
.user-menu-toggle .avatar{background:linear-gradient(145deg,var(--fad-violet),#3f2a96);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.user-menu-panel>button:hover,.quick-create-menu>button:hover{background:rgba(123,92,255,.1)}
.content{max-width:1500px;margin:0 auto;padding:clamp(26px,3vw,48px) clamp(20px,3.4vw,52px) 80px}

/* Global components */
.title-row{margin-bottom:26px;align-items:flex-end}.title-row h1{margin:7px 0 4px;font-size:clamp(2.15rem,4vw,4.1rem);line-height:.96}.subtitle{max-width:68ch;color:var(--fad-muted)}
.btn{min-height:42px;padding:10px 16px;border-radius:11px;font-weight:750;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary,.btn.accent{background:linear-gradient(135deg,var(--fad-cyan),#8feefd);color:#061217;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 30px rgba(31,194,218,.13)}
.btn.primary:hover,.btn.accent:hover{background:linear-gradient(135deg,#79eff9,#b0f7ff);box-shadow:0 12px 32px rgba(31,194,218,.22)}
html[data-theme="light"] .btn.primary,html[data-theme="light"] .btn.accent{background:linear-gradient(135deg,#0b6879,#0a8296);color:#fff}
.btn.secondary{background:var(--fad-panel-soft);border:1px solid var(--fad-line);color:var(--fad-ink)}
.btn.secondary:hover{background:color-mix(in srgb,var(--fad-panel-soft) 82%,var(--fad-violet) 18%);border-color:var(--fad-line-strong)}
.btn.danger{background:rgba(255,95,115,.12);border:1px solid rgba(255,95,115,.34);color:#ff9baa}
.link-button{color:var(--fad-muted)}.link-button:hover{color:var(--fad-cyan)}
.card,.workspace-panel,.table-wrap,.todo-command,.settings-card{border:1px solid var(--fad-line);border-radius:var(--fad-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--fad-panel-solid) 94%,var(--fad-violet) 6%),var(--fad-panel-solid));box-shadow:0 20px 55px rgba(0,0,0,.1)}
html[data-theme="light"] .card,html[data-theme="light"] .workspace-panel,html[data-theme="light"] .table-wrap,html[data-theme="light"] .todo-command,html[data-theme="light"] .settings-card{box-shadow:0 16px 45px rgba(56,38,88,.07)}
.card-head h2,.workspace-panel h2{font-size:clamp(1.25rem,2vw,1.75rem)}
.stat{border:1px solid var(--fad-line);border-radius:15px;background:var(--fad-panel-soft)}
.stat-icon{color:var(--fad-cyan);background:rgba(82,231,245,.08)}
.status{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;border-radius:999px}
.status.good{background:rgba(100,230,186,.12);color:color-mix(in srgb,var(--fad-mint) 85%,white)}
.status.warn{background:rgba(255,188,99,.13);color:color-mix(in srgb,var(--fad-amber) 86%,white)}
.status.bad{background:rgba(255,95,115,.13);color:#ff9cab}
.status.info{background:rgba(82,231,245,.12);color:color-mix(in srgb,var(--fad-cyan) 85%,white)}
.field label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;color:var(--fad-muted)}
.field input,.field select,.field textarea,input,select,textarea{border:1px solid var(--fad-line);border-radius:11px;background:color-mix(in srgb,var(--fad-panel-solid) 82%,transparent);color:var(--fad-ink)}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--fad-cyan);box-shadow:0 0 0 3px rgba(82,231,245,.11)}
.table{font-size:.88rem}.table th{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--fad-faint);background:var(--fad-panel-soft)}.table td{border-color:var(--fad-line)}.table tr:hover td{background:rgba(123,92,255,.045)}
.modal-shade{background:rgba(3,2,9,.74);backdrop-filter:blur(12px)}
.modal{border:1px solid var(--fad-line-strong);border-radius:20px;background:var(--fad-panel-solid);box-shadow:0 40px 110px rgba(0,0,0,.55)}
.modal-head,.modal-foot{border-color:var(--fad-line)}
.modal-head h2{font-size:1.65rem}.modal-foot{background:var(--fad-panel-soft)}
.toast{z-index:200;right:24px;bottom:24px;border:1px solid rgba(82,231,245,.3);border-radius:13px;background:#171229;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.42);pointer-events:none;animation:festivalToast .28s ease both}
@keyframes festivalToast{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

/* Authentication and public entry */
.entrance-shell{min-height:100vh;background:
  radial-gradient(circle at 15% 20%,rgba(123,92,255,.28),transparent 31rem),
  radial-gradient(circle at 72% 2%,rgba(82,231,245,.13),transparent 27rem),
  radial-gradient(circle at 82% 76%,rgba(255,87,148,.1),transparent 25rem),#070611;color:#f7f5ff}
.entrance-shell:before{opacity:.28;background-size:64px 64px}
.entrance-masthead{padding:25px clamp(22px,4vw,64px);border-color:rgba(180,165,235,.18)}
.entrance-brand{gap:12px}.entrance-brand-mark,.entrance-brand-mark img{width:45px;height:45px}.entrance-brand span b{font-family:var(--font-display);font-size:1.08rem;letter-spacing:.12em}.entrance-brand span small{color:#aaa4bd}.entrance-brand>i{padding:5px 7px;border:1px solid rgba(82,231,245,.28);border-radius:6px;color:var(--fad-cyan);font:600 .52rem/1 var(--font-mono);font-style:normal}
.entrance-layout{min-height:calc(100vh - 154px);grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:clamp(30px,6vw,100px);align-items:center;padding:clamp(34px,6vw,92px) clamp(22px,6vw,96px)}
.entrance-story-copy h1{max-width:880px;margin:18px 0 23px;font-size:clamp(4rem,8.5vw,8.3rem);line-height:.83;letter-spacing:-.075em}.entrance-story-copy h1 em{font-style:normal;background:linear-gradient(90deg,#9f70ff 0,#6b8dff 45%,#52e7f5 88%);-webkit-background-clip:text;background-clip:text;color:transparent}.entrance-story-copy p{max-width:590px;font-size:clamp(1rem,1.4vw,1.25rem);color:#bbb4cc}.entrance-kicker span{border-color:rgba(169,145,255,.3);background:rgba(123,92,255,.08);color:#cbc3df}
.entrance-route{border-color:rgba(179,163,234,.18);background:rgba(11,9,23,.5)}.entrance-route i{color:var(--fad-cyan)}
.entrance-show-file{border:1px solid rgba(159,137,255,.3);border-radius:20px;background:linear-gradient(145deg,rgba(21,17,42,.9),rgba(12,10,25,.92));box-shadow:0 35px 90px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);overflow:hidden}.entrance-show-file:before{content:"";position:absolute;width:360px;height:360px;right:-190px;top:-240px;background:radial-gradient(circle,rgba(82,231,245,.24),transparent 68%);pointer-events:none}.entrance-ready{background:rgba(100,230,186,.12);color:var(--fad-mint);border-color:rgba(100,230,186,.25)}
.entrance-access-card{border:1px solid rgba(168,144,255,.33);border-radius:22px;background:rgba(17,14,34,.86);box-shadow:0 40px 100px rgba(0,0,0,.45);backdrop-filter:blur(26px)}
.entrance-pass-head{border-color:rgba(168,144,255,.2);color:#aaa3bd}.entrance-access-intro h2{font-size:clamp(1.9rem,3vw,2.6rem)}.auth-tabs{background:rgba(255,255,255,.035)}.auth-tabs button.active{background:rgba(123,92,255,.22);color:#fff}.entrance-submit{width:100%;min-height:50px}.entrance-footer{border-color:rgba(180,165,235,.18);color:#857e98}

/* Command palette */
.command-shade{position:fixed;inset:0;z-index:170;display:grid;place-items:start center;padding:9vh 18px 18px;background:rgba(3,2,10,.7);backdrop-filter:blur(14px)}
.command-palette{width:min(720px,100%);max-height:78vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--fad-line-strong);border-radius:22px;background:color-mix(in srgb,var(--fad-panel-solid) 96%,transparent);box-shadow:0 45px 130px rgba(0,0,0,.62);animation:commandIn .25s cubic-bezier(.2,.8,.2,1) both}
@keyframes commandIn{from{opacity:0;transform:translateY(-14px) scale(.985)}to{opacity:1;transform:none}}
.command-palette>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:21px 22px 14px}.command-palette>header span{font:600 .58rem/1 var(--font-mono);letter-spacing:.15em;color:var(--fad-cyan)}.command-palette>header h2{margin:7px 0 0;font-size:1.45rem}.command-palette kbd{font:600 .55rem/1 var(--font-mono);color:var(--fad-muted)}
.command-search{margin:0 18px 13px;min-height:54px;padding:0 14px;border:1px solid var(--fad-line-strong);border-radius:14px;background:var(--fad-panel-soft);display:flex;align-items:center;gap:11px}.command-search .nav-svg{color:var(--fad-cyan)}.command-search input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;font-size:.96rem}.command-quick{display:flex;gap:7px;padding:0 18px 14px;overflow:auto}.command-quick button{min-width:max-content;padding:8px 11px;border:1px solid var(--fad-line);border-radius:10px;background:transparent;color:var(--fad-muted);display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700}.command-quick .nav-svg{width:15px;height:15px}.command-quick button:hover{color:var(--fad-ink);border-color:var(--fad-line-strong)}
.command-results{padding:5px 10px 12px;overflow:auto;border-top:1px solid var(--fad-line)}.command-result{width:100%;min-height:57px;padding:9px 11px;border:0;border-radius:12px;background:transparent;color:var(--fad-ink);display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left}.command-result:hover{background:rgba(123,92,255,.1)}.command-result-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(82,231,245,.07);color:var(--fad-cyan)}.command-result-icon .nav-svg{width:17px;height:17px}.command-result b,.command-result small{display:block}.command-result b{font-size:.86rem}.command-result small{margin-top:2px;color:var(--fad-muted);font-size:.68rem}.command-result>i{color:var(--fad-faint);font-style:normal}.command-empty{padding:40px;text-align:center}.command-empty b,.command-empty span{display:block}.command-empty span{margin-top:4px;color:var(--fad-muted)}.command-palette>footer{padding:10px 20px;display:flex;justify-content:space-between;border-top:1px solid var(--fad-line);color:var(--fad-faint);font:500 .58rem/1 var(--font-mono)}

/* Today */
.today-dashboard{display:grid;gap:20px}.today-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:5px}.today-title h1{margin:9px 0 5px;font-size:clamp(2.75rem,5vw,5.4rem);line-height:.92}.today-title h1 em{font-style:normal;background:linear-gradient(90deg,var(--fad-violet-bright),var(--fad-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.today-title p{margin:0;color:var(--fad-muted)}
.today-priority-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:18px;align-items:stretch}.today-priority-grid>.card{margin:0}
.attention-board{padding:21px}.attention-head{margin-bottom:15px}.attention-head h2{margin:5px 0 3px;font-size:1.55rem}.attention-count{background:rgba(255,87,148,.12);color:var(--fad-coral)}.attention-item{border-color:var(--fad-line);border-radius:12px;background:rgba(255,255,255,.025)}.attention-item:hover{border-color:var(--fad-line-strong);background:rgba(123,92,255,.07)}.attention-item-icon{background:rgba(123,92,255,.1);color:var(--fad-violet-bright)}.attention-item.urgent .attention-item-icon{background:rgba(255,87,148,.12);color:var(--fad-coral)}.attention-item.warn .attention-item-icon{background:rgba(255,188,99,.11);color:var(--fad-amber)}.attention-item.info .attention-item-icon{background:rgba(82,231,245,.1);color:var(--fad-cyan)}
.festival-gig-hero{min-height:100%;padding:26px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(35,24,72,.96),rgba(12,10,28,.96) 62%,rgba(9,29,37,.9));border-color:rgba(147,126,230,.35)}.festival-gig-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,transparent 34%,rgba(123,92,255,.12),transparent 58%)}.festival-gig-light{position:absolute;z-index:-1;width:480px;height:480px;right:-190px;top:-280px;border-radius:50%;background:radial-gradient(circle,rgba(82,231,245,.32),rgba(123,92,255,.13) 36%,transparent 68%)}.festival-gig-hero .eyebrow{color:#8eedf5}.festival-gig-hero .hero-title{max-width:780px;margin:10px 0 5px;font-size:clamp(2.45rem,4.8vw,5rem);line-height:.9;color:#fff}.festival-gig-hero .hero-meta{color:#bbb5cb}.festival-call-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:23px 0 20px}.festival-call-times>div{padding:11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(5,4,14,.26)}.festival-call-times span,.festival-call-times b{display:block}.festival-call-times span{font:600 .55rem/1 var(--font-mono);letter-spacing:.12em;color:#a9a2b9}.festival-call-times b{margin-top:7px;font:650 1.35rem/1 var(--font-mono);color:#fff}.festival-readiness{margin-bottom:19px}.festival-readiness>div{display:flex;justify-content:space-between}.festival-readiness>div span{font:600 .56rem/1 var(--font-mono);letter-spacing:.12em;color:#aaa4b9}.festival-readiness>div b{font:.7rem/1 var(--font-mono);color:var(--fad-cyan)}.festival-readiness>i{height:4px;margin:8px 0;display:block;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.festival-readiness>i span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--fad-violet-bright),var(--fad-cyan));box-shadow:0 0 13px rgba(82,231,245,.55)}.festival-readiness small{color:#aaa4b9}.festival-gig-hero .btn{width:100%}.empty-gig-hero{display:flex;flex-direction:column;justify-content:center}
.today-schedule{padding:21px}.today-schedule .card-head{margin-bottom:15px}.today-schedule-track{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px;overflow:auto}.today-schedule-track>button{min-height:122px;padding:13px;border:1px solid var(--fad-line);border-radius:13px;background:var(--fad-panel-soft);color:var(--fad-ink);display:flex;flex-direction:column;text-align:left;position:relative}.today-schedule-track>button:hover{border-color:rgba(82,231,245,.35);background:rgba(82,231,245,.05)}.today-schedule-track>button>span{position:absolute;right:11px;top:9px;font:600 1.2rem/1 var(--font-display);color:rgba(168,119,255,.45)}.today-schedule-track small{font:600 .55rem/1 var(--font-mono);letter-spacing:.08em;color:var(--fad-cyan)}.today-schedule-track b{margin-top:18px;line-height:1.1}.today-schedule-track i{margin-top:6px;color:var(--fad-muted);font-size:.67rem;font-style:normal}
.today-signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.today-signal-grid>button{min-height:125px;padding:17px;border:1px solid var(--fad-line);border-radius:14px;background:var(--fad-panel-soft);color:var(--fad-ink);text-align:left;display:flex;flex-direction:column}.today-signal-grid>button:hover{border-color:var(--fad-line-strong);transform:translateY(-2px)}.today-signal-grid span{font:600 .57rem/1 var(--font-mono);letter-spacing:.12em;color:var(--fad-faint)}.today-signal-grid b{margin-top:auto;font:650 clamp(1.55rem,2.4vw,2.35rem)/1 var(--font-display)}.today-signal-grid b i{font-size:.9rem;color:var(--fad-muted);font-style:normal}.today-signal-grid small{margin-top:7px;color:var(--fad-muted);font-size:.7rem}.dashboard-lower-grid{grid-template-columns:1.12fr .88fr}.quick-actions,.dashboard-lower-grid .card{height:100%}

/* Booking pipeline */
.pipeline-guide{border:1px solid var(--fad-line);border-radius:13px;background:var(--fad-panel-soft)}.pipeline-guide span i{background:rgba(123,92,255,.12);color:var(--fad-violet-bright)}.pipeline-guide>b{color:var(--fad-cyan)}
.booking-board{gap:10px}.booking-column{border:1px solid var(--fad-line);border-radius:16px;background:rgba(15,12,28,.56);overflow:hidden}.booking-column-head{border-color:var(--fad-line);background:rgba(255,255,255,.025)}.booking-column-head span{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.11em}.booking-column-head b{background:rgba(123,92,255,.13);color:var(--fad-violet-bright)}.booking-card{border:1px solid var(--fad-line);border-radius:13px;background:var(--fad-panel-solid);box-shadow:0 10px 30px rgba(0,0,0,.1)}.booking-card:hover{border-color:rgba(82,231,245,.38);transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.18)}

/* Unified gig workspace */
.festival-gig-workspace{display:grid;gap:16px}.gig-workspace-hero{min-height:220px;padding:clamp(24px,3vw,42px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:25px;align-items:center;position:relative;overflow:hidden;border:1px solid rgba(150,129,231,.3);border-radius:22px;background:linear-gradient(122deg,rgba(38,24,79,.93),rgba(13,10,31,.96) 56%,rgba(8,34,42,.9));box-shadow:var(--fad-shadow)}.gig-workspace-hero:before{content:"";position:absolute;width:570px;height:570px;right:-240px;top:-390px;border-radius:50%;background:radial-gradient(circle,rgba(82,231,245,.32),rgba(123,92,255,.12) 42%,transparent 69%)}.gig-workspace-hero:after{content:"";position:absolute;left:31%;top:-60%;width:120px;height:220%;background:linear-gradient(to bottom,transparent,rgba(168,119,255,.1),transparent);transform:rotate(24deg);filter:blur(14px)}.gig-date-orbit{width:104px;min-height:132px;padding:13px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(6,4,18,.34);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.gig-date-orbit span,.gig-date-orbit b,.gig-date-orbit small{font-family:var(--font-mono);letter-spacing:.09em}.gig-date-orbit span{color:var(--fad-cyan);font-size:.62rem}.gig-date-orbit strong{font:650 3.4rem/.95 var(--font-display);color:#fff}.gig-date-orbit b{font-size:.73rem;color:#c8c1d8}.gig-date-orbit small{font-size:.55rem;color:#827a94}.gig-workspace-title{position:relative;z-index:1}.gig-workspace-title h1{margin:9px 0 6px;font-size:clamp(3rem,6vw,6.2rem);line-height:.86;color:#fff}.gig-workspace-title p{margin:0;color:#b8b1c7}.gig-live-state{min-width:130px;padding:13px 15px;border:1px solid rgba(100,230,186,.26);border-radius:13px;background:rgba(100,230,186,.07);position:relative;z-index:1}.gig-live-state i{width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%;background:var(--fad-mint);box-shadow:0 0 12px var(--fad-mint)}.gig-live-state span{font:650 .62rem/1 var(--font-mono);letter-spacing:.1em;color:var(--fad-mint)}.gig-live-state small{display:block;margin-top:6px;color:#aaa4b8}.gig-live-state.cancelled{border-color:rgba(255,95,115,.35);background:rgba(255,95,115,.1)}.gig-live-state.cancelled i{background:var(--fad-red);box-shadow:0 0 12px var(--fad-red)}.gig-live-state.cancelled span{color:#ff9cab}
.gig-workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.gig-workspace-tabs{display:flex;gap:5px;padding:5px;border:1px solid var(--fad-line);border-radius:15px;background:var(--fad-panel-soft);overflow:auto}.gig-workspace-tabs button{min-height:45px;padding:8px 14px;border:0;border-radius:10px;background:transparent;color:var(--fad-muted);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;white-space:nowrap}.gig-workspace-tabs .nav-svg{width:17px;height:17px}.gig-workspace-tabs button:hover{color:var(--fad-ink);background:rgba(255,255,255,.035)}.gig-workspace-tabs button.active{color:#071218;background:linear-gradient(135deg,var(--fad-cyan),#99f0fa);box-shadow:0 8px 22px rgba(38,202,224,.12)}html[data-theme="light"] .gig-workspace-tabs button.active{color:#fff;background:linear-gradient(135deg,#0b6879,#0b8295)}.gig-workspace-tabs button i{min-width:18px;height:18px;border-radius:99px;background:var(--fad-coral);color:#fff;display:grid;place-items:center;font:.58rem/1 var(--font-mono);font-style:normal}.gig-workspace-content{min-height:420px}.workspace-panel{padding:22px}.workspace-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.workspace-panel header>span,.workspace-panel header>div>span,.workspace-panel>span{font:600 .59rem/1 var(--font-mono);letter-spacing:.13em;color:var(--fad-cyan)}.workspace-panel header h2{margin:7px 0 0}.workspace-panel header p{margin:5px 0 0;color:var(--fad-muted)}
.gig-overview-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:14px}.workspace-side-stack{display:grid;gap:14px}.workspace-run-list>div{min-height:68px;padding:10px 0;display:grid;grid-template-columns:35px minmax(0,1fr) auto 58px;gap:10px;align-items:center;border-bottom:1px solid var(--fad-line)}.workspace-run-list>div:last-child{border-bottom:0}.workspace-run-list>div>span{font:600 .68rem/1 var(--font-mono);color:var(--fad-faint)}.workspace-run-list b,.workspace-run-list small{display:block}.workspace-run-list small{margin-top:3px;color:var(--fad-muted);font-size:.7rem}.workspace-run-list strong{font:650 1.35rem/1 var(--font-mono)}.workspace-run-list i{text-align:right;font:600 .54rem/1 var(--font-mono);letter-spacing:.08em;color:var(--fad-faint);font-style:normal}.workspace-run-list .next{margin:0 -9px;padding:10px 9px;border:1px solid rgba(82,231,245,.22);border-radius:10px;background:rgba(82,231,245,.055)}.workspace-run-list .next>span,.workspace-run-list .next>i{color:var(--fad-cyan)}
.workspace-check{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--fad-line)}.workspace-check:last-child{border-bottom:0}.workspace-check>i{width:9px;height:9px;border-radius:50%;background:var(--fad-faint)}.workspace-check.good>i{background:var(--fad-mint);box-shadow:0 0 10px rgba(100,230,186,.45)}.workspace-check.warn>i{background:var(--fad-amber)}.workspace-check.bad>i{background:var(--fad-red)}.workspace-check span{min-width:0}.workspace-check small,.workspace-check b{display:block}.workspace-check small{font:600 .54rem/1 var(--font-mono);letter-spacing:.09em;color:var(--fad-faint)}.workspace-check b{margin-top:5px;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venue-panel p{color:var(--fad-muted)}.venue-panel dl{margin:15px 0}.venue-panel dl>div,.finance-breakdown dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--fad-line)}.venue-panel dt,.finance-breakdown dt{color:var(--fad-muted)}.venue-panel dd,.finance-breakdown dd{margin:0;text-align:right;font-weight:700}.show-note-panel{margin-top:14px;display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:20px;align-items:center}.show-note-panel>div span,.show-note-panel>div small{display:block}.show-note-panel>div span{font:600 .59rem/1 var(--font-mono);letter-spacing:.13em;color:var(--fad-coral)}.show-note-panel>div small{margin-top:6px;color:var(--fad-muted)}.show-note-panel p{margin:0;font-size:1.04rem}
.people-panel>header{align-items:center}.workspace-score{padding:8px 10px;border-radius:999px;font:650 .59rem/1 var(--font-mono);letter-spacing:.08em}.workspace-score.good{background:rgba(100,230,186,.1);color:var(--fad-mint)}.workspace-score.warn{background:rgba(255,188,99,.1);color:var(--fad-amber)}.workspace-score.bad{background:rgba(255,95,115,.1);color:#ff9cab}.workspace-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workspace-member-grid .day-member{margin:0;border:1px solid var(--fad-line);border-radius:12px;background:var(--fad-panel-soft)}
.workspace-setlist{margin:0;padding:0;list-style:none}.workspace-setlist li{min-height:75px;padding:11px 4px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 66px;gap:12px;align-items:center;border-bottom:1px solid var(--fad-line)}.workspace-setlist li:last-child{border-bottom:0}.workspace-setlist>li>span{font:650 1.2rem/1 var(--font-mono);color:var(--fad-violet-bright)}.workspace-setlist b,.workspace-setlist small{display:block}.workspace-setlist b{font-size:1rem}.workspace-setlist b em{margin-left:8px;padding:3px 6px;border-radius:5px;background:rgba(255,87,148,.1);color:var(--fad-coral);font:.52rem/1 var(--font-mono);font-style:normal}.workspace-setlist small{margin-top:4px;color:var(--fad-muted)}.workspace-setlist time{font-family:var(--font-mono);color:var(--fad-muted)}
.production-workspace,.finance-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.production-preview{padding:12px;border:1px solid var(--fad-line);border-radius:15px;background:#090912}.production-status{align-self:start;background:linear-gradient(145deg,rgba(123,92,255,.14),var(--fad-panel-solid))}.production-status>b{display:block;margin-top:12px;font:650 2rem/1 var(--font-display);color:var(--fad-violet-bright)}.production-status p{color:var(--fad-muted)}.workspace-empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.workspace-empty>span{width:62px;height:62px;border-radius:18px;background:rgba(123,92,255,.09);color:var(--fad-violet-bright);display:grid;place-items:center}.workspace-empty .nav-svg{width:27px;height:27px}.workspace-empty b{margin-top:16px;font-size:1.2rem}.workspace-empty p{margin:6px 0 0;color:var(--fad-muted)}.conversation-launch{min-height:420px;display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:30px;padding:clamp(30px,5vw,70px)}.conversation-launch>span{width:86px;height:86px;border-radius:25px;background:linear-gradient(145deg,rgba(123,92,255,.24),rgba(82,231,245,.09));display:grid;place-items:center;color:var(--fad-cyan)}.conversation-launch>span .nav-svg{width:36px;height:36px}.conversation-launch h2{margin:8px 0 5px;font-size:clamp(2rem,4vw,4rem)}.conversation-launch p{max-width:680px;margin:0;color:var(--fad-muted)}.fee-hero{min-height:320px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(123,92,255,.22),rgba(12,10,28,.94))}.fee-hero:after{content:"";position:absolute;width:380px;height:380px;right:-170px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(82,231,245,.26),transparent 67%)}.fee-hero strong{font:650 clamp(3.8rem,8vw,8rem)/.9 var(--font-display);letter-spacing:-.07em}.fee-hero small{margin-top:12px;color:var(--fad-muted)}.fee-hero>i{width:64px;height:4px;margin-top:24px;border-radius:99px;background:var(--fad-mint);box-shadow:0 0 18px rgba(100,230,186,.45)}.fee-hero>i.due{background:var(--fad-coral);box-shadow:0 0 18px rgba(255,87,148,.45)}.finance-breakdown .due{color:var(--fad-coral)}.finance-breakdown>.btn{width:100%;margin-top:8px}

/* Show Mode */
.show-mode-shell{background:radial-gradient(circle at 75% -15%,rgba(82,231,245,.15),transparent 38rem),radial-gradient(circle at 20% 14%,rgba(123,92,255,.2),transparent 38rem),#05040c;color:#fff;--show-rule:rgba(171,151,235,.2);--show-muted:#aaa3b9}
.show-mode-top{border-color:var(--show-rule);background:rgba(5,4,12,.88)}.show-mode-brand{color:var(--fad-cyan)}.show-mode-mark,.show-mode-mark img{width:31px;height:31px}.show-mode-word{font-family:var(--font-display);letter-spacing:.12em}.show-exit{border-color:var(--show-rule);border-radius:10px;background:rgba(255,255,255,.04)}
.show-kicker{color:var(--fad-cyan)}.show-mode-hero h1{font-family:var(--font-display)}.show-next-call{border-radius:16px;background:linear-gradient(110deg,var(--fad-violet),#574bd7 48%,var(--fad-cyan));color:#fff;box-shadow:0 25px 65px rgba(73,45,167,.3)}.show-next-call small{color:rgba(255,255,255,.75)}.show-jump-nav{border-color:var(--show-rule);border-radius:12px;background:rgba(255,255,255,.03)}.show-jump-nav a:hover{background:rgba(123,92,255,.14)}.show-time-grid>div,.show-section{border-color:var(--show-rule);border-radius:15px;background:rgba(16,13,31,.86)}.show-time-grid>div.next{border-color:rgba(82,231,245,.45);box-shadow:inset 0 0 0 1px rgba(82,231,245,.1)}.show-time-grid>div.next span,.show-time-grid>div.next small{color:var(--fad-cyan)}.show-setlist li:before{background:rgba(123,92,255,.14);color:var(--fad-cyan)}.show-action.primary{background:var(--fad-cyan);border-color:var(--fad-cyan);color:#071218}

/* Stage, settings, and dense tools */
.stage-workspace,.stage-board,.stage-sidebar-card,.stage-input-card{border-color:var(--fad-line);border-radius:var(--fad-radius);background:var(--fad-panel-solid)}
.stage-canvas-wrap{isolation:isolate}.stage-canvas{background:#0a0912}.stage-canvas-commandbar,.stage-item-toolbar{border-color:var(--fad-line-strong);background:rgba(15,12,29,.96);box-shadow:var(--fad-shadow)}
.stage-shelf-head button,.stage-palette button{border-color:var(--fad-line);background:var(--fad-panel-soft);color:var(--fad-ink)}.stage-palette button:hover{border-color:var(--fad-cyan)}
.notification-settings-card{max-height:660px;overflow:auto;scrollbar-color:var(--fad-violet) transparent}.settings-grid{align-items:start}.settings-card .form-grid{max-width:880px}.settings-card .btn:not(.compact){width:auto;min-width:180px}
.chat-layout,.chat-thread-list,.chat-room,.todo-item,.member-card,.setup-card{border-color:var(--fad-line);background:var(--fad-panel-solid)}

/* Responsive */
.mobile-bottom-nav{display:none}
@media(max-width:1180px){
  .top-search{width:250px}.user-menu-identity{display:none}.today-priority-grid{grid-template-columns:1fr}.festival-gig-hero{min-height:420px}.today-schedule-track{grid-template-columns:repeat(5,190px)}.booking-board{grid-template-columns:repeat(2,minmax(260px,1fr))}.production-workspace,.finance-workspace{grid-template-columns:1fr 280px}
}
@media(max-width:900px){
  .sidebar{width:min(350px,92vw);transform:translateX(-105%);transition:transform .25s ease;display:grid;grid-template-columns:78px minmax(0,1fr);overflow:hidden}.sidebar.open{transform:none}.rail-core{width:78px}.rail-panel{position:static;width:auto;min-width:0;padding:17px 14px;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none}.main{width:100%;max-width:100%;margin-left:0;padding-bottom:73px;overflow-x:clip}.topbar{height:68px;padding:0 18px;gap:12px}.mobile-menu{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--fad-line);border-radius:11px;background:var(--fad-panel-soft);color:var(--fad-ink)}.crumb{min-width:0}.crumb span{display:none}.top-search{display:none}.top-actions{margin-left:auto}.top-actions>.icon-button,.top-actions>.notification-button{display:none}.quick-create-toggle span,.quick-create-toggle i{display:none}.quick-create-toggle{width:40px;padding:0}.user-menu-toggle{padding:2px}.user-menu-toggle>i{display:none}.user-menu-panel{right:0;width:min(330px,calc(100vw - 28px))}.content{width:100%;max-width:100%;padding:25px 18px 90px}.overlay.show{display:block;position:fixed;inset:0;z-index:55;background:rgba(3,2,9,.65);backdrop-filter:blur(5px)}.mobile-bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;height:69px;padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--fad-line);background:color-mix(in srgb,var(--fad-bg) 91%,transparent);backdrop-filter:blur(22px)}.mobile-bottom-nav button{border:0;border-radius:10px;background:transparent;color:var(--fad-faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-bottom-nav button span{height:auto}.mobile-bottom-nav .nav-svg{width:19px;height:19px}.mobile-bottom-nav b{font-size:.58rem}.mobile-bottom-nav button.active{color:var(--fad-cyan);background:rgba(82,231,245,.06)}
  .today-dashboard,.today-dashboard>*{min-width:0;max-width:100%}.today-title{align-items:flex-start;flex-direction:column}.today-title .actions{width:100%}.today-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower-grid{grid-template-columns:1fr}.today-schedule-track{max-width:100%;overflow-x:auto}.gig-workspace-hero{grid-template-columns:auto 1fr;min-height:auto}.gig-live-state{grid-column:1/-1;display:flex;align-items:center;gap:5px}.gig-live-state small{margin:0 0 0 auto}.gig-workspace-actions{align-items:flex-start;flex-direction:column}.gig-workspace-actions>.actions{width:100%;overflow:auto;flex-wrap:nowrap}.gig-workspace-actions .btn{white-space:nowrap}.gig-overview-grid{grid-template-columns:1fr}.workspace-side-stack{grid-template-columns:repeat(2,1fr)}.show-note-panel{grid-template-columns:1fr}.production-workspace,.finance-workspace{grid-template-columns:1fr}.conversation-launch{grid-template-columns:72px 1fr}.conversation-launch>span{width:68px;height:68px}.conversation-launch .btn{grid-column:1/-1}.workspace-member-grid{grid-template-columns:1fr}.show-mode-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .content{padding-left:14px;padding-right:14px}.title-row{align-items:flex-start;flex-direction:column}.title-row .actions{width:100%}.title-row .actions .btn{flex:1}.today-title h1{font-size:2.75rem}.today-title .actions .btn:first-child{display:none}.today-priority-grid{display:block}.today-priority-grid>*+*{margin-top:12px}.festival-gig-hero{min-height:390px;padding:20px}.festival-gig-hero .hero-title{font-size:2.7rem}.festival-call-times{gap:5px}.festival-call-times>div{padding:10px 8px}.festival-call-times b{font-size:1.05rem}.attention-board{padding:17px}.today-signal-grid{gap:7px}.today-signal-grid>button{min-height:112px;padding:13px}.today-schedule{padding:16px}.booking-board{grid-template-columns:1fr}.pipeline-guide{overflow:auto;justify-content:flex-start}.gig-workspace-hero{padding:20px;gap:14px}.gig-date-orbit{width:74px;min-height:100px;padding:9px}.gig-date-orbit strong{font-size:2.4rem}.gig-workspace-title h1{font-size:2.7rem}.gig-workspace-title p{font-size:.75rem}.gig-workspace-tabs{margin:0 -2px}.gig-workspace-tabs button{padding:8px 11px}.gig-workspace-tabs button .nav-svg{display:none}.workspace-panel{padding:17px}.workspace-side-stack{grid-template-columns:1fr}.workspace-run-list>div{grid-template-columns:29px minmax(0,1fr) auto}.workspace-run-list>div>i{display:none}.workspace-setlist li{grid-template-columns:32px minmax(0,1fr) auto}.workspace-setlist li>.mini-btn{grid-column:2/-1;justify-self:start}.show-note-panel{gap:9px}.conversation-launch{display:flex;flex-direction:column;align-items:flex-start}.fee-hero strong{font-size:4.2rem}.command-shade{padding:18px 10px}.command-palette{max-height:calc(100vh - 36px);border-radius:17px}.command-palette>header h2{font-size:1.15rem}.command-quick{display:none}.command-search kbd{display:none}.entrance-layout{display:block;padding:32px 18px}.entrance-story{margin-bottom:30px}.entrance-story-copy h1{font-size:3.7rem}.entrance-route,.entrance-show-file{display:none}.entrance-masthead-actions>span{display:none}.entrance-footer>span{display:none}.entrance-footer>div{width:100%}.show-mode-hero{align-items:flex-start;flex-direction:column}.show-next-call{grid-template-columns:1fr}.show-next-call>div:first-child{padding:0 0 14px;border:0;border-bottom:1px solid rgba(255,255,255,.2)}.show-time-grid{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:hover,.booking-card:hover,.today-signal-grid>button:hover{transform:none}
}
@media print{
  .sidebar,.topbar,.mobile-bottom-nav,.command-shade{display:none!important}.main{margin:0!important}.content{max-width:none!important;padding:0!important}body{background:#fff!important}.festival-gig-workspace{color:#111}.gig-workspace-hero{box-shadow:none}
}

/* Design lab pass 2 — calendar and booking surfaces now share the Festival After Dark system. */
body[data-page="calendar"] .content>.title-row,
body[data-page="bookings"] .content>.title-row{padding-top:0;border-top:0}
body[data-page="calendar"] .content>.title-row .eyebrow,
body[data-page="bookings"] .content>.title-row .eyebrow{color:var(--fad-cyan)}

/* Calendar: replace the legacy wall-planner paper with a luminous operations surface. */
body[data-page="calendar"] .calendar-legend{margin:0 0 14px;padding:10px 13px;border:1px solid var(--fad-line);border-left:3px solid var(--fad-violet-bright);border-radius:12px;background:linear-gradient(100deg,rgba(123,92,255,.12),var(--fad-panel-soft));color:var(--fad-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.02em}
body[data-page="calendar"] .calendar-legend .cal-dot{width:8px;height:8px;border:0}
body[data-page="calendar"] .calendar-legend .cal-dot.yes{background:var(--fad-mint)}
body[data-page="calendar"] .calendar-legend .cal-dot.maybe{background:var(--fad-amber);transform:none}
body[data-page="calendar"] .calendar-legend .cal-dot.no{background:var(--fad-coral)}
body[data-page="calendar"] .calendar-event-key{margin-left:auto;color:var(--fad-faint)}
body[data-page="calendar"] .calendar-card{border:1px solid var(--fad-line);border-radius:20px;background:var(--fad-panel);box-shadow:var(--fad-shadow)}
html[data-theme="dark"] body[data-page="calendar"] .calendar-card{border-color:var(--fad-line);box-shadow:var(--fad-shadow)}
body[data-page="calendar"] .calendar-toolbar{min-height:70px;padding:13px 15px;border-bottom:1px solid var(--fad-line);background:linear-gradient(110deg,rgba(123,92,255,.2),rgba(82,231,245,.06) 52%,rgba(18,15,35,.1));color:var(--fad-ink)}
body[data-page="calendar"] .calendar-toolbar h2{font-family:var(--font-display);font-size:1.42rem;letter-spacing:.01em;text-transform:none;color:var(--fad-ink)}
body[data-page="calendar"] .calendar-toolbar .btn.secondary{border:1px solid var(--fad-line-strong);border-radius:10px;background:var(--fad-panel-soft);color:var(--fad-ink)}
body[data-page="calendar"] .calendar-toolbar .btn.secondary:hover{border-color:var(--fad-cyan);background:rgba(82,231,245,.1)}
body[data-page="calendar"] .cal-week{border-top:0}
body[data-page="calendar"] .cal-week span{padding:9px 4px;border-color:var(--fad-line);background:rgba(123,92,255,.08);color:var(--fad-muted);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em}
body[data-page="calendar"] .cal-day{position:relative;min-height:116px;border-color:var(--fad-line);background:color-mix(in srgb,var(--fad-panel-solid) 86%,var(--fad-violet) 14%);color:var(--fad-ink);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
body[data-page="calendar"] .cal-day:hover{background:color-mix(in srgb,var(--fad-panel-solid) 76%,var(--fad-cyan) 24%);border-color:var(--fad-line-strong)}
body[data-page="calendar"] .cal-day.outside{background:var(--fad-bg-raised);opacity:.45}
body[data-page="calendar"] .cal-num{font-family:var(--font-mono);font-size:.78rem;color:var(--fad-ink)}
body[data-page="calendar"] .cal-day.selected{outline:0;box-shadow:inset 0 0 0 2px var(--fad-cyan),inset 0 -3px 0 var(--fad-violet-bright);background:color-mix(in srgb,var(--fad-panel-solid) 68%,var(--fad-violet) 32%)}
html[data-theme="dark"] body[data-page="calendar"] .cal-day.selected{background:color-mix(in srgb,var(--fad-panel-solid) 68%,var(--fad-violet) 32%);box-shadow:inset 0 0 0 2px var(--fad-cyan),inset 0 -3px 0 var(--fad-violet-bright)}
html[data-theme="dark"] body[data-page="calendar"] .cal-day.selected .cal-num{color:var(--fad-ink)}
body[data-page="calendar"] .cal-event{margin-top:6px;border:1px solid rgba(168,119,255,.34);border-radius:8px;padding:5px 6px;background:rgba(123,92,255,.15);color:var(--fad-ink);font-size:.69rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
body[data-page="calendar"] .cal-event.proposed{background:rgba(255,188,99,.13);border-color:rgba(255,188,99,.38);color:var(--fad-amber)}
body[data-page="calendar"] .cal-event.rehearsal{background:rgba(82,231,245,.1);border-color:rgba(82,231,245,.3);color:var(--fad-cyan)}
body[data-page="calendar"] .cal-event.cancelled{background:rgba(255,87,148,.13);border-color:rgba(255,87,148,.4);color:var(--fad-coral)}
body[data-page="calendar"] .cal-more{color:var(--fad-faint)}
body[data-page="calendar"] .cal-dots{gap:4px;margin-top:8px}
body[data-page="calendar"] .cal-dot{width:8px;height:8px;border:0;background:var(--fad-faint)}
body[data-page="calendar"] .cal-dot.yes{background:var(--fad-mint)}
body[data-page="calendar"] .cal-dot.maybe{background:var(--fad-amber);transform:none}
body[data-page="calendar"] .cal-dot.no{background:var(--fad-coral)}
body[data-page="calendar"] .day-panel{border:1px solid var(--fad-line);border-radius:18px;background:var(--fad-panel);box-shadow:var(--fad-shadow)}
html[data-theme="dark"] body[data-page="calendar"] .day-panel{border-color:var(--fad-line);box-shadow:var(--fad-shadow)}
body[data-page="calendar"] .day-panel:before{content:"DATE FOCUS";display:block;margin:-2px 0 13px;padding-bottom:9px;border-bottom:1px solid var(--fad-line);color:var(--fad-cyan);font:600 .61rem/1 var(--font-mono);letter-spacing:.14em}
body[data-page="calendar"] .day-date{font-family:var(--font-display);font-size:1.4rem;letter-spacing:-.02em;color:var(--fad-ink)}
body[data-page="calendar"] .my-availability{border-color:var(--fad-line);background:rgba(123,92,255,.08)}

/* Booking Pipeline: retain the four-stage workflow while removing the paper-slip treatment. */
body[data-page="bookings"] .pipeline-guide{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:0;margin:0 0 14px;padding:5px;border:1px solid var(--fad-line);border-radius:15px;background:linear-gradient(100deg,rgba(123,92,255,.14),var(--fad-panel-soft));color:var(--fad-muted)}
body[data-page="bookings"] .pipeline-guide span{display:flex;align-items:center;gap:9px;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:var(--fad-muted);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.07em}
body[data-page="bookings"] .pipeline-guide span i{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--fad-line-strong);border-radius:50%;background:rgba(255,255,255,.03);color:var(--fad-cyan);font:600 .61rem/1 var(--font-mono)}
body[data-page="bookings"] .pipeline-guide b{align-self:center;color:var(--fad-violet-bright)}
body[data-page="bookings"] .booking-board{gap:11px;padding:10px;border:1px solid var(--fad-line);border-radius:20px;background:linear-gradient(120deg,rgba(123,92,255,.08),rgba(12,10,27,.42));box-shadow:var(--fad-shadow)}
body[data-page="bookings"] .booking-column{border:1px solid var(--fad-line);border-radius:15px;background:rgba(18,15,35,.72);box-shadow:inset 0 2px 0 rgba(168,119,255,.18)}
body[data-page="bookings"] .booking-column-head{padding:13px 13px 12px;border-color:var(--fad-line);background:linear-gradient(115deg,rgba(255,255,255,.045),rgba(123,92,255,.08));}
body[data-page="bookings"] .booking-column-head span{color:var(--fad-muted);font:600 .61rem/1 var(--font-mono);letter-spacing:.12em}
body[data-page="bookings"] .booking-column-head b{border-radius:8px;background:rgba(123,92,255,.16);color:var(--fad-violet-bright);font:600 .7rem/1 var(--font-mono)}
body[data-page="bookings"] .booking-column.stage-enquiry .booking-column-head{box-shadow:inset 0 3px 0 var(--fad-faint)}
body[data-page="bookings"] .booking-column.stage-checking .booking-column-head{box-shadow:inset 0 3px 0 var(--fad-amber)}
body[data-page="bookings"] .booking-column.stage-negotiating .booking-column-head{box-shadow:inset 0 3px 0 var(--fad-cyan)}
body[data-page="bookings"] .booking-column.stage-confirmed .booking-column-head{box-shadow:inset 0 3px 0 var(--fad-mint)}
body[data-page="bookings"] .booking-column-body{padding:9px}
body[data-page="bookings"] .booking-card{position:relative;border:1px solid var(--fad-line);border-radius:13px;background:var(--fad-panel-solid);color:var(--fad-ink);box-shadow:0 12px 28px rgba(0,0,0,.2);clip-path:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
body[data-page="bookings"] .booking-card:nth-child(even){background:var(--fad-panel-solid)}
body[data-page="bookings"] .booking-card:hover{border-color:rgba(82,231,245,.45);background:color-mix(in srgb,var(--fad-panel-solid) 88%,var(--fad-violet) 12%);box-shadow:0 17px 34px rgba(0,0,0,.26);transform:translateY(-2px)}
body[data-page="bookings"] .booking-card h3{padding-top:0;border-top:0;font-family:var(--font-display);font-size:1.05rem}
body[data-page="bookings"] .booking-card p,body[data-page="bookings"] .booking-card small,body[data-page="bookings"] .booking-date{color:var(--fad-muted)}
body[data-page="bookings"] .booking-card-meta{padding-top:10px;border-top:1px solid var(--fad-line)}
body[data-page="bookings"] .booking-empty{border-color:var(--fad-line);border-radius:11px;background:rgba(255,255,255,.015);color:var(--fad-faint)}
body[data-page="bookings"] .closed-bookings{border-color:var(--fad-line);background:var(--fad-panel)}

html[data-theme="light"] body[data-page="calendar"] .cal-day{background:color-mix(in srgb,var(--fad-panel-solid) 92%,var(--fad-violet) 8%)}
html[data-theme="light"] body[data-page="calendar"] .cal-day:hover{background:color-mix(in srgb,var(--fad-panel-solid) 86%,var(--fad-cyan) 14%)}
html[data-theme="light"] body[data-page="calendar"] .cal-day.outside{background:var(--fad-bg-raised)}
html[data-theme="light"] body[data-page="calendar"] .calendar-card,
html[data-theme="light"] body[data-page="calendar"] .day-panel{box-shadow:var(--fad-shadow)}
html[data-theme="light"] body[data-page="bookings"] .booking-board{background:linear-gradient(120deg,rgba(101,67,220,.07),rgba(255,255,255,.72))}
html[data-theme="light"] body[data-page="bookings"] .booking-column{background:rgba(255,255,255,.76)}
html[data-theme="light"] body[data-page="bookings"] .booking-card{background:#fff;color:var(--fad-ink);box-shadow:0 12px 28px rgba(50,35,80,.1)}
html[data-theme="light"] body[data-page="bookings"] .booking-card:nth-child(even){background:#fff}

@media(max-width:620px){
  body[data-page="calendar"] .calendar-legend{font-size:.64rem;gap:8px}
  body[data-page="calendar"] .calendar-event-key{margin-left:0}
  body[data-page="calendar"] .calendar-card{border-radius:16px}
  body[data-page="calendar"] .calendar-toolbar{min-height:60px;padding:10px 9px}
  body[data-page="calendar"] .calendar-toolbar h2{font-size:1.05rem}
  body[data-page="calendar"] .cal-day{min-height:76px;padding:6px}
  body[data-page="calendar"] .cal-event{font-size:.6rem;padding:4px}
  body[data-page="bookings"] .pipeline-guide{grid-template-columns:1fr 1fr}
  body[data-page="bookings"] .pipeline-guide b{display:none}
  body[data-page="bookings"] .pipeline-guide span{padding:8px 9px;font-size:.6rem}
}
@media(max-width:430px){
  body[data-page="bookings"] .pipeline-guide{grid-template-columns:1fr}
}

/* Design lab pass 3 — site-wide surface cohesion and adaptive density.
   Legacy page rules remain in styles.css for the live app, so this final layer
   deliberately reasserts the Festival After Dark panel language on every
   design-lab route. Distinctive Today, Gig Workspace and Show Mode heroes keep
   their authored treatments; working panels share one surface family. */
:root{
  --fad-surface-1:var(--fad-panel-solid);
  --fad-surface-2:var(--fad-panel);
  --fad-surface-3:var(--fad-panel-soft);
  --fad-surface-inset:color-mix(in srgb,var(--fad-panel-solid) 84%,var(--fad-violet) 16%);
  --fad-panel-shadow:0 16px 38px rgba(0,0,0,.18);
}
html[data-theme="light"]{
  --fad-surface-inset:color-mix(in srgb,var(--fad-panel-solid) 90%,var(--fad-violet) 10%);
  --fad-panel-shadow:var(--fad-shadow);
}

/* Common working surfaces. */
body[data-page="upcoming"] .card,
body[data-page="todo"] .todo-command,
body[data-page="todo"] .todo-board,
body[data-page="activity"] .activity-log-day,
body[data-page="chat"] .chat-layout,
body[data-page="gear"] .table-wrap,
body[data-page="finances"] .card,
body[data-page="help"] .help-article,
body[data-page="help"] .help-related,
body[data-page="rehearsals"] .rehearsal-card,
body[data-page="rehearsals"] .grid.two>.card,
body[data-page="members"] .member-card,
body[data-page="members"] .content>.card:not(.ownership-note),
body[data-page="setup"] .content>.card,
body[data-page="setup"] .setup-card,
body[data-page="settings"] .settings-card,
body[data-page="songs"] .table-wrap,
body[data-page="setlists"] .card,
body[data-page="gigs"] .card,
body[data-page="venues"] .card{
  border:1px solid var(--fad-line);
  border-radius:var(--fad-radius);
  background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-1) 94%,var(--fad-violet) 6%),var(--fad-surface-1));
  box-shadow:var(--fad-panel-shadow);
}
html[data-theme="light"] body[data-page="upcoming"] .card,
html[data-theme="light"] body[data-page="todo"] .todo-command,
html[data-theme="light"] body[data-page="todo"] .todo-board,
html[data-theme="light"] body[data-page="activity"] .activity-log-day,
html[data-theme="light"] body[data-page="chat"] .chat-layout,
html[data-theme="light"] body[data-page="gear"] .table-wrap,
html[data-theme="light"] body[data-page="finances"] .card,
html[data-theme="light"] body[data-page="help"] .help-article,
html[data-theme="light"] body[data-page="help"] .help-related,
html[data-theme="light"] body[data-page="rehearsals"] .rehearsal-card,
html[data-theme="light"] body[data-page="rehearsals"] .grid.two>.card,
html[data-theme="light"] body[data-page="members"] .member-card,
html[data-theme="light"] body[data-page="members"] .content>.card:not(.ownership-note),
html[data-theme="light"] body[data-page="setup"] .content>.card,
html[data-theme="light"] body[data-page="setup"] .setup-card,
html[data-theme="light"] body[data-page="settings"] .settings-card,
html[data-theme="light"] body[data-page="songs"] .table-wrap,
html[data-theme="light"] body[data-page="setlists"] .card,
html[data-theme="light"] body[data-page="gigs"] .card,
html[data-theme="light"] body[data-page="venues"] .card{
  background:linear-gradient(145deg,var(--fad-panel-solid),var(--fad-panel-soft));
  box-shadow:var(--fad-panel-shadow);
}

/* Tighter panel rhythm: enough room for touch, without legacy empty volume. */
body[data-page="upcoming"] .card,
body[data-page="finances"] .card,
body[data-page="help"] .help-article,
body[data-page="help"] .help-related,
body[data-page="rehearsals"] .rehearsal-card,
body[data-page="rehearsals"] .grid.two>.card,
body[data-page="members"] .content>.card:not(.ownership-note),
body[data-page="setup"] .content>.card,
body[data-page="settings"] .settings-card,
body[data-page="songs"] .table-wrap,
body[data-page="setlists"] .card,
body[data-page="gigs"] .card,
body[data-page="venues"] .card{padding:18px}
body[data-page="upcoming"] .upcoming-grid{gap:14px}
body[data-page="upcoming"] .upcoming-grid>.card,
body[data-page="upcoming"] .upcoming-grid>div{padding:18px}
body[data-page="upcoming"] .upcoming-grid>div{border-left:0}
body[data-page="upcoming"] .upcoming-grid>div>.card+ .card{margin-top:14px;padding-top:18px;border-top:1px solid var(--fad-line)}
body[data-page="upcoming"] .upcoming-grid .card-head{border-bottom:1px solid var(--fad-line);padding-bottom:12px}

/* Shared status tiles and tables. */
body[data-page="gear"] .grid.stats,
body[data-page="rehearsals"] .grid.stats,
body[data-page="finances"] .grid.stats{gap:12px;border:0;background:transparent}
body[data-page="gear"] .grid.stats .stat,
body[data-page="rehearsals"] .grid.stats .stat,
body[data-page="finances"] .grid.stats .stat{min-width:0;padding:15px 16px;border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-3);box-shadow:none}
body[data-page="gear"] .grid.stats .stat:last-child,
body[data-page="rehearsals"] .grid.stats .stat:last-child{border-right:1px solid var(--fad-line)}
body[data-page="gear"] .table-wrap,
body[data-page="songs"] .table-wrap,
body[data-page="finances"] .table-wrap{overflow:auto}
body[data-page="gear"] .table,
body[data-page="songs"] .table,
body[data-page="finances"] .table{min-width:680px}
body[data-page="gear"] .table th,
body[data-page="songs"] .table th,
body[data-page="finances"] .table th{background:var(--fad-surface-3)}
body[data-page="gear"] .table td,
body[data-page="songs"] .table td,
body[data-page="finances"] .table td{padding:11px 13px}

/* Rehearsals and To Do become calm operational workboards. */
body[data-page="rehearsals"] .rehearsal-card{margin:0 0 14px;padding:18px}
body[data-page="rehearsals"] .rehearsal-card:last-child{margin-bottom:0}
body[data-page="rehearsals"] .rehearsal-notes{margin:10px 0;padding:11px 12px;border:1px solid var(--fad-line);border-left:3px solid var(--fad-violet);border-radius:var(--fad-radius-sm);background:var(--fad-surface-inset)}
body[data-page="rehearsals"] .grid.two>.card{margin:0;padding:18px}
body[data-page="rehearsals"] .grid.two>.card .card-head{padding-bottom:12px;border-bottom:1px solid var(--fad-line)}
body[data-page="todo"] .todo-command,
body[data-page="todo"] .todo-board{overflow:hidden;border-radius:var(--fad-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-1) 94%,var(--fad-violet) 6%),var(--fad-surface-1))}
body[data-page="todo"] .todo-stats{border-bottom:1px solid var(--fad-line);background:var(--fad-surface-3)}
body[data-page="todo"] .todo-stats>div{padding:13px 15px;border-color:var(--fad-line)}
body[data-page="todo"] .todo-toolbar{padding:11px 14px;background:var(--fad-surface-inset)}
body[data-page="todo"] .todo-board-head{background:var(--fad-surface-inset);color:var(--fad-muted)}
body[data-page="todo"] .todo-item{padding:13px 14px;background:transparent;border-color:var(--fad-line)}
body[data-page="todo"] .todo-item:hover{background:color-mix(in srgb,var(--fad-violet) 8%,transparent)}

/* Help Centre: searchable cards use the same raised surface as every tool. */
body[data-page="help"] .help-hero{padding:20px;border:1px solid var(--fad-line);border-radius:var(--fad-radius);background:linear-gradient(125deg,rgba(123,92,255,.15),var(--fad-surface-1));box-shadow:var(--fad-panel-shadow)}
body[data-page="help"] .help-search{border:1px solid var(--fad-line-strong);border-radius:var(--fad-radius-sm);background:var(--fad-surface-3);box-shadow:none}
body[data-page="help"] .help-category-head{margin:22px 0 10px;padding-bottom:9px;border-bottom:1px solid var(--fad-line)}
body[data-page="help"] .help-card-grid{gap:10px}
body[data-page="help"] .help-card,
body[data-page="help"] .help-related button{border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-3);color:var(--fad-ink);box-shadow:none}
body[data-page="help"] .help-card{padding:14px}
body[data-page="help"] .help-card:hover,
body[data-page="help"] .help-related button:hover{border-color:var(--fad-line-strong);background:color-mix(in srgb,var(--fad-surface-3) 78%,var(--fad-violet) 22%)}
body[data-page="help"] .help-article{padding:22px}
body[data-page="help"] .help-related{display:grid;gap:10px;margin-top:14px;padding:18px}
body[data-page="help"] .help-related button{padding:12px;text-align:left}
body[data-page="help"] .help-tip{border-left-color:var(--fad-cyan);background:rgba(82,231,245,.08);color:var(--fad-ink)}

/* Band Log, Chat and Gear all read as one control-room surface. */
body[data-page="activity"] .activity-feed{gap:12px}
body[data-page="activity"] .activity-log-day{overflow:hidden;padding:0}
body[data-page="activity"] .activity-log-day>header{padding:11px 15px;border-bottom:1px solid var(--fad-line);background:var(--fad-surface-inset)}
body[data-page="activity"] .activity-row{border:0;border-bottom:1px solid var(--fad-line);border-radius:0;background:transparent;padding:12px 15px}
body[data-page="activity"] .activity-row:last-child{border-bottom:0}
body[data-page="activity"] .activity-row:hover{background:rgba(123,92,255,.08)}
body[data-page="chat"] .chat-layout{overflow:hidden;background:var(--fad-surface-1)}
body[data-page="chat"] .chat-thread-list,
body[data-page="chat"] .chat-room,
body[data-page="chat"] .chat-room-head,
body[data-page="chat"] .chat-composer{background:var(--fad-surface-1)}
body[data-page="chat"] .chat-thread{padding:11px 12px;border-color:var(--fad-line)}
body[data-page="chat"] .chat-message-list{background:linear-gradient(180deg,var(--fad-surface-inset),var(--fad-surface-1))}
body[data-page="chat"] .chat-bubble{background:var(--fad-surface-3);box-shadow:none}
body[data-page="chat"] .chat-message.own .chat-bubble{background:color-mix(in srgb,var(--fad-violet) 13%,var(--fad-surface-3))}
body[data-page="gear"] .table-wrap{padding:0}

/* Finance surfaces: no opaque legacy-black islands. */
body[data-page="finances"] .finance-highlight-row{gap:10px}
body[data-page="finances"] .metric-strip,
body[data-page="finances"] .finance-settlement-card,
body[data-page="finances"] .finance-lower>.card,
body[data-page="finances"] .monthly-finance{border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-3);box-shadow:none}
body[data-page="finances"] .metric-strip{padding:13px 15px}
body[data-page="finances"] .finance-settlement-card,
body[data-page="finances"] .finance-lower>.card,
body[data-page="finances"] .monthly-finance{padding:18px}
body[data-page="finances"] .ledger-row,
body[data-page="finances"] .member-balance-row{border-color:var(--fad-line);background:transparent}
body[data-page="finances"] .ledger-row:hover,
body[data-page="finances"] .member-balance-row:hover{background:rgba(123,92,255,.07)}

/* Repertoire, Setlists, Gig Book and Venue Book. */
body[data-page="songs"] .song-pool-search input,
body[data-page="setlists"] .song-pool-search input{background:var(--fad-surface-inset);border-color:var(--fad-line);color:var(--fad-ink)}
body[data-page="songs"] .song-pool-search input::placeholder,
body[data-page="setlists"] .song-pool-search input::placeholder{color:var(--fad-faint)}
body[data-page="setlists"] .setlist-usage-strip,
body[data-page="setlists"] .setlist-copy-field,
body[data-page="setlists"] .setlist-gig-picker{border-color:var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-inset)}
body[data-page="setlists"] .setlist-layout{border:0}
body[data-page="setlists"] .set-running-sheet{border:1px solid var(--fad-line);border-radius:var(--fad-radius);background:var(--fad-surface-1);background-image:none;box-shadow:var(--fad-panel-shadow)}
html[data-theme="dark"] body[data-page="setlists"] .set-running-sheet{border-color:var(--fad-line);background-color:var(--fad-panel-solid);background-image:none;color:var(--fad-ink);box-shadow:var(--fad-panel-shadow)}
body[data-page="setlists"] .set-running-sheet .set-row{background:transparent;border-color:var(--fad-line)}
body[data-page="setlists"] .setlist-gig-choice{background:var(--fad-surface-3);border-color:transparent}
body[data-page="setlists"] .setlist-gig-choice:hover{border-color:var(--fad-cyan)}
body[data-page="setlists"] .set-row,
body[data-page="setlists"] .song-pool-row{border-color:var(--fad-line)}
body[data-page="gigs"] .gig-list,
body[data-page="venues"] .venue-list{gap:10px}
body[data-page="gigs"] .gig-card,
body[data-page="venues"] .venue-card{border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-3);box-shadow:none}
body[data-page="gigs"] .gig-card:hover,
body[data-page="venues"] .venue-card:hover{border-color:var(--fad-line-strong);background:color-mix(in srgb,var(--fad-surface-3) 80%,var(--fad-violet) 20%)}

/* Settings, Members and Imports regain clear, compact panel boundaries. */
body[data-page="settings"] .settings-grid,
body[data-page="settings"] .beta-grid{gap:14px;margin:0 0 14px;border:0}
body[data-page="settings"] .settings-grid>.settings-card,
body[data-page="settings"] .beta-grid>.settings-card{padding:18px;border:1px solid var(--fad-line);border-radius:var(--fad-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-1) 94%,var(--fad-violet) 6%),var(--fad-surface-1));box-shadow:var(--fad-panel-shadow)}
body[data-page="settings"] .settings-grid>.settings-card+ .settings-card,
body[data-page="settings"] .beta-grid>.settings-card+ .settings-card{border-left:1px solid var(--fad-line)}
body[data-page="settings"] .content>.settings-card:not(.danger-zone-card){margin:0 0 14px;padding:18px;border:1px solid var(--fad-line);border-radius:var(--fad-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-1) 94%,var(--fad-violet) 6%),var(--fad-surface-1));box-shadow:var(--fad-panel-shadow)}
body[data-page="settings"] .preference-row{padding:10px 11px;border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-inset)}
body[data-page="settings"] #notificationPrefsForm{max-height:min(460px,58vh);padding-right:8px}
body[data-page="settings"] #notificationPrefsForm .notification-actions{background:linear-gradient(transparent 0,var(--fad-surface-1) 24%)}
body[data-page="setup"] .setup-grid{gap:10px;border:0}
body[data-page="setup"] .setup-card{padding:17px;border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm)}
body[data-page="setup"] .setup-card:last-child{border-right:1px solid var(--fad-line)}
body[data-page="members"] .role-guide{gap:8px;padding:0;border:0}
body[data-page="members"] .role-guide span{padding:8px 10px;border:1px solid var(--fad-line);border-radius:999px;background:var(--fad-surface-inset)}
body[data-page="members"] .member-grid{display:grid;gap:10px;border:0}
body[data-page="members"] .member-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;padding:13px 14px}
body[data-page="members"] .member-card:last-child{border-bottom:1px solid var(--fad-line)}
body[data-page="members"] .ownership-note{padding:14px 16px;border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-inset);box-shadow:none}

@media(max-width:900px){
  body[data-page="settings"] .settings-grid>.settings-card+ .settings-card,
  body[data-page="settings"] .beta-grid>.settings-card+ .settings-card{border-left:1px solid var(--fad-line);border-top:1px solid var(--fad-line)}
  body[data-page="members"] .member-card{grid-template-columns:44px minmax(0,1fr);gap:10px}
  body[data-page="members"] .member-access-actions{grid-column:2;justify-content:flex-start}
}
@media(max-width:620px){
  body[data-page="upcoming"] .upcoming-grid>.card,
  body[data-page="upcoming"] .upcoming-grid>div{padding:15px}
  body[data-page="finances"] .card,
  body[data-page="help"] .help-article,
  body[data-page="help"] .help-related,
  body[data-page="rehearsals"] .rehearsal-card,
  body[data-page="rehearsals"] .grid.two>.card,
  body[data-page="settings"] .settings-card,
  body[data-page="setup"] .content>.card,
  body[data-page="songs"] .table-wrap,
  body[data-page="setlists"] .card,
  body[data-page="gigs"] .card,
  body[data-page="venues"] .card{padding:15px}
  body[data-page="help"] .help-hero{padding:15px}
  body[data-page="activity"] .activity-log-day>header,
  body[data-page="activity"] .activity-row{padding-left:12px;padding-right:12px}
  body[data-page="settings"] .settings-grid,
  body[data-page="settings"] .beta-grid{gap:10px}
  body[data-page="settings"] .settings-grid>.settings-card,
  body[data-page="settings"] .beta-grid>.settings-card{padding:15px}
  body[data-page="settings"] .content>.settings-card:not(.danger-zone-card){padding:15px}
}
@media(max-width:430px){
  body[data-page="gear"] .grid.stats,
  body[data-page="rehearsals"] .grid.stats,
  body[data-page="finances"] .grid.stats{grid-template-columns:1fr}
  body[data-page="members"] .member-card{grid-template-columns:38px minmax(0,1fr)}
}

/* Design lab pass 4 — Finance table surfaces. The settlement table kept a
   legacy black/green sheet treatment inside the otherwise cohesive card. */
body[data-page="finances"] .content>.title-row{padding-top:18px;border-top:1px solid var(--fad-line-strong);border-bottom:1px solid var(--fad-line)}
body[data-page="finances"] .finance-highlight-row{border:1px solid var(--fad-line);border-radius:var(--fad-radius);border-left:1px solid var(--fad-line);overflow:visible;background:transparent}
body[data-page="finances"] .grid.stats .stat-icon{border-radius:10px;background:rgba(82,231,245,.1);color:var(--fad-cyan);font-family:var(--font-mono)}
body[data-page="finances"] .grid.stats .stat.op-watch .stat-icon{background:rgba(255,188,99,.13)!important;color:var(--fad-amber)!important}
body[data-page="finances"] .grid.stats .stat.op-ready .stat-icon{background:rgba(100,230,186,.13)!important;color:var(--fad-mint)!important}
body[data-page="finances"] .finance-settlement-card,
body[data-page="finances"] .finance-lower>.card,
body[data-page="finances"] .monthly-finance{overflow:hidden;background:var(--fad-surface-1);background-image:none}
body[data-page="finances"] .finance-settlement-card .card-head,
body[data-page="finances"] .finance-lower .card-head,
body[data-page="finances"] .monthly-finance .card-head{padding-bottom:12px;border-bottom:1px solid var(--fad-line);background:transparent}
body[data-page="finances"] .table-wrap.embedded{border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-inset);box-shadow:none}
body[data-page="finances"] .table.finance-table{background:var(--fad-surface-inset);color:var(--fad-ink)}
body[data-page="finances"] .table.finance-table thead,
body[data-page="finances"] .table.finance-table th{background:var(--fad-surface-inset);color:var(--fad-faint);border-color:var(--fad-line)}
body[data-page="finances"] .table.finance-table th{padding:10px 13px}
body[data-page="finances"] .table.finance-table td{background:var(--fad-surface-1);color:var(--fad-ink);border-color:var(--fad-line)}
body[data-page="finances"] .table.finance-table tbody tr:nth-child(even) td{background:var(--fad-surface-3)}
body[data-page="finances"] .table.finance-table tbody tr:hover td{background:color-mix(in srgb,var(--fad-violet) 12%,var(--fad-surface-1))}
body[data-page="finances"] .settlement-summary>div,
body[data-page="finances"] .settlement-result>div,
body[data-page="finances"] .settlement-member,
body[data-page="finances"] .payment-member{border-color:var(--fad-line);border-radius:var(--fad-radius-sm);background:var(--fad-surface-inset)}
body[data-page="finances"] .ledger-kind{border-radius:9px;background:var(--fad-surface-inset)}
body[data-page="finances"] .finance-table .status{white-space:nowrap}

@media(max-width:620px){
  body[data-page="finances"] .finance-settlement-card,
  body[data-page="finances"] .finance-lower>.card,
  body[data-page="finances"] .monthly-finance{padding:15px}
  body[data-page="finances"] .table-wrap.embedded{border-radius:10px}
}

/* Design lab pass 5 — remove the last legacy islands. Calendar response
   choices use the same colour legend as the calendar key, empty states read
   as intentional waiting rooms, and Setlists share the Festival surfaces. */
body[data-page="calendar"] .calendar-availability-choices .availability-choice{
  min-height:44px;
  border-width:1px;
  border-style:solid;
  border-radius:var(--fad-radius-sm);
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body[data-page="calendar"] .calendar-availability-choices .availability-choice:hover{transform:translateY(-1px)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-yes{border-color:color-mix(in srgb,var(--op-ready-edge) 66%,var(--fad-line));background:color-mix(in srgb,var(--op-ready-bg) 54%,var(--fad-surface-3));color:var(--op-ready-ink)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-maybe{border-color:color-mix(in srgb,var(--op-watch-edge) 66%,var(--fad-line));background:color-mix(in srgb,var(--op-watch-bg) 54%,var(--fad-surface-3));color:var(--op-watch-ink)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-no{border-color:color-mix(in srgb,var(--op-blocked-edge) 66%,var(--fad-line));background:color-mix(in srgb,var(--op-blocked-bg) 54%,var(--fad-surface-3));color:var(--op-blocked-ink)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-clear{border-color:var(--op-neutral-edge);background:color-mix(in srgb,var(--op-neutral-bg) 54%,var(--fad-surface-3));color:var(--op-neutral-ink)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-yes.selected{background:var(--op-ready-bg);border-color:var(--op-ready-edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--op-ready-edge) 22%,transparent)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-maybe.selected{background:var(--op-watch-bg);border-color:var(--op-watch-edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--op-watch-edge) 22%,transparent)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-no.selected{background:var(--op-blocked-bg);border-color:var(--op-blocked-edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--op-blocked-edge) 22%,transparent)}
body[data-page="calendar"] .calendar-availability-choices .availability-choice.status-clear.selected{background:var(--op-neutral-bg);border-color:var(--op-neutral-edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--op-neutral-edge) 22%,transparent)}

body[data-page="setlists"] .setlist-toolbar{
  display:flex;align-items:end;gap:14px;flex-wrap:wrap;
  padding:12px 14px;
  border:1px solid var(--fad-line);
  border-radius:var(--fad-radius-sm);
  background:linear-gradient(135deg,var(--fad-surface-3),var(--fad-surface-inset));
  color:var(--fad-ink);
  box-shadow:none;
}
body[data-page="setlists"] .setlist-toolbar .setlist-picker{min-width:min(320px,100%);flex:1}
body[data-page="setlists"] .setlist-toolbar label{color:var(--fad-faint)}
body[data-page="setlists"] .setlist-toolbar select{border-color:var(--fad-line-strong);border-radius:10px;background:var(--fad-surface-inset);color:var(--fad-ink)}
body[data-page="setlists"] .setlist-toolbar .actions{gap:7px}
body[data-page="setlists"] .setlist-toolbar .btn.secondary{border-color:var(--fad-line);background:var(--fad-surface-inset);color:var(--fad-ink)}
body[data-page="setlists"] .setlist-toolbar .btn.secondary:hover{border-color:var(--fad-line-strong);background:color-mix(in srgb,var(--fad-surface-inset) 78%,var(--fad-violet) 22%)}
body[data-page="setlists"] .setlist-usage-strip{border:1px solid var(--fad-line);border-radius:var(--fad-radius-sm);background:linear-gradient(120deg,color-mix(in srgb,var(--fad-violet) 15%,var(--fad-surface-1)),var(--fad-surface-1));box-shadow:none}
body[data-page="setlists"] .setlist-usage-strip>div:first-child{color:var(--fad-faint)}
body[data-page="setlists"] .setlist-usage-gigs button{border-color:var(--fad-line);background:var(--fad-surface-3);color:var(--fad-ink)}
body[data-page="setlists"] .setlist-usage-gigs button:hover{border-color:var(--fad-cyan);background:color-mix(in srgb,var(--fad-surface-3) 78%,var(--fad-cyan) 22%)}
body[data-page="setlists"] .song-pool{border:1px solid var(--fad-line);border-radius:var(--fad-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-1) 94%,var(--fad-violet) 6%),var(--fad-surface-1));color:var(--fad-ink);box-shadow:var(--fad-panel-shadow)}
body[data-page="setlists"] .song-pool .card-head{padding-bottom:12px;border-bottom:1px solid var(--fad-line)}
body[data-page="setlists"] .song-pool .eyebrow,body[data-page="setlists"] .song-pool small{color:var(--fad-muted)}
body[data-page="setlists"] .song-pool .song-pool-row{border-color:var(--fad-line)}
body[data-page="setlists"] .song-pool .mini-btn{border-color:var(--fad-line-strong);border-radius:9px;background:var(--fad-surface-inset);color:var(--fad-cyan)}
body[data-page="setlists"] .song-pool .mini-btn:hover{border-color:var(--fad-cyan);background:color-mix(in srgb,var(--fad-surface-inset) 78%,var(--fad-cyan) 22%)}
body[data-page="setlists"] .set-running-sheet:before{display:none}
body[data-page="setlists"] .set-running-sheet .card-head{padding-bottom:12px;border-bottom:1px solid var(--fad-line)}
body[data-page="setlists"] .set-running-sheet .set-pos{background:var(--fad-surface-inset);color:var(--fad-violet-bright);border:1px solid var(--fad-line);font-family:var(--font-mono)}
body[data-page="setlists"] .set-running-sheet .mini-btn{border-color:var(--fad-line-strong);background:var(--fad-surface-inset);color:var(--fad-coral)}
body[data-page="setlists"] .set-running-sheet .mini-btn:hover{border-color:var(--fad-coral);background:color-mix(in srgb,var(--fad-surface-inset) 80%,var(--fad-coral) 20%)}
body[data-page="setlists"] .set-running-sheet .set-summary{border-color:var(--fad-line);background:transparent}
body[data-page="setlists"] .set-running-sheet .set-summary b{color:var(--fad-ink)}
html[data-theme="dark"] body[data-page="setlists"] .setlist-toolbar,
html[data-theme="dark"] body[data-page="setlists"] .song-pool,
html[data-theme="dark"] body[data-page="setlists"] .set-running-sheet,
html[data-theme="dark"] body[data-page="setlists"] .set-running-sheet .set-row{background-image:none;background-color:var(--fad-surface-1);color:var(--fad-ink)}
html[data-theme="dark"] body[data-page="setlists"] .setlist-toolbar{background:linear-gradient(135deg,var(--fad-surface-3),var(--fad-surface-inset))}
html[data-theme="dark"] body[data-page="setlists"] .set-running-sheet .set-summary{border-color:var(--fad-line)}

/* Empty and first-use states are part of the product surface, not a legacy
   fallback. Keep them compact, legible and visually related to their parent. */
body:is([data-page="gear"],[data-page="finances"],[data-page="rehearsals"],[data-page="todo"],[data-page="songs"],[data-page="setlists"],[data-page="gigs"],[data-page="venues"],[data-page="help"],[data-page="activity"],[data-page="upcoming"],[data-page="stage-plots"]) .empty,
body:is([data-page="bookings"],[data-page="gear"],[data-page="rehearsals"]) .booking-empty,
body[data-page="stage-plots"] .stage-empty{
  border:1px dashed var(--fad-line-strong);
  border-radius:var(--fad-radius-sm);
  background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-inset) 82%,var(--fad-violet) 18%),var(--fad-surface-inset));
  color:var(--fad-muted);
  box-shadow:none;
}
body:is([data-page="gear"],[data-page="finances"],[data-page="rehearsals"],[data-page="todo"],[data-page="songs"],[data-page="setlists"],[data-page="gigs"],[data-page="venues"],[data-page="help"],[data-page="activity"],[data-page="upcoming"],[data-page="stage-plots"]) .empty b{color:var(--fad-ink)}
body[data-page="stage-plots"] .stage-empty{min-height:280px;background:linear-gradient(145deg,color-mix(in srgb,var(--fad-surface-inset) 82%,var(--fad-violet) 18%),var(--fad-surface-inset));border-width:1px}
body[data-page="stage-plots"] .stage-empty>span{color:var(--fad-violet-bright)}
body[data-page="finances"] .finance-table tbody td[colspan]{padding:24px;color:var(--fad-muted);background:var(--fad-surface-inset)}
body[data-page="gear"] .empty{min-height:126px;display:grid;place-content:center;gap:3px}
body[data-page="rehearsals"] .empty,body[data-page="todo"] .empty{padding:24px 18px}

@media(max-width:760px){
  body[data-page="setlists"] .setlist-toolbar{align-items:stretch}
  body[data-page="setlists"] .setlist-toolbar .setlist-picker{min-width:100%}
  body[data-page="setlists"] .setlist-toolbar .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-page="setlists"] .setlist-toolbar .actions .btn{width:100%}
}
