:root{
  --void:#0B0A12; --void-soft:#131120; --card:#171529; --card-hi:#1E1B33; --line:#2B2745;
  --gold:#F5B25A; --gold-hi:#FFD08A; --peach:#FF8F6B; --violet:#8B7FE8;
  --bone:#F1EDE4; --bone-dim:#B4AEC4; --bone-faint:#8A849D;
  --ok:#7FD6A4; --warn:#F5B25A; --bad:#FF8F6B;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--void);color:var(--bone);font-family:'Inter',system-ui,sans-serif;line-height:1.6;min-height:100vh;
  background-image:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(245,178,90,.08),transparent 70%);}
a{color:inherit;text-decoration:none;}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:500;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}
.eyebrow{font-family:'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--gold);}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
.topbar{border-bottom:1px solid rgba(245,178,90,.12);background:rgba(11,10,18,.8);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;gap:12px;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-size:1.3rem;}
.logo-dot{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold) 60%,var(--peach));box-shadow:0 0 14px 2px rgba(245,178,90,.5);}
.top-actions{display:flex;gap:14px;align-items:center;font-size:.82rem;color:var(--bone-dim);}
.top-actions a:hover,.linkbtn:hover{color:var(--gold-hi);}
.linkbtn{background:none;border:0;color:var(--bone-dim);font:inherit;cursor:pointer;}

/* cards + forms */
.card{background:linear-gradient(180deg,var(--card-hi),var(--card));border:1px solid var(--line);border-radius:18px;padding:26px;position:relative;}
.card.stitched::before{content:'';position:absolute;inset:7px;border:1px dashed rgba(245,178,90,.16);border-radius:12px;pointer-events:none;}
.card h2{font-size:1.5rem;margin-bottom:6px;}
.card .sub{color:var(--bone-dim);font-size:.92rem;margin-bottom:20px;}
label{display:block;font-size:.78rem;letter-spacing:.04em;color:var(--bone-dim);margin:14px 0 6px;}
input,select,textarea{width:100%;background:var(--void-soft);border:1px solid var(--line);border-radius:10px;color:var(--bone);
  padding:12px 14px;font:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s;}
textarea{min-height:90px;resize:vertical;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,178,90,.15);}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:640px){.row{grid-template-columns:1fr;}}
.btn{display:inline-block;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:.92rem;color:var(--void);
  background:linear-gradient(100deg,var(--gold),var(--peach));padding:13px 28px;border-radius:100px;transition:transform .25s,box-shadow .25s;}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(245,178,90,.5);}
.btn[disabled]{opacity:.55;cursor:wait;transform:none;}
.btn.ghost{background:none;color:var(--bone-dim);border:1px solid var(--line);}
.btn.ghost:hover{color:var(--bone);border-color:var(--violet);box-shadow:none;}
.btn.small{padding:8px 16px;font-size:.8rem;}
.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap;}
.msg{margin-top:14px;font-size:.88rem;min-height:1.2em;}
.msg.err{color:var(--bad);} .msg.ok{color:var(--ok);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.fine{font-size:.78rem;color:var(--bone-faint);}

/* wizard */
.steps{display:flex;gap:8px;margin:34px 0 22px;flex-wrap:wrap;}
.step-pill{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:100px;border:1px solid var(--line);color:var(--bone-faint);}
.step-pill.on{color:var(--void);background:var(--gold);border-color:var(--gold);}
.step-pill.done{color:var(--gold);border-color:rgba(245,178,90,.4);}
.repeat-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;margin-bottom:10px;align-items:center;}
.repeat-row.faq{grid-template-columns:1fr 1.4fr auto;}
@media(max-width:640px){.repeat-row,.repeat-row.faq{grid-template-columns:1fr auto;}.repeat-row input:nth-child(2),.repeat-row.faq input:nth-child(2){grid-column:1/2;}}
.x{background:none;border:1px solid var(--line);color:var(--bone-faint);border-radius:8px;width:36px;height:40px;cursor:pointer;font-size:1rem;}
.x:hover{color:var(--bad);border-color:var(--bad);}
.hours-row{display:grid;grid-template-columns:70px 1fr 1fr 90px;gap:10px;align-items:center;margin-bottom:8px;}
.hours-row span.d{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--bone-dim);text-transform:uppercase;}
.hours-row label.cl{display:flex;align-items:center;gap:6px;margin:0;font-size:.8rem;}
.hours-row label.cl input{width:auto;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{border:1px solid var(--line);border-radius:100px;padding:8px 14px;font-size:.84rem;color:var(--bone-dim);cursor:pointer;background:none;font-family:inherit;}
.chip.on{border-color:var(--gold);color:var(--gold-hi);background:rgba(245,178,90,.1);}

/* dashboard */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:34px 0 22px;}
.page-head h1{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15;}
.status{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:100px;border:1px solid var(--line);color:var(--bone-dim);}
.status.live{color:var(--ok);border-color:rgba(127,214,164,.4);}
.status.sample{color:var(--violet);border-color:rgba(139,127,232,.5);}
.cluster{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}
@media(max-width:900px){.cluster{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.cluster{gap:10px;}.gauge{padding:16px 8px 14px;}.dial{width:104px;height:104px;}.dial .val{font-size:1.25rem;}.gauge .hint{font-size:.64rem;}}
.gauge{display:flex;flex-direction:column;align-items:center;padding:22px 14px 18px;text-align:center;}
.dial{width:132px;height:132px;border-radius:50%;position:relative;display:grid;place-items:center;
  background:repeating-conic-gradient(from 0deg,#2a2640 0 2deg,#1a1830 2deg 4deg);
  box-shadow:0 0 0 1px rgba(245,178,90,.35),inset 0 0 0 5px #0f0d1c,0 12px 30px -12px rgba(0,0,0,.8);}
.dial::before{content:'';position:absolute;inset:11px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1d1a33,#0b0a14);box-shadow:inset 0 0 0 1px rgba(245,178,90,.2);}
.dial svg{position:absolute;inset:11px;width:calc(100% - 22px);height:calc(100% - 22px);transform:rotate(-90deg);}
.dial .val{position:relative;font-family:'Fraunces',serif;font-size:1.75rem;color:var(--gold-hi);line-height:1;}
.gauge .lbl{margin-top:14px;font-size:.8rem;color:var(--bone-dim);}
.gauge .hint{font-size:.7rem;color:var(--bone-faint);margin-top:2px;}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:18px;}
@media(max-width:900px){.grid2{grid-template-columns:1fr;}}
.panel-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:10px;}
.panel-title h3{font-size:1.15rem;}
.spark{width:100%;height:120px;}
.hours-viz{display:flex;align-items:flex-end;gap:3px;height:110px;}
.hours-viz div{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--violet),#4a4290);min-height:3px;position:relative;}
.hours-viz div.after{background:linear-gradient(180deg,var(--gold-hi),var(--peach));}
.hours-axis{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:.62rem;color:var(--bone-faint);margin-top:6px;}
.legend{display:flex;gap:16px;font-size:.74rem;color:var(--bone-dim);margin-top:10px;}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;}
.call{padding:16px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:start;}
.call:first-of-type{border-top:0;}
@media(max-width:640px){.call{grid-template-columns:1fr;gap:6px;}}
.call .when{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--bone-faint);}
.call .t{font-weight:600;font-size:.95rem;}
.call .s{color:var(--bone-dim);font-size:.88rem;}
.tag{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:100px;border:1px solid var(--line);color:var(--bone-dim);white-space:nowrap;display:inline-block;margin-left:4px;}
.tag.booked{color:var(--ok);border-color:rgba(127,214,164,.4);}
.tag.message,.tag.attn{color:var(--warn);border-color:rgba(245,178,90,.45);}
.tag.late{color:var(--violet);border-color:rgba(139,127,232,.5);}
.ask-box{display:flex;gap:10px;}
.ask-box input{flex:1;}
.answer{margin-top:16px;padding:16px;border-radius:12px;background:var(--void-soft);border:1px solid var(--line);font-size:.93rem;white-space:pre-wrap;min-height:20px;}
.sugg{margin-top:12px;}
.order{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:.92rem;}
.order:first-of-type{border-top:0;}
.timeline{list-style:none;margin:10px 0 0;}
.timeline li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line);align-items:flex-start;}
.timeline li:first-child{border-top:0;}
.dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);flex:none;display:grid;place-items:center;font-size:.72rem;color:var(--bone-faint);margin-top:2px;}
.dot.done{background:var(--gold);color:var(--void);border-color:var(--gold);}
.dot.now{border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px rgba(245,178,90,.4);}
.banner{background:rgba(139,127,232,.12);border:1px solid rgba(139,127,232,.4);border-radius:12px;padding:12px 16px;font-size:.88rem;margin-bottom:18px;color:var(--bone);}
.empty{color:var(--bone-faint);font-size:.9rem;padding:14px 0;}
.hide{display:none !important;}

.order.done{opacity:.5}
.urgent{color:var(--peach);font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;}
