/* Spirit-Walker Motel back office: black and gold with a roadside-motel feel (Montserrat headings, Nunito Sans text). Loaded after each page's own styles. */
@font-face{font-family:"Montserrat";src:url(fonts/Montserrat.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(fonts/NunitoSans.woff2) format("woff2");font-weight:400 800;font-display:swap}
:root{--wine-950:#030203;--wine-900:#0b0808;--wine-800:#140c0c;--wine-700:#241214;--wine-600:#3a1219;--wine-500:#5a1a24;--gold-300:#fff0b8;--gold-400:#f0cf70;--gold-500:#e8c05a;--gold-700:#a87820;--line:rgba(232,192,90,.32);--line-hi:rgba(232,192,90,.7);--neon:#ff5a5a;--amber:#ffb347;--disp:"Montserrat","Nunito Sans","Segoe UI",system-ui,sans-serif;--serif:"Montserrat","Nunito Sans","Segoe UI",system-ui,sans-serif;--sans:"Nunito Sans","Segoe UI",system-ui,sans-serif}
body{font-size:16px;line-height:1.45;background:radial-gradient(ellipse 90% 60% at 50% -5%,rgba(170,36,66,.55),transparent 65%),radial-gradient(ellipse 70% 50% at 0% 100%,rgba(110,20,44,.55),transparent 70%),radial-gradient(ellipse 70% 50% at 100% 100%,rgba(110,20,44,.45),transparent 70%),repeating-linear-gradient(45deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.2) 0 1px,transparent 1px 3px),linear-gradient(180deg,#4a0f22,#2c0a16 55%,#1b050d) fixed}
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:.01em;text-transform:none;background:linear-gradient(180deg,#fff0b8,#e8c05a 60%,#c9962e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#e8c05a}
h1{font-size:1.7rem}
.banner{background:#0a0706;color:var(--gold-300);border-bottom:1px solid var(--line);letter-spacing:.02em}

/* Roadside sign header */
.header{background:linear-gradient(180deg,#1c050c,#090204);border-bottom:3px solid var(--gold-500);box-shadow:0 6px 28px rgba(232,192,90,.12)}
.title .name{font-family:var(--disp);font-weight:800;font-size:1.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-300);text-shadow:0 0 6px rgba(255,200,90,.7),0 0 20px rgba(255,150,40,.45)}
.title .sub{font-family:var(--disp);font-weight:700;font-size:.78rem;letter-spacing:.32em;color:var(--neon);border:2px solid var(--neon);border-radius:8px;padding:3px 16px;text-shadow:0 0 8px rgba(255,60,60,.7);box-shadow:0 0 10px rgba(255,60,60,.5),inset 0 0 8px rgba(255,60,60,.3)}
.crest{width:46px;height:62px}

.card,.panel{border-radius:14px;border:1px solid var(--line-hi);background:linear-gradient(180deg,rgba(26,6,13,.94),rgba(13,4,8,.96));box-shadow:0 0 20px rgba(232,192,90,.12),inset 0 0 0 1px rgba(0,0,0,.7)}
.panel{background:rgba(22,5,11,.55)}
.btn{border-radius:999px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;background:transparent;border:1.5px solid var(--gold-500);color:var(--gold-300);box-shadow:none}
.btn:hover{background:rgba(232,192,90,.14);filter:none}
.btn.on,.btn.gold{background:linear-gradient(180deg,#fff0b8,#e0b44c 55%,#b8862a);color:#1a0f02;border-color:#fff0b8;box-shadow:0 0 14px rgba(232,192,90,.3)}
.btn.sm{font-size:.66rem}
.switch{border-radius:999px;border-color:var(--line-hi)}
.switch button{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.72rem}
.switch button.on{background:linear-gradient(180deg,#fff0b8,#e0b44c);color:#1a0f02}
.nav button{border-radius:10px;font-family:var(--disp);font-weight:600;text-transform:none;letter-spacing:.02em;font-size:.86rem}
.nav button.active{background:rgba(232,192,90,.12);border:1px solid var(--line-hi);color:var(--gold-300);font-weight:700}
input,select,textarea{border-radius:10px;background:#070505;border:1px solid var(--line)}
.chip{border-radius:999px;font-family:var(--sans);font-weight:700}
.tabs button{font-family:var(--disp);font-weight:600;text-transform:none;letter-spacing:.02em;font-size:.74rem}
.tabs button.on{background:linear-gradient(180deg,#fff0b8,#e0b44c);color:#1a0f02}
table th{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}
.room{border-radius:12px;border-width:2px}
.room b{font-family:var(--disp);font-weight:800}
.room .who{display:block;margin-top:4px;font-weight:700;font-size:.74rem;color:var(--gold-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.footer{background:linear-gradient(180deg,#1c050c,#090204);border-top:3px solid var(--gold-500);letter-spacing:.3em;text-transform:uppercase;font-style:normal;font-family:var(--disp);font-weight:700;font-size:.85rem;color:var(--gold-500)}
.footer::before,.footer::after{content:"\2726";margin:0 1em;color:var(--neon);text-shadow:0 0 8px rgba(255,60,60,.7)}
.bot-avatar{width:72px;height:84px;object-fit:cover;border-radius:10px;border:2px solid var(--gold-500);box-shadow:0 0 16px rgba(232,192,90,.35);vertical-align:middle;margin-right:14px;background:#000}
.bot-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.bot-head h1{margin:0}

/* Dashboard: clickable tiles, live changes and critical highlighting */
.kpi{--c1:#6b1630;--c2:#2a0812;position:relative;overflow:hidden;padding:20px 12px 18px;border:1px solid var(--gold-500);background:linear-gradient(155deg,rgba(255,255,255,.16) 0,rgba(255,255,255,0) 40%),repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),linear-gradient(180deg,var(--c1),var(--c2));box-shadow:inset 0 0 0 3px rgba(0,0,0,.35),inset 0 0 0 4px rgba(232,192,90,.55),0 8px 18px rgba(0,0,0,.5)}
.kpi::after{content:"";position:absolute;left:14%;right:14%;bottom:9px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,240,184,.7),transparent)}
.kpi.t-sapphire{--c1:#2150b4;--c2:#0b1a45}
.kpi.t-emerald{--c1:#148a5c;--c2:#062c1e}
.kpi.t-amethyst{--c1:#7d34bd;--c2:#2a1046}
.kpi.t-teal{--c1:#1593a0;--c2:#06303a}
.kpi.t-amber{--c1:#c98a1c;--c2:#47290a}
.kpi.t-ruby{--c1:#b01c44;--c2:#3a0713}
.kpi.t-slate{--c1:#5d5870;--c2:#1c1923}
.kpi .label{color:#f6e3b0;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.kpi .value{color:#fff7dc;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.kpi{transition:transform .15s,box-shadow .15s,border-color .15s}
.kpi .label{font-family:var(--disp);font-weight:600;letter-spacing:.07em}
.kpi .value{font-family:var(--disp);font-weight:800;font-size:1.8rem;white-space:nowrap}
.kpi.go{cursor:pointer;user-select:none}
.kpi.go:hover{transform:translateY(-3px);border-color:var(--gold-300);box-shadow:0 8px 22px rgba(232,192,90,.28)}
.kpi.go:focus-visible,.bar.go:focus-visible,.attn-row:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px}
.kpi.go .label::after{content:" \203A"}
.kpi.crit{border-color:var(--neon)}
.kpi.crit .value{color:#ff6b66}
.kpi.hot{background:linear-gradient(155deg,rgba(255,255,255,.18) 0,rgba(255,255,255,0) 40%),repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),linear-gradient(180deg,#d9233f,#4a0710);border-color:var(--neon);animation:critPulse 1.5s ease-in-out infinite}
.kpi.hot .value{color:#fff;text-shadow:0 0 14px rgba(255,80,80,.8)}
.kpi.warn{background:linear-gradient(155deg,rgba(255,255,255,.18) 0,rgba(255,255,255,0) 40%),repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),linear-gradient(180deg,#f0a62a,#6a3a06);border-color:var(--amber);box-shadow:0 0 14px rgba(255,179,71,.3)}
.kpi.warn .value{color:#fff7dc}
.kpi.bump{animation:bump .9s ease-out}
.kpi.hot.bump{animation:critPulse 1.5s ease-in-out infinite,bump .9s ease-out}
.bar.go{cursor:pointer;border-radius:8px;padding:3px 6px;margin:5px -6px;transition:background .15s}
.bar.go:hover{background:rgba(232,192,90,.14)}
.attn{border-color:var(--neon);background:linear-gradient(180deg,#3a0f12,#170607);box-shadow:0 0 22px rgba(255,80,80,.3)}
.attn.clear{border-color:#4e9f7d;background:#0c0907;box-shadow:0 0 14px rgba(78,159,125,.2)}
.attn-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.attn-head h2{margin:0}
.attn-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 12px;border-radius:10px;margin-top:6px;cursor:pointer;border:1px solid transparent;background:rgba(0,0,0,.4)}
.attn-row.is-crit{border-left:5px solid var(--neon)}
.attn-row.is-late{border-left:5px solid var(--amber)}
.attn-row:hover{border-color:var(--gold-500)}
.attn-n{font-family:var(--disp);font-weight:700;color:var(--gold-300);min-width:5.5em}
.attn-t{flex:1 1 200px;font-weight:700}
.attn-r,.attn-d{color:#cfc4ae;font-size:.84rem}
.newtag{background:var(--neon);color:#190405;font-weight:800;font-size:.68rem;padding:2px 8px;border-radius:999px;animation:blink 1s steps(2) infinite}
.attn-row.fresh{animation:freshRow 1.2s ease-out 3}
tr.hot-crit{background:rgba(255,90,90,.10)}
tr.hot-crit td:first-child{box-shadow:inset 5px 0 0 var(--neon);font-weight:700}
tr.hot-crit .chip.p-CRITICAL{animation:blink 1.4s ease-in-out infinite}
tr.hot-late{background:rgba(255,179,71,.08)}
tr.hot-late td:first-child{box-shadow:inset 5px 0 0 var(--amber)}
html.is-mobile table.cards tr.hot-crit{border-left:5px solid var(--neon)}
html.is-mobile table.cards tr.hot-late{border-left:5px solid var(--amber)}
.nbadge{display:inline-block;min-width:1.5em;padding:0 .5em;margin-left:.5em;border-radius:999px;background:var(--neon);color:#190405;font-weight:800;font-size:.7rem;text-align:center;animation:blink 1.4s ease-in-out infinite}
@keyframes critPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,70,70,.55),0 0 16px rgba(255,70,70,.35)}50%{box-shadow:0 0 0 7px rgba(255,70,70,0),0 0 30px rgba(255,70,70,.65)}}
@keyframes bump{0%{transform:scale(1)}30%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes freshRow{0%{background:rgba(255,90,90,.55)}100%{background:rgba(0,0,0,.4)}}
@media (prefers-reduced-motion:reduce){.kpi,.kpi.hot,.kpi.bump,.kpi.hot.bump,.attn-row.fresh,.newtag,.nbadge,tr.hot-crit .chip.p-CRITICAL{animation:none;transition:none}}
html.is-mobile .title .name{font-size:1.05rem;letter-spacing:.05em}
html.is-mobile 