/* Retain Desk · colourful dark. Black base, gold as the brand colour, and one bright colour per kind of thing:
   gold = callbacks & money, green = success/retained, blue = fresh, red = retry/problems, purple = AI, orange = energy/targets. */
:root{
  --bg:#07070c; --surface:#13131c; --surface-2:#1b1b27; --surface-3:#272736; --line:#2e2e40; --line-2:#45455c;
  --ink:#ffffff; --muted:#c3c2d0; --faint:#8887a0;
  --gold:#ffc83d; --gold-hi:#ffe27a; --gold-deep:#e09a12; --gold-soft:rgba(255,200,61,.17); --gold-ink:#1d1403;
  --green:#22e39a; --green-soft:rgba(34,227,154,.16);
  --red:#ff5c7a; --red-soft:rgba(255,92,122,.17);
  --blue:#4aa8ff; --blue-soft:rgba(74,168,255,.17);
  --purple:#a98bff; --purple-soft:rgba(169,139,255,.18);
  --orange:#ff9340; --orange-soft:rgba(255,147,64,.17);
  --cyan:#2fd6e3; --pink:#ff6fb5;
  --grad-gold:linear-gradient(135deg,#ffe27a 0%,#ffc83d 45%,#ff9340 100%);
  --grad-green:linear-gradient(135deg,#7dffc8,#22e39a 55%,#12b8a6);
  --f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Onest",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"Onest",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; /* numbers: plain zero, no dot or slash */
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:14.5px/1.45 var(--f-body);font-variant-numeric:tabular-nums lining-nums;-webkit-tap-highlight-color:transparent}
/* soft coloured light behind everything so the screen never feels flat */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(900px 520px at 8% -8%,rgba(169,139,255,.20),transparent 62%),
  radial-gradient(760px 480px at 100% 0%,rgba(255,200,61,.16),transparent 60%),
  radial-gradient(900px 600px at 60% 115%,rgba(74,168,255,.14),transparent 62%)}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--gold)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:700;margin:0;letter-spacing:-.01em;text-wrap:balance}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700}
.muted{color:var(--muted)}

/* buttons & inputs */
.btn{border:0;border-radius:14px;padding:13px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease}
.btn:active{transform:scale(.98)}
.btn-gold{background:var(--grad-gold);color:var(--gold-ink);box-shadow:0 8px 22px rgba(255,170,50,.32),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover{filter:brightness(1.07);box-shadow:0 10px 28px rgba(255,170,50,.45),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:disabled{opacity:.4;box-shadow:none;filter:grayscale(.4)}
.btn-green{background:var(--grad-green);color:#032417;box-shadow:0 8px 24px rgba(34,227,154,.38),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ghost{background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink)}
.btn-ghost:hover{background:var(--surface-3);border-color:var(--faint)}
.btn-sm{padding:8px 12px;border-radius:10px;font-size:13px}
.btn-link{background:none;border:0;color:var(--muted);text-decoration:underline;padding:6px;font-size:13px}
.iconbtn{border:1px solid var(--line-2);background:var(--surface-2);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;color:var(--ink)}
.inp{border:1px solid var(--line-2);background:#0d0d14;color:var(--ink);border-radius:11px;padding:11px 12px;font:inherit;width:100%;min-height:46px;transition:border-color .15s,box-shadow .15s}
.inp:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);outline:0}
select.inp{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.inp::placeholder{color:var(--faint)}
textarea.inp{min-height:76px;resize:vertical}
.field{display:flex;flex-direction:column;gap:6px}
.field>label,.field>.lbl{font-size:12.5px;font-weight:600;color:#e4e3ee}

/* tags */
.tag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:7px;white-space:nowrap}
.t-callback{background:var(--gold-soft);color:var(--gold)}
.t-fresh{background:var(--blue-soft);color:var(--blue)}
.t-retention{background:var(--green-soft);color:var(--green)}
.t-retry{background:var(--red-soft);color:var(--red)}
.t-ai{background:var(--purple-soft);color:var(--purple)}
.t-done{background:var(--surface-3);color:var(--muted)}
.bg-callback{background:var(--gold)} .bg-fresh{background:var(--blue)} .bg-retention{background:var(--green)} .bg-retry{background:var(--red)}
.pos{color:var(--green)} .neg{color:var(--red)}

.info{border-radius:12px;padding:11px 13px;font-size:13.5px;display:flex;gap:9px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line-2);color:#fff}
.info.gold{background:var(--gold-soft);border-color:rgba(255,200,61,.4)}
.info.red{background:var(--red-soft);border-color:rgba(255,92,122,.4)}
.info.green{background:var(--green-soft);border-color:rgba(34,227,154,.4)}
.info svg{flex:none;margin-top:1px}

.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--grad-gold);color:var(--gold-ink);padding:12px 18px;border-radius:14px;font-weight:700;font-size:13.5px;z-index:90;max-width:min(460px,calc(100% - 32px));box-shadow:0 12px 34px rgb(0 0 0 / .55);text-align:center;animation:toastin .25s ease}
@keyframes toastin{from{transform:translate(-50%,12px);opacity:0}}
.toast.err{background:linear-gradient(135deg,#ff8aa0,#ff5c7a);color:#25040c}
.spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--line-2);border-top-color:var(--gold);border-right-color:var(--orange);animation:sp .8s linear infinite;margin:40px auto}
@keyframes sp{to{transform:rotate(360deg)}}

/* login */
.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.login form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;background:rgba(19,19,28,.85);border:1px solid var(--line-2);border-radius:24px;padding:28px 24px;box-shadow:0 30px 80px rgb(0 0 0 / .6)}
.mark{width:56px;height:56px;border-radius:16px;background:var(--grad-gold);display:grid;place-items:center;color:var(--gold-ink);box-shadow:0 10px 26px rgba(255,170,50,.4)}
.login h1{font-size:28px}

/* segmented control */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#0d0d14;border:1px solid var(--line-2);border-radius:13px;padding:4px}
.seg button{border:0;background:none;padding:9px 12px;border-radius:10px;font-weight:700;color:var(--muted);transition:background .15s,color .15s}
.seg button[aria-pressed="true"]{background:var(--grad-gold);color:var(--gold-ink);box-shadow:0 6px 16px rgba(255,170,50,.3)}

.opts{display:flex;flex-wrap:wrap;gap:7px}
.opt{border:1px solid var(--line-2);background:var(--surface-2);border-radius:11px;padding:9px 12px;font-size:13.5px;font-weight:600;color:var(--ink);transition:all .12s}
.opt[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-hi);box-shadow:0 0 0 3px rgba(255,200,61,.12)}

/* target bars: colour shifts red -> orange -> gold -> green as the caller gets closer */
.tbar{display:flex;flex-direction:column;gap:5px;min-width:0}
.tbar .tl-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;font-weight:600}
.tbar .tl-top b{font-family:var(--f-mono);font-size:13.5px}
.tbar .track{height:9px;background:rgba(255,255,255,.08);border-radius:6px;overflow:hidden}
.tbar .track i{display:block;height:100%;border-radius:6px;transition:width .6s cubic-bezier(.2,.8,.2,1);min-width:4px}
.p-low{background:linear-gradient(90deg,#ff5c7a,#ff8a5c)} .p-mid{background:linear-gradient(90deg,#ff9340,#ffc83d)}
.p-high{background:linear-gradient(90deg,#ffc83d,#b6ef5a)} .p-done{background:linear-gradient(90deg,#22e39a,#2fd6e3);box-shadow:0 0 12px rgba(34,227,154,.6)}

/* celebrations */
#fx{position:fixed;inset:0;z-index:200;pointer-events:none;width:100%;height:100%}
.cheer{position:fixed;left:50%;top:22%;transform:translateX(-50%);z-index:201;pointer-events:none;text-align:center;padding:18px 28px;border-radius:22px;background:rgba(13,13,20,.92);border:1px solid rgba(255,200,61,.6);box-shadow:0 0 0 6px rgba(255,200,61,.12),0 30px 80px rgb(0 0 0 / .7);animation:cheer 2.8s ease forwards;max-width:calc(100% - 32px)}
.cheer b{display:block;font-family:var(--f-display);font-size:30px;line-height:1.1;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.cheer span{display:block;margin-top:6px;font-size:14.5px;color:#fff;font-weight:600}
@keyframes cheer{0%{opacity:0;transform:translate(-50%,16px) scale(.85)}12%{opacity:1;transform:translate(-50%,0) scale(1.04)}20%{transform:translate(-50%,0) scale(1)}82%{opacity:1}100%{opacity:0;transform:translate(-50%,-14px) scale(.98)}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
