/* Sherpas HQ — one committed dark look, same family as the Offer Calendar page. */
:root{
  color-scheme:dark;
  --black:#0e0e10; --panel:#161619; --panel2:#1d1d21; --panel3:#26262b;
  --red:#ee4327; --coral:#f15b46; --cream:#f3ead6; --dim:#cabfa9; --muted:#8a8678; --line:#2a2a2e; --line2:#3b3b42;
  --green:#5fbf7d; --amber:#e5a53a; --blue:#6ea8d8; --purple:#a98cd8;
  --sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --cond:"Oswald","Archivo Narrow","Arial Narrow",Impact,sans-serif;
  --display:"Anton","Oswald","Arial Narrow",Impact,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--black);color:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 80px}
a{color:var(--coral)}
.wrap{max-width:1280px;margin:0 auto}
.wrap.narrow{max-width:900px}
/* nav */
nav.top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:14px 0 10px;border-bottom:1px solid var(--line);margin-bottom:18px}
nav.top .brand{font-family:var(--display);text-transform:uppercase;font-size:20px;letter-spacing:.03em;color:var(--cream);text-decoration:none;margin-right:10px}
nav.top .brand b{color:var(--red);font-weight:400}
nav.top a.nl{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--dim);text-decoration:none;padding:7px 11px;border-radius:8px}
nav.top a.nl:hover{color:var(--cream);background:var(--panel2)}
nav.top a.nl.on{background:var(--red);color:#fff}
nav.top .sp{flex:1}
nav.top .me{font-size:12.5px;color:var(--muted)}
/* type */
h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,44px);line-height:1;margin:6px 0 6px;text-transform:uppercase;letter-spacing:.012em;text-wrap:balance}
h2{font-family:var(--cond);text-transform:uppercase;font-size:13px;letter-spacing:.2em;color:var(--red);margin:34px 0 4px;font-weight:700;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
h2 .n{color:var(--muted);letter-spacing:.1em;font-weight:400}
h3{font-family:var(--cond);text-transform:uppercase;font-size:16px;letter-spacing:.05em;margin:0 0 8px;font-weight:500}
.sub{color:var(--muted);font-size:14px;margin:0 0 14px;max-width:80ch}
.muted{color:var(--muted)}.small{font-size:13px}.dim{color:var(--dim)}
.kicker{font-family:var(--cond);letter-spacing:.22em;text-transform:uppercase;font-size:12px;color:var(--red);font-weight:700}
/* layout bits */
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}
.card.tight{padding:12px 14px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.top{align-items:flex-start}
.grow{flex:1;min-width:0}
.grid{display:grid;gap:12px}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stack{display:grid;gap:8px}
/* controls */
.btn{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:12px;background:var(--red);color:#fff;border:0;padding:10px 16px;border-radius:9px;cursor:pointer;transition:.15s;white-space:nowrap;max-width:100%;text-decoration:none;display:inline-block;line-height:1.2}
.btn:hover{background:var(--coral)}
.btn.ghost{background:transparent;border:1px solid var(--line2);color:var(--dim)}
.btn.ghost:hover{border-color:var(--red);color:var(--cream)}
.btn.sm{padding:7px 11px;font-size:11px;border-radius:7px}
.btn.green{background:var(--green);color:#0e0e10}.btn.green:hover{background:#79d195}
.btn.amber{background:var(--amber);color:#0e0e10}
.btn.ok{background:var(--green)!important;color:#0e0e10!important;border-color:var(--green)!important}
.btn.danger{background:transparent;border:1px solid rgba(238,67,39,.5);color:var(--coral)}
.btn:disabled{opacity:.45;cursor:default}
label{display:block;font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--muted);margin-bottom:6px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=datetime-local],input[type=number],input[type=url],select,textarea{width:100%;background:var(--panel2);border:1px solid var(--line2);color:var(--cream);padding:10px 12px;border-radius:9px;font:inherit;font-size:15px}
textarea{min-height:110px;line-height:1.55;resize:vertical}
textarea.tall{min-height:220px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red)}
.field{min-width:0}
.check{display:flex;gap:9px;align-items:center;font-size:14px;color:var(--dim);cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}
.chip{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;display:inline-block;vertical-align:middle;border:1px solid var(--line2);color:var(--dim);background:rgba(202,191,169,.08)}
.chip.locked,.chip.approved,.chip.recorded,.chip.good{background:rgba(95,191,125,.14);color:var(--green);border-color:rgba(95,191,125,.35)}
.chip.tent,.chip.needs_approval,.chip.warn{background:rgba(229,165,58,.13);color:var(--amber);border-color:rgba(229,165,58,.35)}
.chip.none,.chip.bad{background:rgba(238,67,39,.15);color:var(--coral);border-color:rgba(238,67,39,.4)}
.chip.draft,.chip.info{background:rgba(110,168,216,.14);color:var(--blue);border-color:rgba(110,168,216,.3)}
.chip.ever{color:var(--dim)}
.chip.purple{background:rgba(169,140,216,.16);color:var(--purple);border-color:rgba(169,140,216,.35)}
.flag{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:10px;padding:3px 8px;border-radius:5px;background:rgba(202,191,169,.08);color:var(--muted);border:1px solid var(--line);white-space:nowrap}
.flag.on{background:rgba(95,191,125,.12);color:var(--green);border-color:rgba(95,191,125,.3)}
.flag.warn{background:rgba(229,165,58,.12);color:var(--amber);border-color:rgba(229,165,58,.3)}
.flag.bad{background:rgba(238,67,39,.12);color:var(--coral);border-color:rgba(238,67,39,.3)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--dim)}
.dot.locked{background:var(--green)}.dot.tent{background:var(--amber)}.dot.none{background:var(--red)}
/* alert strip */
.alert{border-radius:14px;padding:16px 18px;margin:16px 0;border:1px solid var(--line2);background:var(--panel);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.alert .t{flex:1;min-width:220px}
.alert b{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:15px;display:block;margin-bottom:3px}
.alert p{margin:0;color:var(--dim);font-size:14px}
.alert.red{border-color:rgba(238,67,39,.6);background:rgba(238,67,39,.09)}.alert.red b{color:var(--coral)}
.alert.amber{border-color:rgba(229,165,58,.55);background:rgba(229,165,58,.08)}.alert.amber b{color:var(--amber)}
.alert.green{border-color:rgba(95,191,125,.5);background:rgba(95,191,125,.07)}.alert.green b{color:var(--green)}
.alert .btn{white-space:normal;line-height:1.3}
/* board */
.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start}
.col{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px;min-height:160px;transition:border-color .15s,background .15s}
.col.over{border-color:var(--red);background:#222225}
.col h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:12px;margin:2px 4px 8px;color:var(--dim);display:flex;justify-content:space-between;align-items:center}
.col h3 span{color:var(--muted);font-weight:400}
.col .hint{color:var(--muted);font-size:12.5px;margin:0 4px 10px;line-height:1.4}
.cards{display:grid;gap:8px;min-height:60px}
.ec{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 12px 10px;cursor:grab;display:grid;gap:5px;position:relative;color:inherit;text-decoration:none}
.ec:hover{border-color:var(--line2)}
.ec:active{cursor:grabbing}
.ec.dragging{opacity:.35}
.ec .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.ec .num{font-family:var(--cond);font-size:18px;letter-spacing:.03em;color:var(--cream)}
.ec .num.dash{color:var(--muted)}
.ec .airs{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted);text-align:right}
.ec .guest{font-size:15px;font-weight:600;line-height:1.25}
.ec .off{font-size:12.5px;color:var(--dim);display:flex;gap:7px;align-items:center}
.ec .flags{display:flex;gap:5px;flex-wrap:wrap}
.ec .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.ind{height:3px;background:var(--red);border-radius:2px;margin:-2px 0}
/* lists */
.list{display:grid;gap:8px}
.li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-size:14px}
.li.plain{grid-template-columns:1fr auto}
.li .k{font-family:var(--cond);letter-spacing:.05em;color:var(--cream);font-size:14px;white-space:nowrap}
.li .w b{font-weight:600;color:var(--cream)}
.li .w span{color:var(--muted);font-size:13px}
.li.done{opacity:.55}.li.done .w b{text-decoration:line-through}
.li.late .k{color:var(--coral)}
.li input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}
/* tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.tab{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;background:transparent;border:1px solid var(--line);color:var(--dim);padding:9px 14px;border-radius:999px;cursor:pointer}
.tab:hover{border-color:var(--muted);color:var(--cream)}
.tab.on{background:var(--red);border-color:var(--red);color:#fff}
.tab .cnt{color:rgba(255,255,255,.7);font-weight:400;margin-left:6px}
/* scripts */
.script{background:var(--black);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:10px;padding:14px 16px;white-space:pre-wrap;font-size:15px;line-height:1.65;min-width:0;overflow-wrap:anywhere}
.script.mid{border-left-color:var(--blue)}.script.ps{border-left-color:var(--purple);font-size:14px}.script.plain{border-left-color:var(--line2)}
.ph{color:var(--amber)}
.slotlabel{font-family:var(--cond);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;margin:14px 0 6px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--red)}
.slotlabel.mid{color:var(--blue)}.slotlabel.ps{color:var(--purple)}.slotlabel.plain{color:var(--dim)}
.slotlabel small{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:12px;color:var(--muted);font-weight:400}
/* stat tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}
.tile .v{font-family:var(--display);font-size:30px;line-height:1}
.tile .l{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted);margin-top:4px}
.tile.warn .v{color:var(--amber)}.tile.bad .v{color:var(--coral)}.tile.good .v{color:var(--green)}
/* modal + toast */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:50;overflow:auto;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.modal{max-width:820px;margin:0 auto;background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:22px;display:grid;gap:14px}
.modal h3{font-size:20px}
.modal > *{min-width:0}.modal .li{min-width:0}.modal .li > *{min-width:0}.modal .chip{white-space:normal;line-height:1.5}.li .w{min-width:0;overflow-wrap:anywhere}
.modal .bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px}
.modal .bar .l,.modal .bar .r{display:flex;gap:8px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--cream);color:var(--black);padding:10px 16px;border-radius:9px;font-size:14px;z-index:60;box-shadow:0 8px 30px rgba(0,0,0,.5);max-width:92vw}
.empty{color:var(--muted);font-size:14px;padding:12px 4px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted);font-weight:700;padding:0 10px 8px 0;border-bottom:1px solid var(--line)}
td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--dim)}
.table-scroll{overflow-x:auto}
details{border:1px solid var(--line);border-radius:12px;padding:0 16px;background:var(--panel)}
details summary{cursor:pointer;padding:12px 0;font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--dim)}
details[open] summary{border-bottom:1px solid var(--line)}
details .body{padding:12px 0 16px;font-size:14px;color:var(--dim)}
.login-wrap{max-width:420px;margin:70px auto 0}
.err{color:var(--coral);font-size:13px;margin-top:8px;min-height:1em}
.prepsheet{max-width:860px}
.prepsheet .q{font-size:17px;line-height:1.55}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (max-width:720px){ .li{grid-template-columns:auto 1fr} .li > :last-child{grid-column:1/-1} .li.plain{grid-template-columns:1fr} }
