/* ============================================================================
   UTG PORTAL — DESIGN SYSTEM
   One stylesheet. The portal, the Sales Console and the client review page all
   read from it, so a change lands everywhere and nothing drifts.
   ========================================================================== */
:root{
  /* brand anchors */
  --navy:#04293D; --navy-2:#0A3D5A; --navy-3:#14638F;
  --gold:#C9962C; --gold-2:#E8C36A; --gold-soft:#FBF3DF; --gold-line:#EBD9A8; --gold-deep:#8A6A18;
  /* the functional layer — UTG navy, lightened. Not a new colour. */
  --sky:#1B6E9E; --sky-2:#3F9FD1; --sky-soft:#E9F2F8; --sky-line:#C3DDEC;
  /* surfaces */
  --canvas:linear-gradient(155deg,#04293D 0%,#0A3D5A 46%,#14638F 100%);
  --mist:#EFF2F5; --card:#FFFFFF; --line:#E8EDF1;
  --ink:#0F2027; --ink-soft:#4A6270; --muted:#8FA3AE;
  --green:#12795A; --green-soft:#E6F4EF;
  --red:#B3402F; --red-soft:#FBEDEA;
  /* Notion Gig Status — the source of truth, untouched */
  --n-gray:#787774; --n-yellow:#CB912F; --n-blue:#337EA9; --n-orange:#D9730D;
  --n-purple:#9065B0; --n-green:#448361; --n-red:#D44C47; --n-pink:#C14C8A;
  --display:'Fraunces',Georgia,serif; --body:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
  --r:20px; --r-sm:12px; --sh:0 2px 14px rgba(9,45,60,.06); --sh-lift:0 10px 30px rgba(9,45,60,.12);
}
/* ---- UTG NETWORK. Same gold accent and card styling as Signed talent — on
   purpose, so a network member's comp card is indistinguishable from a signed
   one when UTG submits them on a showcase. The ONLY visual difference is a
   lighter secondary-blue canvas, so the member's own dashboard reads as its own
   space without changing how any card looks. ---- */
html[data-tier="network"]{
  --canvas:linear-gradient(160deg,#0d3050 0%,#123c5e 55%,#154a72 100%);
}
html[data-theme="dark"][data-tier="network"]{
  --canvas:linear-gradient(160deg,#0a2540 0%,#0e3252 55%,#123f63 100%);
}

html[data-theme="dark"]{
  --canvas:linear-gradient(155deg,#010F17 0%,#04293D 55%,#0A3D5A 100%);
  --mist:#0E1D26; --card:#16242E; --line:#27363F;
  --ink:#E9F0F4; --ink-soft:#A9BEC9; --muted:#7B909D;
  --sky-soft:#12303F; --sky-line:#255675;
  --green-soft:#12332A; --red-soft:#3A1F1B; --gold-soft:#33290F; --gold-line:#5A4818;
  --sh:0 2px 14px rgba(0,0,0,.3); --sh-lift:0 10px 30px rgba(0,0,0,.42);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--canvas);background-attachment:fixed;color:var(--ink);
  font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;
  padding:22px 18px 40px;}
a{color:var(--sky);}
.hidden{display:none !important;}

/* ---------------- the floating shell ---------------- */
.shell{max-width:1240px;margin:0 auto;background:var(--mist);border-radius:24px;
  box-shadow:0 30px 70px rgba(2,20,30,.36);overflow:hidden;}

/* ---------------- top bar ---------------- */
.topbar{background:var(--card);padding:13px 24px;display:flex;align-items:center;gap:22px;}
.topbar img.logo{height:25px;width:auto;}
/* Network wordmark next to the logo — only shown for Network members, in the
   network accent, so their portal is branded distinctly at a glance. */
.brand-net{margin-left:-14px;align-self:center;font-size:11px;font-weight:800;letter-spacing:1.5px;
  color:var(--gold-deep);background:var(--gold-soft);border:1px solid var(--gold-line);
  padding:3px 8px;border-radius:6px;text-transform:uppercase;}
html[data-theme="dark"] .topbar img.logo{filter:invert(1) brightness(2.2);}
.nav{display:flex;gap:3px;}
.nav button{background:none;border:none;padding:9px 15px;font-family:var(--body);font-size:13.5px;
  font-weight:600;color:var(--muted);cursor:pointer;border-radius:11px;}
.nav button:hover{color:var(--ink);}
.nav button.on{color:var(--sky);background:var(--sky-soft);}
.nav .count{font-family:var(--mono);font-size:10px;background:var(--n-red);color:#fff;
  border-radius:9px;padding:1px 6px;margin-left:6px;}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:8px;}
.themebtn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:15px;
  padding:7px 9px;border-radius:10px;}
.themebtn:hover{background:var(--mist);color:var(--ink);}

/* avatar + menu (the profile lives here, not on the dashboard) */
.avwrap{position:relative;}
.avbtn{display:flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;
  padding:4px 5px 4px 10px;border-radius:12px;font-family:var(--body);}
.avbtn:hover{background:var(--mist);}
.avbtn .t{text-align:right;font-size:12.5px;font-weight:600;line-height:1.25;color:var(--ink);}
.avbtn .t small{display:block;color:var(--muted);font-weight:400;font-size:10.5px;}
.av{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--navy),var(--sky));
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;
  flex:none;overflow:hidden;}
.av img{width:100%;height:100%;object-fit:cover;}
.avmenu{position:absolute;top:calc(100% + 8px);right:0;background:var(--card);border-radius:14px;
  box-shadow:var(--sh-lift);min-width:190px;padding:6px;z-index:80;border:1px solid var(--line);}
.avmenu button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 12px;
  border-radius:9px;font-family:var(--body);font-size:13px;color:var(--ink);cursor:pointer;font-weight:500;}
.avmenu button:hover{background:var(--mist);}
.avmenu hr{border:none;border-top:1px solid var(--line);margin:5px 0;}

/* ---------------- layout ---------------- */
.wrap{padding:24px 24px 32px;}
.page-h{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:-.015em;}
.page-s{color:var(--muted);font-size:13.5px;margin-top:2px;margin-bottom:20px;}

/* ---------------- cards (borderless) ---------------- */
.card{background:var(--card);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh);}
.ch{display:flex;align-items:center;gap:9px;margin-bottom:14px;}
.ch h3{font-family:var(--display);font-weight:600;font-size:15.5px;}
.ch .ico{width:26px;height:26px;border-radius:9px;background:var(--sky-soft);color:var(--sky);
  display:flex;align-items:center;justify-content:center;font-size:13px;flex:none;}
.ch .more{margin-left:auto;font-size:11.5px;color:var(--sky);font-weight:600;cursor:pointer;}
.grid{display:grid;gap:16px;}

/* ---------------- dashboard ---------------- */
.hello{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:22px;}
.hello h1{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.015em;}
.hello p{color:var(--muted);font-size:13.5px;margin-top:2px;}
.kpis{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;}
.kpi{background:var(--card);border-radius:16px;padding:10px 15px 10px 11px;display:flex;
  align-items:center;gap:10px;box-shadow:var(--sh);}
.kpi .ic{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;font-size:14px;flex:none;}
.kpi .v{font-family:var(--mono);font-weight:700;font-size:16px;line-height:1.1;}
.kpi .k{font-size:10.5px;color:var(--muted);white-space:nowrap;}
.dash{display:grid;grid-template-columns:310px 1fr 272px;gap:16px;}
@media(max-width:1080px){ .dash{grid-template-columns:1fr;} }

.todo{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.todo:last-child{border:none;padding-bottom:0;}
.todo:hover .n{color:var(--sky);}
.todo .pin{width:3px;border-radius:2px;background:var(--c,var(--n-gray));flex:none;}
.todo .n{font-weight:600;font-size:13.5px;}
.todo .m{font-size:11.5px;color:var(--muted);margin-top:1px;}
.todo .due{margin-left:auto;font-family:var(--mono);font-size:9.5px;font-weight:700;padding:3px 7px;
  border-radius:6px;background:var(--red-soft);color:var(--n-red);height:fit-content;white-space:nowrap;}
.todo .due.soon{background:var(--sky-soft);color:var(--sky);}
.todo .due.ok{background:var(--green-soft);color:var(--green);}

.pipe{display:flex;gap:7px;}
.st{flex:1;background:var(--mist);border-radius:13px;padding:11px 8px;text-align:center;
  position:relative;overflow:hidden;cursor:pointer;}
.st::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);}
.st:hover{background:var(--sky-soft);}
.st .v{font-family:var(--mono);font-weight:700;font-size:19px;color:var(--c);}
.st .k{font-size:9.5px;color:var(--muted);margin-top:1px;}

.hero{background:linear-gradient(155deg,#04293D 0%,#0F4E74 58%,#1B6E9E 125%);color:#fff;
  border-radius:var(--r);padding:19px;box-shadow:var(--sh-lift);display:flex;flex-direction:column;}
.hero .hh{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#A9C9DE;font-weight:600;}
.hero .big{font-family:var(--mono);font-weight:700;font-size:36px;margin-top:12px;letter-spacing:-.02em;}
.hero .sm{font-size:12px;color:#A9C9DE;}
.hero .brk{margin-top:14px;display:flex;flex-direction:column;gap:7px;}
.hero .br{display:flex;justify-content:space-between;font-size:12px;color:#BFD8E8;}
.hero .br b{color:#fff;font-family:var(--mono);}
.hero .br.tot{border-top:1px solid rgba(255,255,255,.16);padding-top:8px;}
.hero .br.tot span{color:#fff;font-weight:600;} .hero .br.tot b{color:var(--gold-2);}

.act{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12.5px;}
.act:last-child{border:none;}
.act .d{width:7px;height:7px;border-radius:50%;background:var(--sky);margin-top:6px;flex:none;}
.act .tm{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);white-space:nowrap;}
.act b{font-weight:600;}

/* ---------------- buttons ---------------- */
.btn{font-family:var(--body);font-weight:600;font-size:13.5px;padding:10px 17px;border-radius:12px;
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:.13s;}
.btn:hover{border-color:var(--muted);}
.btn.pri{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn.pri:hover{background:var(--navy-2);}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#3A2A05;font-weight:700;}
.btn.danger{background:var(--red-soft);border-color:var(--red-soft);color:var(--red);}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.btn.sm{padding:7px 12px;font-size:12.5px;border-radius:10px;}

/* ---------------- gigs ---------------- */
.giglist{display:flex;flex-direction:column;gap:10px;}
.gig{background:var(--card);border-radius:15px;padding:14px 18px;cursor:pointer;display:flex;
  align-items:center;gap:16px;box-shadow:var(--sh);border-left:4px solid var(--c,var(--n-gray));
  transition:transform .13s,box-shadow .13s;}
.gig:hover{transform:translateY(-2px);box-shadow:var(--sh-lift);}
.gig .g-main{flex:1;min-width:0;}
.gig .g-co{font-family:var(--display);font-weight:600;font-size:16px;}
.gig .g-client{font-size:12.5px;font-weight:600;color:var(--gold-deep,#8A6A18);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html[data-theme="dark"] .gig .g-client{color:var(--gold-2);}
.gig .g-meta{font-size:12.5px;color:var(--muted);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;}
.gig .g-right{text-align:right;flex:none;}
.gig .g-bid{font-family:var(--mono);font-size:11px;color:var(--muted);}
.gig .g-val{font-family:var(--mono);font-weight:700;font-size:15px;}
.pill{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em;
  padding:3px 8px;border-radius:7px;color:#fff;background:var(--c,var(--n-gray));white-space:nowrap;}

/* ---------------- forms ---------------- */
label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:5px;}
label small{font-weight:400;color:var(--muted);}
input[type=text],input[type=email],input[type=date],input[type=number],input[type=tel],
input[type=password],input[type=search],select,textarea{
  width:100%;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font-family:var(--body);
  font-size:13.5px;color:var(--ink);background:var(--mist);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky);background:var(--card);}
textarea{resize:vertical;min-height:70px;}
.f{margin-bottom:14px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:700px){ .frow{grid-template-columns:1fr;} }

/* ---------------- profile ---------------- */
.pf{display:grid;grid-template-columns:290px 1fr;gap:16px;}
@media(max-width:900px){ .pf{grid-template-columns:1fr;} }
.avbig{width:104px;height:104px;border-radius:28px;background:linear-gradient(135deg,var(--navy),var(--sky));
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);
  font-size:34px;font-weight:600;margin:0 auto 14px;position:relative;box-shadow:var(--sh-lift);overflow:visible;}
.avbig .inner{width:100%;height:100%;border-radius:28px;overflow:hidden;display:flex;
  align-items:center;justify-content:center;}
.avbig img{width:100%;height:100%;object-fit:cover;}
.avbig .cam{position:absolute;bottom:-5px;right:-5px;width:32px;height:32px;border-radius:11px;
  background:var(--gold);color:#3A2A05;display:flex;align-items:center;justify-content:center;
  font-size:14px;border:3px solid var(--card);cursor:pointer;}
.tog{display:flex;align-items:center;gap:9px;margin-top:10px;cursor:pointer;user-select:none;}
.tog input{position:absolute;opacity:0;width:0;height:0;}
.tog .tk{width:38px;height:21px;border-radius:11px;background:var(--line);position:relative;flex:none;transition:.15s;}
.tog .tk::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s;}
.tog input:checked + .tk{background:var(--sky);}
.tog input:checked + .tk::after{transform:translateX(17px);}
.tog .tl{font-size:12.5px;font-weight:600;color:var(--ink-soft);}

/* ---------------- misc ---------------- */
.empty{text-align:center;padding:48px 20px;color:var(--muted);font-size:14px;
  background:var(--card);border-radius:var(--r);box-shadow:var(--sh);}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;
  padding:12px 22px;border-radius:12px;font-size:13.5px;box-shadow:0 10px 34px rgba(2,20,30,.4);z-index:200;}
.toast.err{background:var(--red);}
.spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px;margin-right:7px;}
@keyframes sp{to{transform:rotate(360deg);}}

/* ---------------- login ---------------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;margin:-22px -18px -40px;}
.login{background:var(--card);border-radius:24px;padding:38px 34px;width:100%;max-width:400px;
  box-shadow:0 30px 70px rgba(2,20,30,.4);text-align:center;}
.login img{height:38px;margin-bottom:22px;}
html[data-theme="dark"] .login img{filter:invert(1) brightness(2.2);}
.login h1{font-family:var(--display);font-weight:600;font-size:22px;margin-bottom:6px;}
.login p{font-size:13.5px;color:var(--ink-soft);margin-bottom:22px;}
.login input{text-align:center;margin-bottom:12px;}
.login .btn{width:100%;}
.login .note{font-size:11.5px;color:var(--muted);margin-top:16px;line-height:1.5;}

/* ---------------- outreach log ---------------- */
.logitem{border-top:1px solid var(--line);padding:9px 0;font-size:13px;}
.logitem .lmeta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);display:flex;gap:8px;align-items:center;}
.logitem .lacts{margin-left:auto;display:flex;gap:6px;opacity:0;transition:opacity .12s;}
.logitem:hover .lacts{opacity:1;}
.logitem .lacts button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;
  padding:2px 5px;border-radius:5px;}
.logitem .lacts button:hover{color:var(--ink);background:var(--mist);}
.logitem .lacts button.del:hover{color:var(--red);}

/* ---------------- talent / submissions ---------------- */
.subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:14px;margin-top:14px;}
.sub-c{background:var(--card);border:2px solid var(--line);border-radius:15px;overflow:hidden;
  box-shadow:var(--sh);transition:transform .13s,box-shadow .13s;}
.sub-c:hover{transform:translateY(-2px);box-shadow:var(--sh-lift);}
.sub-c.short{border-color:var(--gold);}
.sub-c .sph{background:var(--mist);aspect-ratio:4/5;position:relative;overflow:hidden;}
.sub-c .sph img{width:100%;height:100%;object-fit:cover;display:block;}
.sub-c .sph .cnt{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.6);color:#fff;
  font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:5px;}
.sub-c .sph .tag{position:absolute;top:6px;left:6px;font-family:var(--mono);font-size:9px;font-weight:700;
  padding:3px 6px;border-radius:5px;background:var(--n-green);color:#fff;letter-spacing:.05em;}
.sub-c .sph .tag.open{background:var(--n-gray);}
.sub-c .si{padding:11px 13px;}
.sub-c .si .n{font-weight:600;font-size:14px;}
.sub-c .si .d{font-size:11.5px;color:var(--muted);margin-top:1px;}
.sub-c .si .cts{font-size:11.5px;color:var(--ink-soft);margin-top:6px;line-height:1.7;word-break:break-all;}
.sub-c .si .cts a{color:var(--sky);}
.sub-c .sact{padding:0 13px 12px;display:flex;gap:6px;}
.sub-c .sact button{flex:1;border:1.5px solid var(--line);background:var(--card);border-radius:9px;
  padding:6px;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink-soft);font-family:var(--body);}
.sub-c .sact button.on{background:var(--gold);border-color:var(--gold);color:#3A2A05;}
.cdec{font-family:var(--mono);font-size:9.5px;font-weight:700;padding:3px 7px;border-radius:5px;
  letter-spacing:.05em;display:inline-block;margin-top:6px;}
.cdec.approved{background:var(--green-soft);color:var(--green);}
.cdec.maybe{background:var(--gold-soft);color:var(--gold-deep);}
.cdec.passed{background:var(--mist);color:var(--muted);}
.pubbox{background:var(--gold-soft);border-radius:14px;padding:14px 16px;margin-top:14px;}
.pubbox .lnk{display:flex;gap:8px;margin-top:9px;}
.pubbox .lnk input{font-family:var(--mono);font-size:11.5px;}
.rt{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;}
.rt input{position:absolute;opacity:0;width:0;height:0;}
.rt .track{width:38px;height:21px;border-radius:11px;background:var(--line);position:relative;flex:none;transition:.15s;}
.rt .track::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s;}
.rt input:checked + .track{background:var(--sky);}
.rt input:checked + .track::after{transform:translateX(17px);}
.rt .lab{font-size:12.5px;font-weight:600;color:var(--ink-soft);}

/* ---------------- top bar: never overflow ---------------- */
body{overflow-x:hidden;}
.topbar{flex-wrap:wrap;row-gap:8px;}
.topbar img.logo{flex:none;}
.nav{flex:1;min-width:0;flex-wrap:wrap;}
.tb-right{flex:none;min-width:0;}
.avbtn .t{max-width:150px;overflow:hidden;}
.avbtn .t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.avbtn .t > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
@media(max-width:820px){
  .avbtn .t{display:none;}          /* just the avatar on small screens */
  .nav button{padding:8px 11px;font-size:12.5px;}
}
.wrap{overflow-x:hidden;}
.pf{min-width:0;} .pf > *{min-width:0;}
.dash{min-width:0;} .dash > *{min-width:0;}

/* ---------------- team ---------------- */
.trow{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);}
.trow:last-child{border:none;}
.trow .av{width:40px;height:40px;border-radius:12px;}
.trow .who{flex:1;min-width:0;}
.trow .who .n{font-weight:600;font-size:14px;}
.trow .who .e{font-size:11.5px;color:var(--muted);}
.trow .code{font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--mist);
  padding:4px 8px;border-radius:7px;}
.trow .badge{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;
  padding:4px 8px;border-radius:7px;}
.trow .badge.admin{background:var(--gold-soft);color:var(--gold-deep);}
.trow .badge.agent{background:var(--sky-soft);color:var(--sky);}
.trow .badge.off{background:var(--red-soft);color:var(--red);}
.trow .seen{font-size:11px;color:var(--muted);min-width:92px;}
.trow .tacts{display:flex;gap:6px;}
html[data-theme="dark"] .trow .badge.admin{color:var(--gold-2);}
.linkbox{background:var(--gold-soft);border-radius:12px;padding:12px 14px;margin-top:12px;}
.linkbox input{font-family:var(--mono);font-size:11px;}

/* ---- sub-nav for grouped tabs (the Sales tab: Quotes · Console · Agreements) ---- */
.subnav{display:flex;gap:6px;margin:0 0 18px;flex-wrap:wrap;}
.subnav-b{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:8px 15px;
  font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;font-family:var(--body);transition:.13s;}
.subnav-b:hover{color:var(--ink);}
.subnav-b.on{background:var(--sky);color:#fff;border-color:var(--sky);}

/* ---------------- talent roster ---------------- */
.tfilters{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.tfilters button{border:none;background:var(--card);border-radius:11px;padding:8px 14px;font-size:12.5px;
  font-weight:600;color:var(--muted);cursor:pointer;box-shadow:var(--sh);font-family:var(--body);}
.tfilters button.on{background:var(--sky);color:#fff;}

/* ---- automated nudges admin card ------------------------------------------ */
.anr{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;
  padding:12px 14px;margin-bottom:9px;cursor:pointer;}
.anr.master{background:var(--green-soft);border-color:rgba(63,191,143,.35);}
.anr input{position:absolute;opacity:0;width:0;height:0;}
.anr-t{flex:1;} .anr-t b{font-size:13.5px;} .anr-t span{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:2px;line-height:1.45;}
.anr-sw{width:42px;height:24px;border-radius:20px;background:var(--line);position:relative;flex:none;transition:.15s;}
.anr-sw::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.15s;}
.anr input:checked ~ .anr-sw{background:var(--green);}
.anr input:checked ~ .anr-sw::after{transform:translateX(18px);}
.anacts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.anout{margin-top:12px;}
.anout-h{font-family:var(--display);font-size:16px;font-weight:600;}
.anout-b{font-size:12.5px;color:var(--ink-soft);margin-top:3px;line-height:1.6;}

/* ---- collapsible dashboard sections (talent Home) ------------------------- */
.dcard .ch h3{flex:1;}
.dcol-btn{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11.5px;
  font-weight:600;cursor:pointer;font-family:var(--body);padding:4px 11px;border-radius:9px;transition:.13s;}
.dcol-btn:hover{color:var(--ink);border-color:var(--sky);}
.card.dcol > *:not(.ch){display:none;}
.card.dcol .ch{margin-bottom:0;}

/* ---- comp card ON THE DASHBOARD (the living preview module) ---------------- */
.ccdash{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--sh);margin-bottom:16px;}
.ccd-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);}
.ccd-h{display:flex;flex-direction:column;gap:5px;flex:1;}
.ccd-h h3{font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink);}
.ccd-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;width:max-content;}
.ccd-status .dot{width:6px;height:6px;border-radius:50%;}
.ccd-status.live{color:var(--green);} .ccd-status.live .dot{background:var(--green);box-shadow:0 0 0 3px var(--green-soft);}
.ccd-status.notlive{color:var(--gold);} .ccd-status.notlive .dot{background:var(--gold);}
.ccd-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  color:var(--green);background:var(--green-soft);border:1px solid var(--green);
  padding:6px 12px 6px 8px;border-radius:20px;white-space:nowrap;}
.ccd-chip .vk{width:15px;height:15px;border-radius:50%;background:var(--green);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;}
/* Network member's card carries the network accent instead of the signed green. */
.ccd-chip.net{color:var(--gold-deep);background:var(--gold-soft);border-color:var(--gold-line);
  padding:6px 12px;}
.ccd-net{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--muted,#5a6b78);
  background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:12px;padding:11px 13px;}
.ccd-net b{color:var(--gold-deep);}

/* ---- Network first-login Terms gate ---- */
.ntgate{max-width:600px;margin:6px auto 40px;background:var(--card);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28);}
.ntg-head{background:linear-gradient(150deg,#0e3252,#134a72 60%,#186091);padding:26px 28px 22px;}
.ntg-hi{font-family:'Fraunces',Georgia,serif;font-size:23px;color:#fff;line-height:1.25;}
.ntg-sub{font-size:13.5px;color:#cfe0ee;margin-top:7px;line-height:1.55;}
.ntg-body{padding:22px 26px 26px;}
.ntg-label{font-size:13px;color:var(--gold-deep);font-weight:700;margin-bottom:12px;letter-spacing:.2px;}
.ntg-terms{background:rgba(0,0,0,.14);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;max-height:320px;overflow-y:auto;font-size:12.7px;line-height:1.6;color:var(--ink);}
.ntg-terms h4{font-size:13px;margin:14px 0 5px;color:var(--gold-2);}
.ntg-terms p{margin:0 0 5px;}
.ntg-terms .nt-eff{color:var(--muted);font-size:11.5px;margin-bottom:10px;}
.ntg-agree{display:flex;align-items:flex-start;gap:11px;margin:18px 2px 0;cursor:pointer;}
.ntg-agree input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--gold);cursor:pointer;}
.ntg-agree span{font-size:13.5px;}
.ntgate .btn.pri{width:100%;margin-top:16px;}
.ntg-fine{font-size:11.5px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.5;}

/* ---- Signed-Talent offer card (shown to a Network member) ---- */
.sofr{background:var(--card);border:1px solid var(--gold-line);border-radius:16px;overflow:hidden;
  box-shadow:0 14px 40px rgba(0,0,0,.28);margin-bottom:16px;}
.sofr-top{background:linear-gradient(135deg,#1b4a2f,#12795A);padding:7px 18px;font-size:11px;
  font-weight:800;letter-spacing:1px;color:#d8f5e9;}
.sofr-bd{padding:20px 22px 22px;}
.sofr-bd h3{margin:0 0 4px;font-size:20px;font-family:'Fraunces',Georgia,serif;}
.sofr-sub{color:var(--muted);font-size:13.5px;margin-bottom:14px;}
.sofr-perks{margin:0 0 16px;padding:0;list-style:none;}
.sofr-perks li{font-size:13.5px;padding:5px 0 5px 24px;position:relative;}
.sofr-perks li:before{content:'\2713';position:absolute;left:0;color:var(--green,#12795A);font-weight:800;}
.sofr-fine{font-size:12px;color:var(--muted);margin:0 0 16px;line-height:1.5;}
.sofr-fine b{color:var(--ink,inherit);}
.sofr-row{display:flex;gap:10px;}
.sofr-row .btn{flex:1;}

.ccd-body{display:flex;}
@media(max-width:560px){ .ccd-body{flex-direction:column;} }
.ccd-peek{position:relative;width:220px;flex:none;background:#0A1620;overflow:hidden;min-height:210px;}
.ccd-peek img{width:100%;height:100%;object-fit:cover;display:block;}
/* On a phone — where nearly all talent are — show the WHOLE photo, uncropped.
   The card stacks, the image takes its natural height, nothing gets its head cut
   off. object-fit:contain keeps portrait shots intact within a sane cap. */
@media(max-width:560px){
  .ccd-peek{width:100%;height:auto;min-height:0;background:#08131C;}
  .ccd-peek img{height:auto;max-height:78vh;object-fit:contain;}
  .ccd-noimg{min-height:280px;}
}
.ccd-noimg{width:100%;min-height:210px;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:44px;color:#3a5566;background:linear-gradient(135deg,#0e2a3c,#123047);}
.ccdash.off .ccd-peek img{filter:grayscale(.35) brightness(.82);}
.ccd-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,31,0) 40%,rgba(4,20,31,.85));}
.ccd-who{position:absolute;left:13px;right:13px;bottom:11px;color:#fff;}
.ccd-who .n{font-family:var(--display);font-size:19px;font-weight:600;line-height:1.1;}
.ccd-who .m{font-size:11.5px;color:#CFE0EA;margin-top:3px;}
.ccd-tags{position:absolute;top:11px;left:11px;display:flex;gap:5px;flex-wrap:wrap;}
.ccd-tags span{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.16);padding:4px 7px;border-radius:6px;color:#fff;}
.ccd-lens{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;
  transition:.18s;text-decoration:none;background:rgba(4,20,31,.35);}
.ccd-peek:hover .ccd-lens{opacity:1;}
.ccd-lens span{background:var(--gold);color:#2a2005;font-size:12px;font-weight:700;padding:9px 14px;border-radius:10px;}

.ccd-side{flex:1;padding:16px;display:flex;flex-direction:column;gap:14px;}
.ccd-meter .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;}
.ccd-meter .l{font-size:12.5px;color:var(--ink-soft);}
.ccd-meter .p{font-family:var(--display);font-size:17px;font-weight:600;color:var(--gold);}
.ccd-bar{height:8px;border-radius:20px;background:var(--mist);overflow:hidden;}
.ccd-bar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--gold),var(--gold-2));}
.ccd-tip{font-size:11.5px;color:var(--ink-soft);margin-top:8px;line-height:1.45;}
.ccd-pts{font-family:var(--mono);font-size:10px;color:var(--gold);opacity:.85;margin-left:4px;}
.ccd-checks{display:flex;flex-direction:column;gap:7px;}
.ccd-chk{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink);}
.ccd-chk .b{width:17px;height:17px;border-radius:50%;flex:none;display:flex;align-items:center;
  justify-content:center;font-size:10px;font-weight:700;}
.ccd-chk.done .b{background:var(--green-soft);color:var(--green);}
.ccd-chk.todo{color:var(--ink-soft);}
.ccd-chk.todo .b{background:var(--gold-soft);color:var(--gold);border:1px dashed var(--gold-line);}
.ccd-fresh{display:flex;gap:10px;align-items:flex-start;background:var(--gold-soft);
  border:1px solid var(--gold-line);border-radius:11px;padding:10px 12px;font-size:12.5px;
  color:var(--gold-deep);line-height:1.5;}
html[data-theme="dark"] .ccd-fresh{color:var(--gold-2);}
.ccd-fresh .fx{flex:none;border:none;background:transparent;color:inherit;opacity:.6;font-size:16px;
  line-height:1;cursor:pointer;padding:0 2px;}
.ccd-fresh .fx:hover{opacity:1;}
.ccd-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ccd-link{display:flex;align-items:center;gap:8px;background:var(--mist);border:1px solid var(--line);
  border-radius:10px;padding:8px 11px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);}
.ccd-link .u{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sky);}
.ccd-link .cp{border:none;background:transparent;color:var(--gold);font-family:var(--body);font-weight:600;
  cursor:pointer;font-size:12.5px;}
.ccd-ig{width:100%;justify-content:center;background:transparent;border:1px solid var(--line);color:var(--ink);
  font-weight:600;font-size:12.5px;padding:9px 12px;border-radius:10px;cursor:pointer;font-family:var(--body);
  display:flex;align-items:center;gap:6px;transition:.13s;}
.ccd-ig:hover{border-color:var(--gold);color:var(--gold);}

/* ---- the second filter axis -------------------------------------------------
   Everything that isn't a pipeline status lives behind one button. Thirteen
   filters as chips is a wall you read; as a grouped menu with counts it's a
   list you scan, and the next one we add doesn't cost another row of page. */
.slicebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 16px;position:relative;}
.slicebtn{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--line);
  background:transparent;border-radius:11px;padding:8px 14px;font-size:12.5px;font-weight:600;
  color:var(--muted);cursor:pointer;font-family:var(--body);transition:.13s;}
.slicebtn:hover{border-color:var(--sky);color:var(--ink);}
.slicebtn.on{border-style:solid;border-color:var(--gold);color:var(--gold);}
.slicechip{display:inline-flex;align-items:center;gap:9px;background:var(--gold-soft);
  border:1px solid var(--gold-line);color:var(--gold-deep);border-radius:11px;
  padding:7px 8px 7px 13px;font-size:12.5px;}
html[data-theme="dark"] .slicechip{color:var(--gold-2);}
.slicechip b{font-weight:600;}
.slicechip>span{opacity:.7;font-variant-numeric:tabular-nums;}
.slicechip button{border:none;background:transparent;color:inherit;cursor:pointer;
  font-size:16px;line-height:1;padding:0 3px;opacity:.65;}
.slicechip button:hover{opacity:1;}

.slicebd{position:fixed;inset:0;z-index:59;}
.slicepop{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:300px;
  max-height:70vh;overflow:auto;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:7px;box-shadow:var(--sh-lift);}
.slicepop .grp{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);padding:12px 11px 6px;}
.slicepop .grp:first-child{padding-top:6px;}
.slicepop button.opt{display:flex;width:100%;align-items:center;justify-content:space-between;
  gap:12px;border:none;background:transparent;color:var(--ink);text-align:left;
  padding:9px 11px;border-radius:10px;font-size:13px;font-family:var(--body);cursor:pointer;}
.slicepop button.opt:hover:not([disabled]){background:var(--mist);}
.slicepop button.opt.on{background:var(--sky);color:#fff;}
.slicepop button.opt .h{display:block;font-size:11px;opacity:.6;margin-top:2px;line-height:1.35;}
.slicepop button.opt .n{flex:none;font-size:11.5px;opacity:.55;font-variant-numeric:tabular-nums;}
.slicepop button.opt[disabled]{opacity:.33;cursor:default;}
.slicepop button.opt.clr{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;
  color:var(--muted);justify-content:center;padding-top:12px;}

/* On a phone a dropdown pinned to a button ends up half off the screen.
   Same menu, docked to the bottom, where a thumb already is. */
@media(max-width:560px){
  .slicepop{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;max-height:76vh;
    border-radius:18px 18px 0 0;padding:7px 7px 22px;}
  .slicebd{background:rgba(0,0,0,.35);}
}
/* ---- bulk send ------------------------------------------------------------
   A ticked card has to look ticked from across the room. The checkbox alone is
   a 16px signal for a decision that ends in eighty emails. */
.selall{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:12.5px;
  color:var(--muted);cursor:pointer;user-select:none;}
.selall input{width:15px;height:15px;accent-color:var(--sky);cursor:pointer;}

.tc.selectable{position:relative;}
.tc .tsel{position:absolute;top:10px;right:10px;z-index:2;display:flex;padding:5px;cursor:pointer;}
.tc .tsel input{width:17px;height:17px;accent-color:var(--gold);cursor:pointer;}
.tc.picked{box-shadow:0 0 0 2px var(--gold),var(--sh-lift);}

.bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;
  background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:13px;padding:10px 14px;
  position:sticky;top:8px;z-index:12;}
.bulkbar .bcount{font-weight:600;font-size:13px;color:var(--gold-deep);}
html[data-theme="dark"] .bulkbar .bcount{color:var(--gold-2);}
.bulkbar .btn{margin-left:auto;}
.bulkbar .bstatus{font:inherit;font-size:13px;padding:7px 10px;border-radius:9px;
  background:var(--card,#0e2a3d);color:var(--ink,#eaf1f8);border:1px solid var(--gold-line);cursor:pointer;}

/* SIGNED / NETWORK tier chips in the showcase builder. */
.tchip{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.6px;padding:2px 7px;
  border-radius:20px;vertical-align:middle;white-space:nowrap;}
.tchip-signed{color:var(--gold-deep,#8A6A18);background:var(--gold-soft,#FBF3DF);border:1px solid var(--gold-line,#EBD9A8);}
.tchip-net{color:#0F6E56;background:#E1F5EE;border:1px solid #9FE1CB;}
html[data-theme="dark"] .tchip-net{color:#5DCAA5;background:rgba(93,202,165,.14);border-color:rgba(93,202,165,.4);}

/* ===================== PROSPECTS / PIPELINE ===================== */
.pp-gh{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--muted);margin:16px 0 8px;}
.pp-gh.overdue{color:var(--n-red,#d9694e);}
.pp-gh.today{color:var(--gold-2);}
.pp-qrow{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap;}
.pp-qrow:first-child{border-top:0;}
.pp-qmain{flex:1;min-width:0;}
.pp-qtop{font-size:14.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pp-due{font-size:11.5px;color:var(--muted);font-weight:600;}
.pp-qsum{font-size:12.5px;color:var(--muted);margin-top:3px;}
.pp-qacts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.pp-draft{flex-basis:100%;white-space:pre-wrap;font-size:12.5px;line-height:1.5;background:rgba(0,0,0,.14);
  border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-top:8px;color:var(--ink);}

.pp-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;}
.pp-filters select,.pp-filters input{font:inherit;font-size:12.5px;padding:7px 26px 7px 11px;border-radius:8px;
  background:var(--card-2,rgba(255,255,255,.03));color:var(--ink);border:1px solid var(--line);cursor:pointer;
  width:auto;min-width:110px;max-width:160px;flex:0 0 auto;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%238fb0c6' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;}
.pp-filters input{cursor:text;min-width:150px;max-width:none;background-image:none;padding-right:11px;}
.pp-lrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;
  border-top:1px solid var(--line);cursor:pointer;flex-wrap:wrap;}
.pp-lrow:first-child{border-top:0;}
.pp-lrow:hover{background:rgba(201,150,44,.06);}
.pp-lmain{flex:1 1 auto;min-width:0;text-align:left;}
.pp-lsub{font-size:12px;color:var(--muted);margin-top:3px;}
.pp-lmeta{text-align:right;display:flex;flex-direction:column;gap:3px;align-items:flex-end;}
.pp-lsm{font-size:11.5px;color:var(--muted);}

.pp-lane{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:20px;vertical-align:middle;}
.pp-lane-a{color:#8A6A18;background:var(--gold-soft);border:1px solid var(--gold-line);}
.pp-lane-b{color:#0F5C8A;background:rgba(63,159,209,.14);border:1px solid rgba(63,159,209,.4);}
.pp-lane-c{color:#0F6E56;background:rgba(93,202,165,.16);border:1px solid rgba(93,202,165,.4);}
html[data-theme="dark"] .pp-lane-a{color:var(--gold-2);}
.pp-score{display:inline-block;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:20px;vertical-align:middle;
  background:rgba(255,255,255,.06);color:var(--muted);border:1px solid var(--line);}
.pp-score.s5{color:#fff;background:#12795A;border-color:#12795A;}
.pp-score.s4{color:#0F6E56;background:rgba(18,121,90,.18);border-color:rgba(18,121,90,.4);}
.pp-score.s1{color:var(--n-red,#d9694e);border-color:rgba(217,105,78,.4);}
.pp-stage{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;
  background:var(--gold-soft);color:var(--gold-deep);border:1px solid var(--gold-line);}

.pp-chead .pp-chrow{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.pp-cname{font-family:'Fraunces',Georgia,serif;font-size:22px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pp-cmeta{font-size:12.5px;color:var(--muted);margin-top:3px;}
.pp-csoc{font-size:12px;margin-top:5px;}
.pp-csoc a{color:var(--gold-2);text-decoration:none;text-transform:capitalize;}
.pp-cright{text-align:right;display:flex;flex-direction:column;gap:5px;align-items:flex-end;}
.pp-cval{font-size:18px;font-weight:800;color:var(--gold-2);}
.pp-cicp{font-size:12.5px;color:var(--muted);background:rgba(0,0,0,.12);border:1px solid var(--line);
  border-radius:10px;padding:10px 12px;margin-top:12px;line-height:1.5;}
.pp-cacts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.pp-sec{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--gold-2);margin:20px 0 8px;}
.pp-contact{padding:10px 16px;border-top:1px solid var(--line);}
.pp-contact:first-child{border-top:0;}

.pp-trow{display:flex;gap:12px;padding:12px 16px;border-top:1px solid var(--line);}
.pp-trow:first-child{border-top:0;}
.pp-trow:hover{background:rgba(201,150,44,.05);}
.pp-tdot{width:11px;height:11px;border-radius:50%;flex:none;margin-top:5px;background:var(--gold);}
.pp-tdot.done{background:var(--green,#12795A);}
.pp-tbody{flex:1;min-width:0;}
.pp-ttop{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pp-tstatus{font-size:10.5px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:12px;padding:1px 8px;}
.pp-tmeta{font-size:12px;color:var(--muted);margin-top:3px;}
.pp-tbodytext{font-size:12.5px;line-height:1.55;white-space:pre-wrap;color:var(--ink);margin-top:6px;
  background:rgba(0,0,0,.12);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}

.pp-mh{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);}
.pp-mh h3{margin:0;font-size:17px;}
.pp-mh .ppx{background:none;border:0;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;}
.pp-mbody{padding:16px 18px;}
.pp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
@media(max-width:560px){ .pp-grid2{grid-template-columns:1fr;} }
.pp-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:10px;}
.pp-f span{font-weight:600;}
.pp-f input,.pp-f select,.pp-f textarea{font:inherit;font-size:13.5px;padding:9px 11px;border-radius:9px;
  background:var(--card);color:var(--ink);border:1px solid var(--line);width:100%;}
.pp-f textarea{min-height:64px;resize:vertical;}
.pp-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0 4px;cursor:pointer;}
.pp-check input{width:18px;height:18px;accent-color:var(--gold);}
.pp-crow{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr 1fr auto;gap:6px;margin-bottom:6px;align-items:center;}
.pp-crow input{font:inherit;font-size:12.5px;padding:8px 9px;border-radius:8px;background:var(--card);color:var(--ink);border:1px solid var(--line);min-width:0;width:100%;}
.pp-crm{background:none;border:0;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;}
.pp-crm:hover{color:var(--n-red,#d9694e);}
@media(max-width:560px){ .pp-crow{grid-template-columns:1fr 1fr auto;} }
.pp-prop{background:var(--card);border:1px solid var(--gold-line);border-radius:12px;padding:14px 16px;}
.pp-reject{margin-top:12px;font-size:13px;font-weight:600;color:var(--n-red,#d9694e);
  background:rgba(217,105,78,.1);border:1px solid rgba(217,105,78,.35);border-radius:10px;padding:11px 13px;}
.pp-imptable{max-height:320px;overflow-y:auto;}
.pp-improw{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid var(--line);}
.pp-improw:first-child{border-top:0;}
.pp-improw input{width:17px;height:17px;flex:none;accent-color:var(--gold);}
.pp-improw.dup{opacity:.72;}
.pp-impmain{min-width:0;}
.pp-impflag{font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--n-red,#d9694e);
  background:rgba(217,105,78,.14);border:1px solid rgba(217,105,78,.4);border-radius:20px;padding:1px 7px;}
.pp-impwarn{font-size:12.5px;line-height:1.5;color:#8a6a18;background:var(--gold-soft);
  border:1px solid var(--gold-line);border-radius:10px;padding:10px 12px;margin-bottom:12px;}
.pp-impwarn b{color:var(--gold-deep);}
html[data-theme="dark"] .pp-impwarn{color:var(--gold-2);}
.pp-filters input[type=file],.pp-f input[type=file]{padding:7px;cursor:pointer;}
.pp-regsel{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.pp-draftacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
/* Pipeline board */
.pp-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
@media(max-width:820px){ .pp-board{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:520px){ .pp-board{grid-template-columns:1fr;} }
.pp-col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;min-height:120px;}
.pp-colh{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--muted);
  padding:4px 6px 10px;display:flex;justify-content:space-between;}
.pp-colh span{color:var(--gold-2);}
.pp-colbody{display:flex;flex-direction:column;gap:8px;}
.pp-card{background:var(--card-2,rgba(255,255,255,.03));border:1px solid var(--line);border-radius:10px;
  padding:10px 11px;cursor:pointer;font-size:13px;}
.pp-card:hover{border-color:var(--gold-line);}
.pp-cardt{font-size:11.5px;color:var(--muted);margin-top:5px;}
.pp-cardempty{color:var(--muted);font-size:12px;text-align:center;padding:8px;}
.pp-days{font-size:10px;font-weight:800;color:var(--muted);background:rgba(255,255,255,.06);border:1px solid var(--line);
  border-radius:20px;padding:1px 7px;vertical-align:middle;}
.pp-days.hot{color:var(--n-red,#d9694e);background:rgba(217,105,78,.14);border-color:rgba(217,105,78,.4);}
.pp-countdown{font-size:15px;font-weight:800;color:var(--gold-2);}
.pp-countdown.hot{color:var(--n-red,#d9694e);}
.pp-socs{display:inline-flex;gap:5px;vertical-align:middle;}
.pp-soc{font-size:9.5px;font-weight:800;letter-spacing:.4px;color:var(--gold-2);background:rgba(201,150,44,.12);
  border:1px solid var(--gold-line);border-radius:6px;padding:1px 6px;cursor:pointer;text-decoration:none;}
.pp-soc:hover{background:rgba(201,150,44,.24);}
.btn.sm.danger,.btn.danger{color:var(--n-red,#d9694e);border-color:rgba(217,105,78,.45);background:rgba(217,105,78,.08);}
.btn.sm.danger:hover,.btn.danger:hover{background:rgba(217,105,78,.16);}
/* nav badge (overdue count on CRM) */
.navbadge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;
  margin-left:6px;padding:0 5px;border-radius:20px;background:var(--n-red,#d9694e);color:#fff;
  font-size:10px;font-weight:800;vertical-align:middle;}
/* stats strip */
.pp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;}
@media(max-width:560px){ .pp-stats{grid-template-columns:repeat(2,1fr);} }
.pp-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;}
.pp-stat .v{font-size:19px;font-weight:800;color:var(--gold-2);}
.pp-stat .k{font-size:11px;color:var(--muted);margin-top:2px;}
.pp-stat-click{cursor:pointer;transition:border-color .12s,background .12s;}
.pp-stat-click:hover,.pp-stat-click:focus-visible{border-color:var(--gold);background:var(--gold-soft);outline:none;}
.pp-wt{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.pp-wtrow{border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s;}
.pp-wtrow:hover{border-color:var(--gold);background:var(--gold-soft);}
.pp-wttop{display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
.pp-wtdate{font-size:11px;color:var(--muted);white-space:nowrap;}
.pp-wtmeta{font-size:11.5px;color:var(--muted);margin-top:2px;}
.pp-wtsum{font-size:13px;color:var(--ink);margin-top:4px;}
/* paste-to-select */
.ps-grp{margin-top:12px;}
.ps-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;}
.ps-ok{color:var(--green,#2f9e6f);} .ps-warn{color:var(--gold-deep);} .ps-bad{color:var(--n-red,#d9694e);}
.ps-row{display:flex;align-items:flex-start;gap:8px;padding:5px 4px;font-size:13px;cursor:pointer;border-radius:6px;}
.ps-row:hover{background:var(--gold-soft);}
.ps-row input{width:16px;height:16px;margin-top:2px;accent-color:var(--gold);}
.ps-sub{color:var(--muted);font-weight:400;font-size:12px;}
.ps-amb{font-size:12px;color:var(--muted);margin:6px 0 2px;}
.ps-miss{font-size:13px;color:var(--n-red,#d9694e);padding:3px 4px;}
.ps-none{font-size:12.5px;color:var(--muted);padding:2px 4px;}
/* bulk-touch preview */
.pp-prevlist{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px;}
.pp-prevrow{padding:8px 10px;border-bottom:1px solid var(--line);}
.pp-prevrow:last-child{border-bottom:none;}
.pp-prevco{font-weight:700;font-size:12.5px;}
.pp-prevsum{font-size:12.5px;color:var(--muted);margin-top:2px;}
/* undo toast */
.toast-undo{display:flex;align-items:center;gap:14px;}
.toast-undobtn{background:var(--gold);color:#1a1204;border:none;border-radius:7px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;}
.toast-undobtn:hover{filter:brightness(1.05);}
.toast-undobtn:disabled{opacity:.6;cursor:default;}
/* client / prospect category badge */
.crm-cat,.pp-cat{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
  padding:2px 7px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);border:1px solid var(--gold-line);vertical-align:middle;}
html[data-theme="dark"] .crm-cat,html[data-theme="dark"] .pp-cat{color:var(--gold-2);}
.pp-dnc{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:2px 7px;border-radius:999px;background:rgba(217,105,78,.14);color:var(--n-red,#d9694e);border:1px solid rgba(217,105,78,.35);vertical-align:middle;}
/* drawer category editor */
.cl-catbox{display:flex;align-items:center;gap:8px;margin:4px 0 12px;flex-wrap:wrap;}
.cl-catl{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.cl-catbox input{flex:1;min-width:140px;font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);}
/* client contacts (people) */
.cl-person{display:flex;align-items:flex-start;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);}
.cl-person:last-of-type{border-bottom:none;}
.cl-person .t{font-size:13.5px;font-weight:600;}
.cl-person .w{font-size:12px;color:var(--muted);margin-top:2px;}
.cl-psoc{margin-top:4px;font-size:12px;display:flex;gap:8px;flex-wrap:wrap;}
.cl-psoc a{color:var(--gold-2,var(--gold));text-decoration:none;font-weight:600;}
.cl-primary{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);vertical-align:middle;}
html[data-theme="dark"] .cl-primary{color:var(--gold-2);}
.cl-logbody{font-size:12.5px;color:var(--ink);margin-top:3px;white-space:pre-wrap;}
.cl-lognext{font-size:11.5px;color:var(--gold-deep);margin-top:3px;font-weight:600;}
html[data-theme="dark"] .cl-lognext{color:var(--gold-2);}
.radar-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--gold-soft);border:1px solid var(--gold-line);font-size:13.5px;}
.crm-caret{flex:none;width:20px;height:20px;padding:0;border:none;background:none;color:var(--muted);cursor:pointer;
  font-size:12px;line-height:20px;text-align:center;border-radius:5px;}
.crm-caret:hover{background:var(--gold-soft);color:var(--gold-deep);}
.crm-caret.ghost{cursor:default;visibility:hidden;}
/* bulk bar */
.pp-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:9px 12px;
  background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:10px;
  position:sticky;top:8px;z-index:6;box-shadow:0 4px 14px rgba(0,0,0,.10);}
.pp-bulkbar .bcount{font-weight:700;font-size:13px;color:var(--gold-deep);}
html[data-theme="dark"] .pp-bulkbar .bcount{color:var(--gold-2);}
.pp-lcheck{flex:none;display:flex;align-items:center;}
.pp-lcheck input{width:17px;height:17px;accent-color:var(--gold);}
.pp-selall{margin:0 0 8px 2px;}
.pp-selall label{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);cursor:pointer;}
.pp-selall input{width:16px;height:16px;accent-color:var(--gold);}
.pp-lrow{gap:12px;}
/* tags */
.pp-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;}
.pp-tag{font-size:10.5px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.05);
  border:1px solid var(--line);border-radius:20px;padding:2px 9px;}
.pp-tagcard{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.pp-tlabel{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--gold-2);margin-right:4px;}
.pp-tagx{cursor:pointer;}
.pp-tagx:hover{color:var(--n-red,#d9694e);border-color:rgba(217,105,78,.4);}
.pp-taginput{font:inherit;font-size:12px;padding:4px 9px;border-radius:20px;background:var(--card);
  color:var(--ink);border:1px dashed var(--line);width:110px;}

.bmode{display:flex;gap:6px;background:var(--mist);border-radius:12px;padding:4px;}
.bmode button{flex:1;border:none;background:transparent;border-radius:9px;padding:9px 12px;
  font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;font-family:var(--body);}
.bmode button.on{background:var(--card);color:var(--ink);box-shadow:var(--sh);}

.bopt{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);
  border-radius:11px;margin-bottom:7px;cursor:pointer;font-size:13.5px;}
.bopt:has(input:checked){border-color:var(--gold);background:var(--gold-soft);}
.bopt input{accent-color:var(--gold);}

.blab{font-size:12px;color:var(--muted);margin-bottom:5px;}
.bwho{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;}
.bwho .bh{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);margin-bottom:7px;}
.bwho .bh.skip{margin-top:14px;color:var(--gold);}
.bwho .bh.fail{margin-top:14px;color:var(--red);}
.bnames{display:flex;flex-wrap:wrap;gap:5px;max-height:132px;overflow-y:auto;}
.bnames span{background:var(--mist);border-radius:7px;padding:4px 9px;font-size:12px;}
.bskip{font-size:12.5px;color:var(--ink-soft);line-height:1.75;max-height:132px;overflow-y:auto;}
.bdone .bh2{font-family:var(--display);font-size:19px;font-weight:600;margin-bottom:3px;}

/* ---- a notice sent to some talent, on their dashboard ---- */
.tnotice{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sky);
  border-radius:13px;padding:15px 17px;margin-bottom:12px;box-shadow:var(--sh);}
.tnotice.good{border-left-color:var(--green);}
.tnotice.urgent{border-left-color:var(--gold);}
.tnotice .nt{font-weight:700;font-size:14.5px;margin-bottom:5px;}
.tnotice .nb{font-size:13.5px;color:var(--ink-soft);line-height:1.6;white-space:pre-line;}
.tnotice .nf{display:flex;align-items:center;gap:12px;margin-top:11px;}
.tnotice .nd{font-size:11.5px;color:var(--muted);}

.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}
.tc{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--sh);display:flex;gap:13px;
  align-items:flex-start;transition:transform .13s,box-shadow .13s;}
.tc:hover{transform:translateY(-2px);box-shadow:var(--sh-lift);}
.tc .tav{width:52px;height:52px;border-radius:15px;flex:none;overflow:hidden;
  background:linear-gradient(135deg,var(--navy),var(--sky));display:flex;align-items:center;
  justify-content:center;color:#fff;font-weight:700;font-size:15px;}
.tc .tav img{width:100%;height:100%;object-fit:cover;}
.tc .tb{flex:1;min-width:0;}
.tc .tn{font-weight:600;font-size:14px;}
.tc .tm{font-size:11.5px;color:var(--muted);margin-top:1px;}
.tc .tcat{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;}
.tc .tcat span{font-size:9.5px;font-weight:700;font-family:var(--mono);padding:2px 6px;border-radius:5px;
  background:var(--sky-soft);color:var(--sky);}
.tstat{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.05em;padding:3px 7px;
  border-radius:6px;display:inline-block;margin-top:7px;}
.tstat.new{background:var(--sky-soft);color:var(--sky);}
.tstat.approved,.tstat.active{background:var(--green-soft);color:var(--green);}
.tstat.review{background:var(--gold-soft);color:var(--gold-deep);}
.tstat.declined{background:var(--red-soft);color:var(--red);}
.tc .tgo{margin-top:9px;}
.haslogin{font-size:10px;color:var(--green);font-family:var(--mono);margin-top:5px;}

/* ---------------- talent detail drawer ---------------- */
.scrim{position:fixed;inset:0;background:rgba(2,16,24,.72);backdrop-filter:blur(3px);z-index:150;
  display:flex;justify-content:flex-end;}
.drawer{background:var(--mist);width:100%;max-width:720px;height:100%;overflow-y:auto;
  box-shadow:-20px 0 60px rgba(0,0,0,.4);animation:slide .22s ease-out;}
@keyframes slide{from{transform:translateX(40px);opacity:.4;}to{transform:none;opacity:1;}}
.dhead{background:linear-gradient(150deg,#04293D,#0A3D5A 60%,#14638F);color:#fff;padding:22px 24px;
  display:flex;gap:16px;align-items:flex-start;position:sticky;top:0;z-index:2;}
.dhead .dav{width:74px;height:74px;border-radius:20px;overflow:hidden;flex:none;background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:24px;font-weight:600;}
.dhead .dav img{width:100%;height:100%;object-fit:cover;}
.dhead .dn{font-family:var(--display);font-weight:600;font-size:22px;}
.dhead .dm{font-size:12.5px;color:#BFD8E8;margin-top:3px;}
.dhead .dclose{margin-left:auto;background:rgba(255,255,255,.14);border:none;color:#fff;width:32px;height:32px;
  border-radius:10px;cursor:pointer;font-size:16px;flex:none;}
.dbody{padding:20px 24px 40px;}
.dsec{background:var(--card);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--sh);}
.dsec h4{font-family:var(--display);font-weight:600;font-size:14px;margin-bottom:12px;
  display:flex;align-items:center;gap:7px;}
.dsec h4 .c{font-family:var(--mono);font-size:9.5px;color:var(--muted);font-weight:400;}
.prop{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start;}
.prop:last-child{border:none;}
.prop .pk{width:180px;flex:none;color:var(--muted);font-size:12px;padding-top:2px;}
.prop .pv{flex:1;min-width:0;word-break:break-word;}
.prop .pv a{color:var(--sky);}
.prop .pe{opacity:0;background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;
  padding:2px 6px;border-radius:5px;flex:none;}
.prop:hover .pe{opacity:1;}
.prop .pe:hover{background:var(--mist);color:var(--sky);}
.prop.locked .pe{display:none;}
.chipv{display:inline-block;font-size:10.5px;font-weight:700;font-family:var(--mono);padding:2px 7px;
  border-radius:6px;background:var(--sky-soft);color:var(--sky);margin:0 4px 4px 0;}
.dphotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;}
.dphotos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;cursor:pointer;}
.hist{font-size:12px;padding:8px 0;border-bottom:1px solid var(--line);}
.hist:last-child{border:none;}
.hist .hm{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.hist .hb{margin-top:2px;color:var(--ink-soft);}
.hist .hd{color:var(--red);text-decoration:line-through;}
.hist .ha{color:var(--green);}
.statsel{border:1.5px solid var(--line);border-radius:10px;padding:7px 9px;font-size:12px;font-weight:600;
  background:var(--mist);color:var(--ink);font-family:var(--body);width:100%;cursor:pointer;}
.tc .tage{font-family:var(--mono);font-size:11px;color:var(--muted);}

/* ---- talent drawer: gig submissions + clickable links ---- */
.subblk{ padding:12px 0; border-top:1px solid var(--line); }
.subblk:first-of-type{ border-top:0; }
.subhd{ display:flex; align-items:center; gap:10px; justify-content:space-between; margin-bottom:9px; }
.subhd .bid{ font-family:var(--mono,ui-monospace,monospace); font-size:11px; letter-spacing:.06em;
  color:var(--gold); background:rgba(201,150,44,.10); border:1px solid rgba(201,150,44,.28);
  padding:3px 8px; border-radius:6px; }
.sublinks{ display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; }
.sublinks a{ font-size:12px; padding:5px 10px; border-radius:999px;
  background:var(--chip); border:1px solid var(--line); text-decoration:none; }
.sublinks a:hover{ border-color:var(--sky-2); }
.dsec .pv a{ color:var(--sky-2); text-decoration:none; border-bottom:1px solid rgba(63,159,209,.35);
  word-break:break-all; }
.dsec .pv a:hover{ color:var(--gold-2); border-bottom-color:var(--gold-2); }
.dphotos img{ cursor:zoom-in; }

/* page header with an action on the right */
.page-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.page-head .page-s{ margin-bottom:14px; }

/* ---- inbox / notifications ---- */
.badge{ display:inline-flex; align-items:center; justify-content:center; min-width:17px; height:17px;
  padding:0 5px; margin-left:6px; border-radius:999px; background:var(--n-red); color:#fff;
  font-size:10.5px; font-weight:700; line-height:1; vertical-align:middle; }
.cpill{ margin-left:auto; font-size:11px; padding:2px 8px; border-radius:999px;
  background:var(--chip); border:1px solid var(--line); color:var(--muted); }
.nlist{ display:flex; flex-direction:column; gap:2px; margin-top:12px; }
.nrow{ display:flex; align-items:flex-start; gap:12px; padding:13px 14px; border-radius:12px;
  background:var(--card); transition:background .12s ease; }
.nrow:hover{ background:var(--chip); }
.nrow.read{ opacity:.5; }
.ndot{ width:8px; height:8px; border-radius:50%; margin-top:6px; flex:0 0 8px; }
.nrow.read .ndot{ background:var(--muted) !important; }
.nmain{ flex:1; min-width:0; }
.ntitle{ font-size:13.5px; font-weight:600; color:var(--text); }
.nbody{ font-size:12.5px; color:var(--muted); margin-top:3px; line-height:1.45;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nmeta{ font-size:11px; color:var(--muted); margin-top:5px; }
.ntype{ font-weight:600; }
.tick{ flex:0 0 auto; background:transparent; border:1px solid var(--line); color:var(--muted);
  width:26px; height:26px; border-radius:7px; cursor:pointer; font-size:12px; line-height:1; }
.tick:hover{ border-color:var(--sky-2); color:var(--sky-2); }
.act{ position:relative; }
.act .tick{ margin-left:8px; }

/* ---- sales: gig picker ---- */
.gsearch{ width:100%; padding:11px 13px; border-radius:10px; border:1px solid var(--line);
  background:var(--chip); color:var(--text); font-size:13.5px; }
.gsearch:focus{ outline:none; border-color:var(--sky-2); }
.ghits{ display:flex; flex-direction:column; gap:2px; margin-top:10px; }
.ghit{ display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; }
.ghit:hover{ background:var(--chip); }
.gh-main{ flex:1; min-width:0; cursor:pointer; }
.gh-co{ font-size:13.5px; font-weight:600; color:var(--text); }
.gh-meta{ font-size:11.5px; color:var(--muted); margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---- login: password ---- */
/* password field + its show/hide toggle */
.pwwrap{ position:relative; margin-top:8px; }
.pwwrap input{ padding-right:62px !important; }
.login .pwwrap input{ text-align:center; margin-bottom:0; }
.eye{ position:absolute; right:8px; top:50%; transform:translateY(-50%);
  background:transparent; border:0; padding:5px 8px; border-radius:7px; cursor:pointer;
  font-family:var(--body); font-size:11px; font-weight:600; letter-spacing:.03em;
  color:var(--muted); text-transform:uppercase; }
.eye:hover{ color:var(--sky-2); background:var(--chip); }
.login .pwwrap{ margin-bottom:12px; }
.loginerr{ margin-top:10px; padding:10px 12px; border-radius:9px; font-size:12.5px; line-height:1.5;
  background:rgba(212,76,71,.10); border:1px solid rgba(212,76,71,.35); color:#D44C47; }
.loginalt{ margin-top:14px; text-align:center; }
.linkbtn{ background:none; border:0; padding:0; cursor:pointer; font-size:12.5px;
  color:var(--sky-2); text-decoration:underline; text-underline-offset:2px; }
.linkbtn:hover{ color:var(--gold); }

/* hide/show the earnings numbers */
.hero .hh{ position:relative; }
.heye{ margin-left:auto; background:rgba(255,255,255,.12); border:0; color:#fff; cursor:pointer;
  width:24px; height:24px; border-radius:7px; font-size:11px; line-height:1; padding:0; }
.heye:hover{ background:rgba(255,255,255,.26); }

/* gig status filters — same colours as the Notion status, so the chip reads
   the same way the pipeline does */
.tfilters.gstat{ margin-top:8px; margin-bottom:4px; }
.sfilter{ display:inline-flex; align-items:center; gap:7px; }
.sfilter .sdot{ width:7px; height:7px; border-radius:50%; background:var(--c,var(--muted));
  flex:none; display:inline-block; }
.sfilter.on{ background:var(--c,var(--sky)) !important; border-color:var(--c,var(--sky)) !important;
  color:#fff !important; }
.sfilter.on .sdot{ background:rgba(255,255,255,.85); }
.sfilter.on .c{ color:#fff; opacity:.85; }

/* destructive action — reads as a warning without shouting */
.btn.danger{ color:var(--n-red); border-color:rgba(212,76,71,.4); background:transparent; }
.btn.danger:hover{ background:var(--n-red); border-color:var(--n-red); color:#fff; }

/* ==================== TALENT SIDE ==================== */
.vcheck{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border-radius:50%;background:var(--sky);color:#fff;font-size:12px;vertical-align:middle;margin-left:4px;}
.tstat{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;
  padding:4px 9px;border-radius:7px;color:#fff;margin-top:9px;background:var(--muted);}
.tstat.s-signed{background:var(--n-green);}
.tstat.s-network{background:var(--n-purple);}

/* the onboarding gate */
.gate{background:linear-gradient(150deg,#3A2A05,#5A4818 130%);border-radius:20px;padding:20px 22px;
  margin-bottom:20px;box-shadow:var(--sh-lift);border:1px solid rgba(232,195,106,.28);}
.gate .gh h3{font-family:var(--display);font-size:17px;font-weight:600;color:var(--gold-2);}
.gate .gsub{font-size:13px;color:#E0CFA0;margin:5px 0 16px;line-height:1.5;}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;}
.step{background:rgba(0,0,0,.26);border-radius:13px;padding:12px 14px;display:flex;align-items:center;gap:11px;}
.step .mk{width:22px;height:22px;border-radius:50%;flex:none;display:flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:700;}
.step.done .mk{background:var(--n-green);color:#fff;}
.step.todo .mk{background:rgba(255,255,255,.14);color:var(--gold-2);border:1.5px dashed rgba(232,195,106,.5);}
.step .lb{font-size:12.5px;font-weight:600;color:#fff;}
.step.done .lb{color:#C8DCC8;}
.step .sub{font-size:10.5px;color:#BFAE7E;margin-top:1px;}
.step .go{margin-left:auto;font-size:11px;font-weight:700;color:#3A2A05;background:var(--gold-2);
  padding:5px 10px;border-radius:8px;cursor:pointer;white-space:nowrap;}
.step .go:hover{background:#fff;}

/* talent gig cards */
.gigs{display:flex;flex-direction:column;gap:10px;}
.tgig{background:var(--mist);border-radius:15px;padding:14px 16px;display:flex;gap:14px;align-items:center;
  border-left:3px solid var(--c,var(--sky));transition:.14s;}
.tgig:hover{transform:translateX(2px);}
.tgig .gmain{flex:1;min-width:0;}
.tgig .gt{font-weight:600;font-size:14.5px;}
.tgig .gm{font-size:11.5px;color:var(--muted);margin-top:3px;}
.tgig .gtags{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap;}
.tag{font-size:10px;background:var(--chip,rgba(127,127,127,.12));color:var(--ink-soft);
  padding:3px 7px;border-radius:6px;}
.tgig .pay{text-align:right;flex:none;}
.tgig .pay .amt{font-family:var(--mono);font-weight:700;font-size:17px;color:var(--gold);}
html[data-theme="dark"] .tgig .pay .amt{color:var(--gold-2);}
.tgig .pay .per{font-size:10px;color:var(--muted);}

/* application tracker */
.app{padding:13px 0;border-bottom:1px solid var(--line);}
.app:last-child{border:0;padding-bottom:0;}
.app .at{font-weight:600;font-size:13.5px;}
.app .am{font-size:11px;color:var(--muted);margin-top:2px;}
.track{display:flex;align-items:center;margin-top:10px;}
.track .n{width:9px;height:9px;border-radius:50%;background:var(--line);flex:none;}
.track .n.on{background:var(--sky-2);}
.track .n.win{background:var(--n-green);}
.track .n.off{background:var(--muted);}
.track .l{flex:1;height:2px;background:var(--line);}
.track .l.on{background:var(--sky-2);}
.tracklb{display:flex;justify-content:space-between;font-size:9.5px;color:var(--muted);margin-top:5px;
  font-family:var(--mono);letter-spacing:.05em;}

/* photos */
.phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
.ph{aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--mist);position:relative;
  display:flex;align-items:center;justify-content:center;}
.ph img{width:100%;height:100%;object-fit:cover;}
.ph.add{border:1.5px dashed var(--line);color:var(--muted);font-size:24px;cursor:pointer;}
.ph.add:hover{border-color:var(--gold);color:var(--gold);}
.ph .x{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:6px;background:rgba(0,0,0,.6);
  color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.ph .prim{position:absolute;bottom:6px;left:6px;font-family:var(--mono);font-size:8.5px;font-weight:700;
  letter-spacing:.1em;background:var(--gold);color:#3A2A05;padding:3px 6px;border-radius:5px;}

/* apply modal */
.modal{background:var(--card);border-radius:20px;padding:22px;max-width:520px;width:100%;
  box-shadow:var(--sh-lift);max-height:86vh;overflow:auto;}
.modal .mh{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.modal .mt{font-family:var(--display);font-size:18px;font-weight:600;}
.modal .ms{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.5;}
.modal .dclose{margin-left:auto;background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer;
  line-height:1;}
.pickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;}
.pick{aspect-ratio:3/4;border-radius:10px;overflow:hidden;position:relative;cursor:pointer;
  border:2px solid transparent;opacity:.5;transition:.13s;}
.pick img{width:100%;height:100%;object-fit:cover;}
.pick .tick{position:absolute;top:5px;right:5px;width:19px;height:19px;border-radius:50%;
  background:var(--n-green);color:#fff;font-size:11px;display:none;align-items:center;justify-content:center;}
.pick.on{opacity:1;border-color:var(--n-green);}
.pick.on .tick{display:flex;}

/* docs */
.doc{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
.doc:last-of-type{border:0;}
.doc .di{width:30px;height:30px;border-radius:9px;background:var(--chip,rgba(127,127,127,.1));
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:none;}
.doc .dn{font-size:13.5px;font-weight:600;}
.doc .dm{font-size:11px;color:var(--muted);}
.doc .ds{margin-left:auto;}

.note{background:rgba(63,159,209,.09);border-left:3px solid var(--sky-2);border-radius:10px;
  padding:11px 13px;font-size:12px;color:var(--ink-soft);line-height:1.55;margin-top:14px;}
.note b{color:var(--sky-2);}
.scrim{position:fixed;inset:0;background:rgba(2,14,20,.62);backdrop-filter:blur(3px);z-index:200;
  display:flex;align-items:center;justify-content:center;padding:20px;}

/* ---- signing ---- */
.modal.wide{ max-width:640px; }
.docview{ border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-bottom:8px;
  background:var(--mist); }
.docview iframe{ width:100%; height:340px; border:0; display:block; }
.dlink{ display:inline-block; font-size:12px; margin-bottom:14px; }
.sform .frow3{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; }
@media(max-width:600px){ .sform .frow3{ grid-template-columns:1fr; } }
.cert{ background:var(--chip,rgba(127,127,127,.08)); border-left:3px solid var(--gold);
  border-radius:10px; padding:11px 13px; font-size:11.5px; line-height:1.55; color:var(--ink-soft);
  margin-bottom:14px; }
.cert b{ color:var(--ink); }
.signbox{ border:1.5px dashed var(--line); border-radius:14px; padding:15px; background:var(--mist); }
.sigfield{ font-family:var(--display) !important; font-size:22px !important; padding:12px 14px !important;
  letter-spacing:.01em; }
.consent{ display:flex; gap:9px; align-items:flex-start; margin-top:12px; font-weight:400 !important;
  font-size:12px !important; color:var(--ink-soft) !important; line-height:1.5; cursor:pointer; }
.consent input{ width:auto !important; margin-top:2px; flex:none; }

/* W-9 certification — the IRS requires this to stand out from everything else */
.cert{ background:var(--chip,rgba(127,127,127,.08)); border:1.5px solid var(--gold);
  border-radius:12px; padding:14px 15px; font-size:11.5px; line-height:1.55;
  color:var(--ink-soft); margin-bottom:14px; }
.cert b{ color:var(--ink); }
.certh{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold); font-weight:700; margin-bottom:7px; }
.certlist{ margin:8px 0 0 16px; padding:0; }
.certlist li{ margin-bottom:6px; transition:.15s; }

/* the agreement, readable — an iframed PDF is a blank box on iOS Safari */
.docview{ border:1px solid var(--line); border-radius:12px; background:var(--mist);
  max-height:300px; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:16px 18px; }
.docview iframe{ display:none; }
.agr{ font-size:12.5px; line-height:1.6; color:var(--ink-soft); }
.agr .agr-t{ font-family:var(--display); font-size:15px; font-weight:600; color:var(--ink);
  text-align:center; margin-bottom:4px; }
.agr .agr-h{ font-family:var(--display); font-size:13.5px; font-weight:600; color:var(--ink);
  margin:16px 0 6px; padding-top:10px; border-top:1px solid var(--line); }
.agr p{ margin-bottom:9px; }
.agr b{ color:var(--ink); }
.agrfoot{ display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin:8px 0 14px; flex-wrap:wrap; }
.agrhint{ font-size:11.5px; color:var(--muted); }
.agrhint.done{ color:var(--n-green); font-weight:600; }
.btn:disabled{ opacity:.45; cursor:not-allowed; }

/* ---- hamburger ---- */
.burger{ display:none; background:none; border:0; cursor:pointer; padding:8px 6px;
  flex-direction:column; gap:4px; }
.burger span{ display:block; width:19px; height:2px; border-radius:2px; background:var(--ink-soft);
  transition:.18s; }
.burger.on span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.burger.on span:nth-child(2){ opacity:0; }
.burger.on span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

@media(max-width:820px){
  .burger{ display:flex; }
  .topbar{ gap:12px; padding:12px 16px; }
  .nav{ display:none; position:absolute; top:58px; left:12px; right:12px; z-index:90;
    flex-direction:column; gap:2px; background:var(--card); border:1px solid var(--line);
    border-radius:16px; padding:8px; box-shadow:var(--sh-lift); }
  .nav.open{ display:flex; }
  .nav button{ text-align:left; padding:12px 14px; font-size:14.5px; }
  /* Lift the whole header (and its dropdown) into its own stacking context so the
     open menu sits ABOVE the dashboard profile card instead of behind it. */
  .topbar{ position:relative; z-index:120; }
  .nav{ z-index:121; }
  .avbtn .t{ display:none; }
}

/* ---- profile editor ---- */
.pgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px;
  margin-bottom:18px; }
.pgrid .f{ margin-bottom:0; }

/* ---- payouts ---- */
.paycur{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:var(--mist);
  border-radius:12px; padding:12px 14px; }
.paycur .mono{ font-family:var(--mono); font-size:13px; color:var(--gold); font-weight:700; }
.paypick{ display:flex; gap:8px; flex-wrap:wrap; }
.paybtn{ flex:1; min-width:110px; padding:13px 10px; border-radius:12px; border:1.5px solid var(--line);
  background:var(--card); color:var(--ink); font-family:var(--body); font-size:13.5px; font-weight:600;
  cursor:pointer; transition:.13s; }
.paybtn:hover{ border-color:var(--sky-2); }
.paybtn.on{ border-color:var(--gold); background:var(--gold-soft); color:var(--gold-deep); }
html[data-theme="dark"] .paybtn.on{ color:var(--gold-2); }

/* what you do — talent categories */
.catwrap{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.catbtn{ padding:9px 14px; border-radius:999px; border:1.5px solid var(--line);
  background:var(--card); color:var(--ink-soft); font-family:var(--body); font-size:12.5px;
  font-weight:600; cursor:pointer; transition:.13s; }
.catbtn:hover{ border-color:var(--sky-2); color:var(--sky-2); }
.catbtn.on{ background:var(--sky); border-color:var(--sky); color:#fff; }

/* make main */
.ph .mkmain{ position:absolute; bottom:6px; left:6px; right:6px; padding:5px;
  border:0; border-radius:7px; background:rgba(0,0,0,.62); color:#fff;
  font-family:var(--body); font-size:10.5px; font-weight:600; cursor:pointer;
  opacity:0; transition:.14s; }
.ph:hover .mkmain{ opacity:1; }
.ph .mkmain:hover{ background:var(--gold); color:#3A2A05; }
@media(hover:none){ .ph .mkmain{ opacity:1; } }

/* a KPI that only appears when it's a problem */
.kpi-warn{ border:1px solid rgba(201,150,44,.35); }
.kpi-warn:hover{ border-color:var(--gold); }
.kpi-warn .k{ color:var(--gold-2); }

.tstat.s-onboarding{ background:var(--gold); color:#3A2A05; }
.tstat.s-review{ background:var(--n-gray); }

/* money inputs — a $ so nobody wonders whether 70 is dollars or hours */
.moneyf{ display:flex; align-items:center; border:1.5px solid var(--line); border-radius:12px;
  background:var(--mist); overflow:hidden; }
.moneyf span{ padding:0 2px 0 12px; color:var(--muted); font-family:var(--mono); font-size:13px; }
.moneyf input{ border:0 !important; background:transparent !important; border-radius:0 !important; }
.moneyf:focus-within{ border-color:var(--sky); }

/* a plain switch row */
.togrow{ display:flex; align-items:center; gap:10px; cursor:pointer; font-size:13px;
  font-weight:500 !important; color:var(--ink) !important; margin-bottom:2px; }
.togrow input{ width:auto !important; }

/* talent gig card extras */
.gdesc{ font-size:12.5px; color:var(--ink-soft); margin-top:8px; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gcoord{ display:flex; align-items:center; gap:7px; margin-top:9px; font-size:11.5px;
  color:var(--muted); }
.gcoord .cav{ width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg,var(--navy),var(--sky));
  color:#fff; font-size:8.5px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.gcoord b{ color:var(--ink-soft); }
.conf{ font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); background:var(--chip,rgba(127,127,127,.12)); padding:3px 7px; border-radius:6px;
  vertical-align:middle; }

/* ---------- manage a live submission ---------- */
.manage{ display:flex; align-items:center; gap:7px; background:none; border:none; cursor:pointer;
  font-family:var(--body); font-size:12px; font-weight:600; color:var(--muted);
  padding:9px 0 0; margin-top:4px; }
.manage:hover{ color:var(--sky); }
.manage .cv{ display:inline-block; transition:transform .18s; font-size:10px; }
.manage.on{ color:var(--sky); }
.manage.on .cv{ transform:rotate(180deg); }
.mgpanel{ margin-top:10px; padding-top:12px; border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.optout{ background:var(--mist); border-radius:12px; padding:12px 13px; width:100%; }
.optout .oh{ font-size:12.5px; font-weight:600; color:var(--ink); }
.optout .om{ font-size:11.5px; color:var(--muted); margin:3px 0 10px; line-height:1.5; }
.btn.danger{ background:var(--red-soft); color:var(--red); border-color:transparent; }
.btn.danger:hover{ background:var(--red); color:#fff; }

/* reference links in the apply modal */
.linkrow{ display:flex; gap:6px; margin-bottom:6px; }
.linkrow input{ flex:1; margin:0 !important; }
.lx{ flex:none; width:34px; border:1.5px solid var(--line); background:var(--mist);
  border-radius:10px; color:var(--muted); cursor:pointer; font-size:16px; line-height:1; }
.lx:hover{ color:var(--red); border-color:var(--red); }
.pickmore{ font-size:11.5px; color:var(--muted); margin-top:9px; }

.frow3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
@media(max-width:520px){ .frow3{ grid-template-columns:1fr; } }

/* the day's pay is the headline; the hourly rate is the working. */
.tgig .pay .amt.big{ font-size:22px; color:var(--gold); font-weight:700; line-height:1.1; }
.tgig .pay .amt.big + .per{ color:var(--muted); margin-top:2px; }
.tgig .pay .amt.big .tot{ font-size:10px; font-weight:600; color:var(--muted); margin-left:5px;
  letter-spacing:.04em; text-transform:uppercase; }

/* the talent's own words, on the agent's submission card */
.tnote{ margin-top:8px; font-size:12px; line-height:1.5; color:var(--ink-soft);
  background:var(--mist); border-left:3px solid var(--sky); border-radius:0 7px 7px 0; padding:7px 9px; }
.tnote .lbl{ font-family:var(--mono); font-size:9px; letter-spacing:.1em; color:var(--muted); }

/* what leaves the building — the agent's call, per person */
.shr{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:9px;
  padding-top:8px; border-top:1px dashed var(--line); }
.shr .shl{ font-family:var(--mono); font-size:9px; letter-spacing:.09em; color:var(--muted);
  text-transform:uppercase; }
.shr .chk{ display:flex; align-items:center; gap:4px; font-size:11.5px; color:var(--ink-soft);
  cursor:pointer; }
.shr .chk input{ width:auto; margin:0; cursor:pointer; }
.cts .lnum{ font-family:var(--mono); font-size:9px; letter-spacing:.08em; color:var(--muted);
  margin-right:6px; text-transform:uppercase; }
.cts .lnk-off{ opacity:.42; }
.cts .lnk-off a{ text-decoration:line-through; color:var(--muted); }

/* ---------- one gig, in full (talent) ---------- */
.gigpage{ padding:20px 22px 22px; }
.gp-h{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding-bottom:16px; border-bottom:1px solid var(--line); }
.gp-t{ font-family:var(--display); font-weight:600; font-size:23px; letter-spacing:-.01em; line-height:1.2; }
.gp-c{ font-size:13px; color:var(--ink-soft); margin-top:3px; }
.gp-pay{ text-align:right; flex:none; }
.gp-pay .amt.big{ font-size:26px; color:var(--gold); font-weight:700; line-height:1.1; }
.gp-pay .amt.big .tot{ font-size:10px; font-weight:600; color:var(--muted); margin-left:5px;
  letter-spacing:.04em; text-transform:uppercase; }
.gp-pay .amt{ font-family:var(--mono); font-size:20px; font-weight:700; }
.gp-pay .per{ font-size:11.5px; color:var(--muted); margin-top:2px; }

.gp-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px 18px;
  padding:16px 0; border-bottom:1px solid var(--line); }
.gp-facts > div{ display:flex; flex-direction:column; gap:2px; }
.gp-facts .k{ font-family:var(--mono); font-size:9.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); }
.gp-facts .v{ font-size:13.5px; font-weight:600; color:var(--ink); }

.gp-d{ padding:16px 0; }
.gp-d h4{ font-family:var(--display); font-size:14.5px; font-weight:600; margin-bottom:7px; }
.gp-d p{ font-size:13.5px; line-height:1.65; color:var(--ink-soft); margin-bottom:9px; }
.gp-d p:last-child{ margin-bottom:0; }

.gp-co{ display:flex; align-items:center; gap:10px; margin-top:14px; padding:12px;
  background:var(--mist); border-radius:12px; font-size:12px; color:var(--ink-soft); }
.gp-co .cav{ width:34px; height:34px; border-radius:10px; flex:none;
  background:linear-gradient(135deg,var(--navy),var(--sky)); color:#fff; font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center; }
.gp-co small{ color:var(--muted); font-size:11px; }

.gp-act{ display:flex; gap:9px; align-items:center; margin-top:18px; flex-wrap:wrap; }
.gp-act .btn.gold{ flex:1; min-width:180px; }
@media(max-width:560px){
  .gp-h{ flex-direction:column; gap:10px; }
  .gp-pay{ text-align:left; }
}

/* ---------- the offer ---------- */
.offer{ background:linear-gradient(150deg,#2A1F08 0%,#3A2C0C 60%,#4A3810 100%);
  border:1.5px solid var(--gold-line); border-radius:var(--r); padding:20px 22px;
  box-shadow:var(--sh-lift); margin-bottom:16px; }
html[data-theme="light"] .offer{ background:linear-gradient(150deg,#FDF8EC,#F7EDD6); }
.offer .oh{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.offer .tagline{ font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; color:var(--gold-2);
  font-weight:700; }
.offer .clock{ font-family:var(--mono); font-size:10px; letter-spacing:.05em; color:#04293D;
  background:var(--gold-2); padding:3px 8px; border-radius:7px; font-weight:700; }
.offer .clock.dead{ background:var(--muted); color:#fff; }
.offer .ot{ font-family:var(--display); font-weight:600; font-size:22px; color:#fff; margin-top:10px; }
.offer .om{ font-size:13px; color:#D8C79B; margin-top:3px; }
.offer .opay{ font-family:var(--mono); font-size:26px; font-weight:700; color:var(--gold-2); margin-top:12px; }
.offer .opay span{ font-family:var(--body); font-size:11.5px; font-weight:500; color:#BFA96F; }
.offer .oact{ display:flex; gap:9px; margin-top:16px; flex-wrap:wrap; }
.offer .oact .btn{ flex:1; min-width:150px; }
.offer .ofoot{ font-size:11.5px; color:#A99560; margin-top:12px; line-height:1.5; }

.sec-h{ font-family:var(--display); font-weight:600; font-size:15px; margin:20px 0 10px; color:var(--ink); }

/* ---------- call sheet ---------- */
.csheet{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.cs-g{ display:grid; gap:10px; margin-bottom:10px; }
.cs-g > div{ display:flex; flex-direction:column; gap:1px; }
.cs-g .k{ font-family:var(--mono); font-size:9.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); }
.cs-g .v{ font-size:13.5px; font-weight:600; color:var(--ink); }
.cs-n{ font-size:12.5px; color:var(--ink-soft); line-height:1.6; background:var(--mist);
  border-radius:10px; padding:10px 12px; margin-bottom:10px; }
/* full-width call-sheet blocks (wardrobe, notes) — keep line breaks & bullets */
.cs-block{ margin:10px 0; }
.cs-block > .k{ display:block; font-family:var(--mono); font-size:9.5px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.cs-body{ font-size:13.5px; line-height:1.65; color:var(--ink); }
.cs-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; }
.cs-thumb{ display:block; border:1px solid var(--line); border-radius:10px; overflow:hidden; text-decoration:none; background:var(--card,#0b2f47); }
.cs-thumb img{ width:100%; height:120px; object-fit:cover; display:block; }
.cs-thumb span{ display:block; font-size:11px; color:var(--muted); padding:5px 8px; }
/* call-sheet form: image edit grid */
.cs-editgrid{ display:flex; gap:10px; flex-wrap:wrap; }
.cs-editthumb{ position:relative; width:96px; height:96px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.cs-editthumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.cs-imgx{ position:absolute; top:3px; right:3px; width:22px; height:22px; border:0; border-radius:6px;
  background:rgba(0,0,0,.62); color:#fff; font-size:15px; line-height:1; cursor:pointer; }

.paidrow{ margin-top:12px; padding:10px 12px; border-radius:10px; background:var(--gold-soft);
  color:var(--gold-deep); font-size:12.5px; }
.paidrow.on{ background:var(--green-soft); color:var(--green); }
html[data-theme="dark"] .paidrow{ color:var(--gold-2); }

/* ---------- booking panel (agent) ---------- */
.bk-step{ padding:14px 0; border-top:1px solid var(--line); }
.bk-step:first-of-type{ border-top:none; padding-top:4px; }
.bk-step h4{ font-family:var(--display); font-size:14.5px; font-weight:600; display:flex;
  align-items:center; gap:8px; }
.bk-step p{ font-size:12px; color:var(--muted); margin-top:3px; line-height:1.55; max-width:64ch; }
.bk-step.bad h4{ color:var(--red); }
.bk-step.good h4{ color:var(--green); }

.bk-list{ margin-top:11px; display:flex; flex-direction:column; gap:6px; }
.bk-row{ display:flex; align-items:center; gap:9px; padding:9px 11px; background:var(--mist);
  border-radius:10px; font-size:13px; }
label.bk-row{ cursor:pointer; }
label.bk-row.on{ background:var(--sky-soft); }
.bk-row input{ width:auto; margin:0; }
.bk-row .nm{ font-weight:600; color:var(--ink); }
.bk-row .mt{ margin-left:auto; font-size:11.5px; color:var(--muted); text-align:right; }
.bk-row .mt.bad, .bad{ color:var(--red); }

.bk-ctl{ display:flex; align-items:center; gap:10px; margin-top:12px; flex-wrap:wrap; }
.bk-ctl label{ font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px;
  margin:0 !important; font-weight:400 !important; }
.bk-ctl select{ width:auto; margin:0; padding:6px 8px; font-size:12px; }

.bk-form{ display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; margin-top:12px; }
@media(max-width:640px){ .bk-form{ grid-template-columns:1fr; } }

.bk-pay{ display:flex; align-items:center; gap:12px; padding:10px 12px; background:var(--mist);
  border-radius:10px; flex-wrap:wrap; }
.bk-pay .who{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.bk-pay .nm{ font-size:13px; font-weight:600; }
.bk-pay .mt{ font-size:11px; color:var(--muted); }
.bk-pay .doing{ margin-left:auto; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bk-pay .doing input{ margin:0; padding:7px 9px; font-size:13px; }
.bk-pay .owed{ font-family:var(--mono); font-size:12px; font-weight:700; color:var(--gold-deep); }
html[data-theme="dark"] .bk-pay .owed{ color:var(--gold-2); }

/* ---------- quotes ---------- */
.qrow{ display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--line);
  flex-wrap:wrap; }
.qrow:last-child{ border:none; padding-bottom:0; }
.qmain{ flex:1; min-width:180px; }
.qrow .qt{ font-size:14px; font-weight:600; }
.qrow .qm{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.qrow .qv{ font-family:var(--mono); font-size:15px; font-weight:700; color:var(--gold); }
.qrow .qact{ display:flex; gap:6px; flex-wrap:wrap; }

/* ---------- help / SOPs ---------- */
.sop{ display:flex; align-items:flex-start; gap:14px; padding:16px 0; text-decoration:none;
  border-bottom:1px solid var(--line); }
.sop:last-child{ border-bottom:none; padding-bottom:2px; }
.sop:hover .stitle{ color:var(--sky); }
.sop:hover .sgo{ color:var(--sky); transform:translate(2px,-2px); }
.sop .sicon{ width:38px; height:38px; border-radius:11px; flex:none;
  background:var(--sky-soft); color:var(--sky); display:flex; align-items:center;
  justify-content:center; font-size:15px; }
.sop .sbody{ flex:1; min-width:0; }
.sop .skick{ display:inline-block; font-family:var(--mono); font-size:9px; letter-spacing:.13em;
  color:var(--sky); background:var(--sky-soft); padding:2px 7px; border-radius:5px;
  font-weight:700; margin-bottom:5px; }
.sop .stitle{ font-family:var(--display); font-weight:600; font-size:17px; color:var(--sky);
  transition:color .15s; }
.sop .sdesc{ font-size:13px; color:var(--ink-soft); line-height:1.55; margin-top:3px; max-width:62ch; }
.sop .smeta{ font-family:var(--mono); font-size:10px; color:var(--muted); margin-top:6px;
  letter-spacing:.04em; }
.sop .sgo{ color:var(--muted); font-size:15px; flex:none; transition:all .15s; }
.sharehint{ font-size:10.5px; color:var(--muted); line-height:1.45; margin-top:6px; text-align:center; }

/* ---------- public comp card ---------- */
.ccbox{ background:var(--mist); border-radius:12px; padding:13px 14px; }
.ccbox.on{ background:var(--gold-soft); border:1px solid var(--gold-line); }
.cclink{ display:flex; gap:7px; margin-top:11px; }
.cclink input{ flex:1; margin:0 !important; font-family:var(--mono); font-size:11.5px; }
.ccbox .linkbtn{ margin-top:8px; display:inline-block; }
.ccrow{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; }
.ccrow .live{ font-family:var(--mono); font-size:9px; letter-spacing:.1em; padding:3px 7px;
  border-radius:6px; background:var(--green-soft); color:var(--green); font-weight:700; }
.ccrow .off{ background:var(--mist); color:var(--muted); }

/* ---------- intro video ---------- */
.vgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px;
  margin-bottom:12px; }
.vcell{ position:relative; }
.vcell video{ width:100%; border-radius:12px; background:var(--mist); display:block; }
.vdel{ position:absolute; top:7px; right:7px; width:26px; height:26px; border-radius:8px;
  border:none; background:rgba(0,0,0,.62); color:#fff; font-size:15px; cursor:pointer;
  line-height:1; }
.vdel:hover{ background:var(--red); }
.vprog{ margin-top:10px; display:flex; align-items:center; gap:10px; }
.vprog .bar{ flex:1; height:6px; border-radius:4px; background:var(--mist); overflow:hidden; }
.vprog .bar i{ display:block; height:100%; width:0; background:var(--gold);
  transition:width .2s; }
.vprog span{ font-family:var(--mono); font-size:11px; color:var(--muted); min-width:64px;
  text-align:right; }

/* ---------- the talent's own card, on their dashboard ---------- */
.mecard{ display:flex; align-items:center; gap:13px; background:var(--card); border-radius:16px;
  padding:12px 14px; box-shadow:var(--sh); margin-bottom:16px; }
.mecard.live{ box-shadow:var(--sh), inset 0 0 0 1px var(--gold-line); }
.mshot{ width:46px; height:46px; border-radius:12px; flex:none; overflow:hidden;
  background:linear-gradient(135deg,var(--navy),var(--sky)); display:flex; align-items:center;
  justify-content:center; color:#fff; font-weight:700; font-size:14px; }
.mshot img{ width:100%; height:100%; object-fit:cover; }
.mbody{ flex:1; min-width:0; }
.mname{ font-size:14.5px; font-weight:600; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mstate{ font-family:var(--mono); font-size:8.5px; letter-spacing:.11em; padding:3px 6px;
  border-radius:5px; background:var(--mist); color:var(--muted); font-weight:700; }
.mstate.on{ background:var(--gold-soft); color:var(--gold-deep); }
html[data-theme="dark"] .mstate.on{ color:var(--gold-2); }
.mmeta{ font-size:11.5px; color:var(--muted); margin-top:2px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.mmeta a{ font-family:var(--mono); font-size:11px; }
.mact{ display:flex; align-items:center; gap:6px; flex:none; }
.micon{ width:32px; height:32px; border-radius:9px; border:1px solid var(--line);
  background:transparent; color:var(--muted); cursor:pointer; font-size:14px; line-height:1; }
.micon:hover{ color:var(--sky); border-color:var(--sky); }

/* a real switch — a checkbox reads as a form, this reads as a power button */
.mswitch{ position:relative; width:42px; height:24px; flex:none; cursor:pointer; }
.mswitch input{ opacity:0; width:0; height:0; position:absolute; }
.mswitch span{ position:absolute; inset:0; background:var(--line); border-radius:20px;
  transition:background .18s; }
.mswitch span::before{ content:""; position:absolute; width:18px; height:18px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:transform .18s; }
.mswitch input:checked + span{ background:var(--gold); }
.mswitch input:checked + span::before{ transform:translateX(18px); }
.chleft{ font-family:var(--mono); font-size:10px; color:var(--muted); text-align:right; margin-top:4px; }
.dsigned{ grid-column:1 / -1; font-size:11px; color:var(--muted); margin-top:6px;
  font-family:var(--mono); letter-spacing:.02em; }

/* ------------------------------------------------------------ ANNOUNCEMENTS -
   Pinned to the top of the talent dashboard. It has to be impossible to scroll
   past and impossible to mistake for a KPI card, without being a red alert bar
   that people learn to tune out. So: a left rule in the tone colour, a symbol,
   and real prose. No dismiss button — see app.js. */
.announce{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;border-radius:14px;
  border:1px solid var(--line);background:var(--card);box-shadow:var(--sh);
  border-left:4px solid var(--c,var(--sky));margin-bottom:20px;}
.announce.info  { --c:var(--sky);   }
.announce.good  { --c:var(--n-green,#448361); }
.announce.urgent{ --c:var(--gold,#C9962C);    }
.announce .an-ic{font-size:17px;line-height:1.35;flex:none;color:var(--c);}
.announce .an-b{flex:1;min-width:0;}
.announce .an-t{font-family:var(--display,inherit);font-weight:600;font-size:16px;
  color:var(--ink);margin-bottom:4px;}
.announce .an-x{font-size:13.5px;line-height:1.6;color:var(--ink);}
.announce .an-m{font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-top:9px;}
.announce .an-dismiss{flex:none;align-self:center;border:1px solid var(--line);background:transparent;
  color:var(--muted);border-radius:9px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;
  font-family:var(--body);transition:.13s;}
.announce .an-dismiss:hover{color:var(--ink);border-color:var(--c,var(--sky));}

.an-old{display:flex;justify-content:space-between;gap:12px;padding:8px 0;
  border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted);}
.an-old:last-child{border-bottom:none;}
.an-old span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.an-old em{font-style:normal;flex:none;font-size:11.5px;}

/* tone / yes-no pickers (shared with the booking form's look) */
.yn{display:flex;gap:8px;}
.ynb{flex:1;background:var(--card);border:1.5px solid var(--line);color:var(--muted);
  padding:10px;border-radius:11px;font-family:var(--body);font-size:13.5px;font-weight:600;
  cursor:pointer;transition:.13s;}
.ynb:hover{border-color:var(--gold,#C9962C);}
.ynb.on{background:var(--gold,#C9962C);border-color:var(--gold,#C9962C);color:#fff;}

/* ---------------------------------------------------------- INQUIRY SOURCE -
   A gig one of our own talent brought in. Reuses the announcement's anatomy —
   it's the same shape of statement: someone is telling you something. */
.srcbar{display:flex;gap:13px;align-items:flex-start;padding:14px 16px;border-radius:14px;
  border:1px solid var(--line);border-left:4px solid var(--n-green,#448361);
  background:var(--card);box-shadow:var(--sh);margin-bottom:18px;}
.srcbar.urgent{border-left-color:var(--gold,#C9962C);}
.srcbar code{font-family:var(--mono,monospace);font-size:12px;background:var(--mist);
  padding:1px 5px;border-radius:5px;}

.viatag{display:inline-block;vertical-align:middle;font-size:10.5px;font-weight:600;
  letter-spacing:.04em;color:var(--n-green,#448361);background:rgba(68,131,97,.12);
  border-radius:6px;padding:2px 7px;margin-left:6px;white-space:nowrap;}

/* --------------------------------------------------------- TELEGRAM / STEPS -
   Numbered steps. Three of them, so they get numbers rather than bullets —
   the order is the instruction. */
.tgstep{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.tgstep:last-of-type{border-bottom:none;}
.tgn{flex:none;width:26px;height:26px;border-radius:50%;background:var(--gold,#C9962C);
  color:#fff;font-size:12.5px;font-weight:700;display:flex;align-items:center;
  justify-content:center;margin-top:1px;}
.tgb{flex:1;min-width:0;}
.tgt{font-weight:600;font-size:14.5px;color:var(--ink);margin-bottom:4px;}
.tgb p{font-size:13.5px;line-height:1.65;color:var(--ink-soft);margin:0;}
.tgl{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px;}
.tgl .btn{text-decoration:none;}

.tgchat{display:grid;gap:9px;margin-top:12px;}
.tgchat a{display:block;text-decoration:none;padding:12px 14px;border-radius:12px;
  border:1.5px solid var(--line);background:var(--mist);transition:.13s;}
.tgchat a:hover{border-color:var(--gold,#C9962C);}
.tgc{display:block;font-weight:600;font-size:14px;color:var(--ink);}
.tgd{display:block;font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:3px;}

/* ------------------------------------------------------------ WHICH DOOR ---
   Re-sign vs New Applicant. Deliberately not the same shape as the status pill:
   they are different questions and an agent must never read one for the other. */
.srctag{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:10.5px;
  font-weight:600;letter-spacing:.05em;padding:3px 8px;border-radius:7px;
  border:1px solid var(--line);color:var(--muted);background:var(--mist);}
.srctag.re{color:var(--sky);border-color:rgba(63,159,209,.35);background:rgba(63,159,209,.10);}
.srctag.nw{color:var(--gold,#C9962C);border-color:rgba(201,150,44,.4);background:rgba(201,150,44,.12);}

.tfilters.src{margin-top:-6px;padding-top:10px;border-top:1px dashed var(--line);}

/* ------------------------------------------------------- THE GROUP CHATS ---
   On the talent dashboard, the moment their paperwork clears. Gold left rule so
   it reads as an unlock, not a warning. Dismissable — a banner you can't get rid
   of is a banner you stop seeing. */
.tgcard{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold,#C9962C);
  border-radius:0 12px 12px 0;padding:16px 18px;margin-bottom:20px;box-shadow:var(--sh);}
.tgc-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.tgc-t{font-family:var(--display,Georgia,serif);font-size:17px;color:var(--ink);margin-bottom:5px;}
.tgc-h p{font-size:13px;line-height:1.6;color:var(--ink-soft);margin:0 0 14px;max-width:460px;}
.tgc-new{font-family:var(--mono,monospace);font-size:10px;letter-spacing:.1em;
  color:var(--gold-2,#E8C36A);white-space:nowrap;padding-top:3px;flex:none;}

.tgc-links{display:grid;gap:8px;margin-bottom:12px;}
.tgc-links a{display:block;text-decoration:none;background:var(--mist);border:1px solid var(--line);
  border-radius:10px;padding:11px 13px;transition:.13s;}
.tgc-links a:hover{border-color:var(--gold,#C9962C);}
.tgc-n{display:block;font-size:14px;font-weight:600;color:var(--ink);}
.tgc-n b{color:var(--gold-2,#E8C36A);font-weight:400;}
.tgc-d{display:block;font-size:12px;color:var(--muted);margin-top:2px;}

.tgc-f{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-top:1px solid var(--line);padding-top:11px;}
.tgc-f span{font-size:11.5px;line-height:1.5;color:var(--muted);}
.tgc-x{background:none;border:none;color:var(--muted);font-size:12px;text-decoration:underline;
  cursor:pointer;white-space:nowrap;padding:0;font-family:var(--body);flex:none;}
.tgc-x:hover{color:var(--ink);}
@media(max-width:600px){ .tgc-f{flex-direction:column;align-items:flex-start;gap:8px;} }

/* a chat they've already opened — ticked, not removed */
.tgc-tick{display:none;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.04em;
  color:var(--n-green,#448361);background:rgba(68,131,97,.12);border-radius:6px;
  padding:2px 7px;margin-left:6px;vertical-align:1px;}
.tgc-links a.joined{border-color:rgba(68,131,97,.4);}
.tgc-links a.joined .tgc-tick{display:inline-block;}
.tgc-links a.joined .tgc-n b{display:none;}

/* Comp card live. Same visual family as "has a login" — both answer "what does
   this person already have?" — but gold, because unlike a login it's a thing an
   agent can USE right now: it's a link you can send a client. Clickable: copies. */
.cardlive{font-size:10px;color:var(--gold,#C9962C);font-family:var(--mono);margin-top:4px;
  cursor:pointer;display:inline-block;}
.cardlive:hover{color:var(--gold-2,#E8C36A);text-decoration:underline;}

/* Pick the main photo. It's the roster photo — one image per person, and one bad
   crop makes the whole grid look amateur. */
.pickmain{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px;}
.pmain{position:relative;border-radius:9px;overflow:hidden;cursor:pointer;
  border:2px solid transparent;transition:.12s;}
.pmain img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.pmain:hover{border-color:var(--gold,#C9962C);}
.pmain.on{border-color:var(--gold,#C9962C);}
.pmb{position:absolute;left:4px;bottom:4px;font-family:var(--mono,monospace);font-size:8px;
  letter-spacing:.1em;background:var(--gold,#C9962C);color:#04293D;padding:2px 5px;border-radius:4px;
  font-weight:700;}
/* A star = the photo THEY chose. It stays visible even when we've overridden it
   for the grid, so an agent can always see whose taste they're overruling. */
.pmt{position:absolute;top:4px;right:5px;font-size:11px;color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.7);}
.pmh{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(2,20,31,.62);color:#fff;font-size:10px;font-weight:600;opacity:0;transition:.12s;}
.pmain:hover .pmh{opacity:1;}

/* Account exists, never used. This is the one to chase — gold, not green. */
.nologin{font-size:10px;color:var(--gold,#C9962C);font-family:var(--mono);margin-top:5px;}

/* ------------------------------------------------------------------- BELL --
   Inbox was a nav tab with a number stuck to it — so on a phone, where the nav
   collapses into a hamburger, the number was invisible. A count you have to open
   a menu to see is a count nobody sees. It lives in the top bar now, next to
   your face, where your eye already goes. */
.bell{position:relative;width:38px;height:38px;border-radius:11px;flex:none;
  background:var(--card);border:1.5px solid var(--line);color:var(--muted);
  font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:.13s;margin-right:10px;}
.bell:hover{border-color:var(--gold,#C9962C);color:var(--ink);}
.bell.has{color:var(--gold,#C9962C);border-color:rgba(201,150,44,.5);}
.bell .bn{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;
  border-radius:9px;background:var(--n-red,#E04B4A);color:#fff;font-size:10px;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-family:var(--body);
  border:2px solid var(--card);}
.tb-right{display:flex;align-items:center;}

/* Two records, one email. The one to keep is the one with the history — never
   assume it's the newest. */
.dupetag{display:inline-block;margin-top:5px;font-family:var(--mono);font-size:9px;
  letter-spacing:.06em;font-weight:700;color:#fff;background:var(--n-red,#E04B4A);
  padding:3px 7px;border-radius:6px;}

/* Merge two records. The safe choice has to be the obvious one — an agent left to
   guess will pick "the newer one", which is exactly the one WITHOUT their W-9. */
.dupbox .dupone{background:var(--card);border:1px solid var(--line);border-radius:11px;
  padding:12px 13px;margin-bottom:9px;}
.dupbox .dh{font-weight:600;font-size:13.5px;margin-bottom:8px;color:var(--ink);}
.dupbox .dr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;
  border-bottom:1px solid var(--line);font-size:12.5px;}
.dupbox .dr:last-of-type{border-bottom:none;margin-bottom:8px;}
.dupbox .dr .tag{font-family:var(--mono);font-size:9px;letter-spacing:.08em;font-weight:700;
  padding:3px 7px;border-radius:5px;flex:none;min-width:74px;text-align:center;}
.dupbox .dr.keep .tag{background:rgba(68,131,97,.18);color:var(--n-green,#448361);}
.dupbox .dr.drop .tag{background:rgba(224,75,74,.15);color:var(--n-red,#E04B4A);}
.dupbox .dr .s{font-weight:600;color:var(--ink);}

/* A rehearsal, clearly labelled. If you can't tell a test gig from a real one at
   a glance, the test data will eventually be treated as real. */
.testtag{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.1em;
  font-weight:700;background:var(--gold,#C9962C);color:#04293D;padding:2px 6px;
  border-radius:5px;margin-right:6px;vertical-align:1px;}

/* Pick the photo the client sees first, per shortlist. */

.leadcap{font-family:var(--mono,monospace);font-size:9px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);padding:9px 9px 0;}
.leadstrip{display:flex;gap:5px;padding:7px 9px 0;flex-wrap:wrap;}
.leadstrip img{width:40px;height:50px;object-fit:cover;border-radius:6px;cursor:pointer;
  border:2px solid transparent;opacity:.6;transition:.12s;}
.leadstrip img:hover{opacity:1;}
.leadstrip img.on{opacity:1;border-color:var(--gold,#C9962C);}
.sph .leadlbl{position:absolute;left:6px;bottom:6px;font-family:var(--mono,monospace);
  font-size:8px;letter-spacing:.08em;font-weight:700;background:rgba(4,25,37,.8);
  color:var(--gold-2,#E8C36A);padding:2px 6px;border-radius:4px;}

/* The agent's own booking link, on the dashboard. It earns the client, so it
   earns the real estate. */
.bookline{display:flex;align-items:center;gap:13px;background:var(--card);
  border:1px solid var(--line);border-left:4px solid var(--gold,#C9962C);
  border-radius:0 12px 12px 0;padding:13px 16px;margin-bottom:18px;box-shadow:var(--sh);}
.bookline .bl-ic{font-size:17px;color:var(--gold,#C9962C);flex:none;}
.bookline .bl-b{flex:1;min-width:0;}
.bookline .bl-t{font-size:12px;color:var(--muted);font-weight:600;}
.bookline .bl-u{font-family:var(--mono);font-size:13px;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;}
@media(max-width:560px){ .bookline{flex-wrap:wrap;} .bookline .bl-b{flex-basis:100%;} }

/* Delivery receipts — did the talent see the offer / call sheet. */
.seenpill{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono,monospace);
  font-size:9.5px;letter-spacing:.03em;padding:2px 7px;border-radius:20px;white-space:nowrap;
  vertical-align:middle;}
.seenpill.on{background:var(--n-green,#1f9d63);color:#fff;}
.seenpill.off{background:transparent;border:1px solid var(--line);color:var(--muted);}
.bk-receipts{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px;}
.bk-receipts .rc-h{font-family:var(--mono,monospace);font-size:9.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px;}

/* ---- Test corner (admin, top of Gigs) ---- */
.testkit{border:1px dashed var(--gold,#C9962C);background:rgba(201,150,44,.05);
  border-radius:14px;padding:14px 16px;margin:0 0 20px;}
.tk-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink);}
.tk-h .tk-dot{width:8px;height:8px;border-radius:50%;background:var(--gold,#C9962C);flex:none;}
.tk-h .tk-sub{font-weight:400;font-size:12px;color:var(--muted);margin-left:2px;}
.tk-body{margin-top:12px;display:flex;flex-direction:column;gap:14px;}
.tk-sec{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.tk-lbl{font-family:var(--mono,monospace);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);flex-basis:100%;}
.tk-empty{font-size:12.5px;color:var(--muted);flex:1;min-width:0;}
.tk-chips{display:flex;flex-wrap:wrap;gap:6px;}
.tk-chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:4px 6px 4px 12px;font-size:12.5px;}
.tk-x{border:none;background:var(--paper,#eee);color:var(--muted);border-radius:50%;width:18px;height:18px;
  line-height:1;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.tk-x:hover{background:var(--n-red,#c0392b);color:#fff;}
.tk-gigs{display:flex;flex-direction:column;gap:6px;flex-basis:100%;}
.tk-gig{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:8px 12px;}
.tk-gig a{font-weight:600;font-size:13px;color:var(--ink);text-decoration:none;flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tk-gig a:hover{text-decoration:underline;}
.tk-gig .tk-st{font-family:var(--mono,monospace);font-size:9px;letter-spacing:.08em;color:var(--muted);}
.tk-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:12px;}
.tk-note{font-size:11.5px;color:var(--muted);}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink-soft);}
.btn.ghost:hover{border-color:var(--n-red,#c0392b);color:var(--n-red,#c0392b);}

/* Test-gig banner on the detail page */
.tgig-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:rgba(201,150,44,.08);border:1px solid var(--gold-line,#EBD9A8);
  border-radius:12px;padding:11px 15px;margin:0 0 18px;font-size:13px;color:var(--ink-soft);}
.tgig-banner span{flex:1;min-width:0;}

/* Seeded cast sign-in links */
.tk-links{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px;display:flex;
  flex-direction:column;gap:6px;}
.tk-link{display:flex;align-items:center;gap:10px;}
.tk-link .tk-ln{font-weight:600;font-size:13px;color:var(--ink);flex:1;}

/* ---- Custom shortlist: add-someone-manually form ---- */
.manual-form{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:14px;
  background:var(--paper,#faf9f7);}
.manual-form .mf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:520px){ .manual-form .mf-grid{grid-template-columns:1fr;} }
.manual-form .f{margin-bottom:10px;}
.manual-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;}
.manual-form label small{color:var(--muted);font-weight:400;}
.manual-form input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;background:var(--card,#fff);color:var(--ink);}
.mf-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px;}
.mf-thumb{position:relative;width:58px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--line);}
.mf-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.mf-thx{position:absolute;top:2px;right:2px;width:18px;height:18px;border:none;border-radius:50%;
  background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;}
.mf-act{display:flex;align-items:center;gap:10px;}
.mf-status{font-size:12px;color:var(--muted);}
.sub-c .sact .mdel{background:transparent;border:1px solid var(--line);color:var(--muted);
  font-size:11px;padding:5px 10px;border-radius:7px;cursor:pointer;}
.sub-c .sact .mdel:hover{border-color:var(--n-red,#c0392b);color:var(--n-red,#c0392b);}

/* Recruiting link — the talent-facing twin of the booking link. Teal rule so a
   glance tells the two apart. */
.bookline.recruit{border-left-color:#1B6E9E;}
.bookline.recruit .bl-ic{color:#1B6E9E;}
/* "Recruited by ___" chip on a roster card. */
.srctag.rec{background:rgba(27,110,158,.14);color:#1B6E9E;border:1px solid rgba(27,110,158,.35);}

/* Review-before-send overlay (client agreement). */
.ovl{position:fixed;inset:0;z-index:200;background:rgba(4,20,31,.55);backdrop-filter:blur(3px);
  display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto;}
.ovl-box{background:var(--card);border:1px solid var(--line);border-radius:16px;width:100%;max-width:660px;
  box-shadow:0 26px 70px rgba(0,0,0,.4);overflow:hidden;}
.ovl-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px;border-bottom:1px solid var(--line);}
.ovl-b{padding:18px 20px;max-height:64vh;overflow-y:auto;}
.ovl-f{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px 20px;border-top:1px solid var(--line);background:var(--paper);}
.agsec{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin:16px 0 8px;}
.agsec:first-child{margin-top:0;}

/* Client-view preview of the agreement (read-only, styled like the signing page). */
.apv{background:#F4F7FA;color:#0F2027;}
.apv-head{background:linear-gradient(135deg,#04293D,#0A3D5A);margin:-18px -20px 16px;padding:16px 20px;
  display:flex;align-items:center;justify-content:space-between;}
.apv-mark{font-family:var(--display);font-weight:700;font-size:17px;color:#fff;}
.apv-mark span{color:#E8C36A;}
.apv-kick{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:#9FC3DA;}
.apv-title{font-family:var(--display);font-weight:600;font-size:22px;color:#0F2027;}
.apv-sub{font-size:12.5px;color:#7D93A3;margin-top:3px;}
.apv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#E2E9EF;border:1px solid #E2E9EF;
  border-radius:10px;overflow:hidden;margin:16px 0 0;}
@media(max-width:560px){ .apv-grid{grid-template-columns:1fr;} }
.apv-c{background:#fff;padding:11px 13px;}
.apv-c .k{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#7D93A3;}
.apv-c .v{font-size:13.5px;font-weight:600;margin-top:2px;color:#0F2027;}
.apv-money{display:flex;gap:2px;background:#E2E9EF;border:1px solid #E2E9EF;border-radius:10px;overflow:hidden;margin:12px 0 0;}
@media(max-width:560px){ .apv-money{flex-direction:column;} }
.apv-money>div{flex:1;background:#fff;padding:12px 13px;}
.apv-money .k{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#7D93A3;}
.apv-money .v{font-family:var(--display);font-size:18px;font-weight:600;margin-top:2px;color:#0F2027;}
.apv-money .hi{background:#FDFAF3;box-shadow:inset 0 3px 0 #C9962C;}
.apv-money .hi .k,.apv-money .hi .v{color:#8A6A18;}
.apv-h3{font-family:var(--display);font-weight:600;font-size:14px;color:#04293D;margin:16px 0 4px;}
.apv-p{font-size:12.5px;color:#42586A;line-height:1.6;white-space:pre-line;}
.apv-signbox{background:#fff;border:1px solid #E2E9EF;border-radius:12px;padding:16px;margin-top:18px;font-size:12.5px;color:#42586A;}
.apv-signbox b{font-family:var(--display);font-size:15px;color:#0F2027;}

/* Agreements list */
.agr-list{display:flex;flex-direction:column;gap:8px;}
.agr-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:0 12px 12px 0;padding:14px 16px;}
.agr-row.ok{border-left-color:var(--n-green,#1f9d63);}
.agr-main{flex:1;min-width:0;}
.agr-t{font-weight:600;font-size:15px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.agr-pill{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;}
.agr-pill.wait{background:rgba(201,150,44,.16);color:var(--gold);}
.agr-pill.ok{background:rgba(18,121,90,.16);color:#1f9d63;}
.agr-m{font-size:12.5px;color:var(--ink-soft);margin-top:3px;}
.agr-m2{font-size:11.5px;color:var(--muted);margin-top:2px;}
.agr-act{display:flex;gap:7px;flex-wrap:wrap;}

/* ============================================================================
   PREMIUM LAYER  —  dark · glass · gold
   Additive overrides at the end of the file so nothing above is removed and the
   light theme is untouched. This lifts the whole portal to the mockup look:
   a deeper near-black canvas, a glass shell with a soft gold glow, gold nav
   pills and buttons, and frosted cards. Applies to the (default) dark theme.
   ========================================================================== */
html[data-theme="dark"]{
  --canvas:linear-gradient(180deg,#0a2e40 0%,#061a25 46%,#050f16 100%);
  --mist:#08141c;
  --card:#12222c;
  --line:#223541;
  --sh:0 2px 14px rgba(0,0,0,.4);
  --sh-lift:0 18px 46px rgba(0,0,0,.5);
}
html[data-theme="dark"] body{background:#050f16;background-image:var(--canvas);background-attachment:fixed;}

/* the floating shell: darker glass slab + a soft gold glow near the top.
   The glow is baked into the background (NOT a ::before with z-index) — an
   earlier version put z-index on the shell's children to sit above a ::before,
   which trapped the mobile nav and the avatar dropdown BEHIND the page content.
   As a background layer it needs no stacking tricks, so every menu layers
   normally again. */
html[data-theme="dark"] .shell{
  background:
    radial-gradient(460px 340px at 93% -70px, rgba(201,150,44,.15), transparent 70%),
    linear-gradient(180deg,#0a2634 0%,#071822 44%,#050f16 100%);
  box-shadow:0 40px 100px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.05);
}

/* top bar: translucent + blur, hairline underline */
html[data-theme="dark"] .topbar{
  background:rgba(6,16,22,.5);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* nav: active tab becomes a gold pill */
html[data-theme="dark"] .nav button.on{
  background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#241a05;
  box-shadow:0 6px 16px rgba(201,150,44,.28);
}
html[data-theme="dark"] .nav button:not(.on):hover{background:rgba(255,255,255,.05);color:var(--ink);}

/* cards + KPI tiles → frosted glass */
html[data-theme="dark"] .card,
html[data-theme="dark"] .kpi,
html[data-theme="dark"] .bookline{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);
}
html[data-theme="dark"] .card{box-shadow:0 16px 40px rgba(0,0,0,.32);}

/* the two link rows: glassy, with the gold/blue accent kept */
html[data-theme="dark"] .bookline{border-left:3px solid var(--gold);}
html[data-theme="dark"] .bookline.recruit{border-left-color:var(--sky-2,#3F9FD1);}

/* primary + gold buttons → gold gradient with lift */
html[data-theme="dark"] .btn.pri,
html[data-theme="dark"] .btn.gold{
  background:linear-gradient(180deg,var(--gold-2),var(--gold));
  border:none;color:#241a05;font-weight:700;box-shadow:0 8px 20px rgba(201,150,44,.28);
}
html[data-theme="dark"] .btn.pri:hover,
html[data-theme="dark"] .btn.gold:hover{filter:brightness(1.06);}

/* the avatar gets a subtle gold ring, matching the mockups */
html[data-theme="dark"] .avbtn .av{box-shadow:0 0 0 2px rgba(232,195,106,.4);}

/* display headings a touch brighter on the darker ground */
html[data-theme="dark"] .hello h1,
html[data-theme="dark"] .page-h{color:#F3F8FC;}

/* ---- agent booking/profile card (dashboard) ---- */
.abc{border-radius:var(--r);overflow:hidden;margin-bottom:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);box-shadow:0 16px 40px rgba(0,0,0,.32);}
.abc-hero{position:relative;height:210px;background:#0a1620;}
.abc-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;}
.abc-hero.noimg{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0e2a3c,#123047);}
.abc-hero.noimg span{font-family:var(--display);font-size:46px;color:#3a5566;}
.abc-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,22,0) 42%,rgba(5,15,22,.92));}
.abc-chip{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;font-size:11px;
  font-weight:600;color:var(--gold-2);background:rgba(10,20,28,.6);backdrop-filter:blur(6px);
  border:1px solid rgba(201,150,44,.45);padding:5px 11px 5px 7px;border-radius:20px;}
.abc-chip .vk{width:15px;height:15px;border-radius:50%;background:var(--gold);color:#241a05;display:flex;
  align-items:center;justify-content:center;font-size:9px;font-weight:800;}
.abc-who{position:absolute;left:16px;bottom:13px;right:16px;}
.abc-who .n{font-family:var(--display);font-size:23px;font-weight:600;color:#fff;}
.abc-who .r{font-size:12px;color:var(--gold-2);margin-top:1px;}
.abc-addphoto{position:absolute;top:12px;left:12px;background:rgba(10,20,28,.6);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.2);color:#fff;font-size:11.5px;font-weight:600;padding:6px 11px;
  border-radius:9px;cursor:pointer;font-family:var(--body);}
.abc-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:9px;}
.abc-link{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);
  border-left:3px solid var(--gold);border-radius:11px;padding:9px 11px;}
.abc-link.recruit{border-left-color:var(--sky-2,#3F9FD1);}
.abc-link .l{font-size:11px;color:var(--muted);font-weight:600;flex:none;}
.abc-link .l span{display:block;font-size:9.5px;font-weight:500;opacity:.8;}
.abc-link .u{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:var(--mono);font-size:12px;color:var(--sky-2,#3F9FD1);}
@media(max-width:560px){ .abc-link{flex-wrap:wrap;} .abc-link .u{flex-basis:100%;order:3;} }
.abc-share{width:100%;justify-content:center;margin-top:2px;}
.abc-nudge{font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5;}

/* ---- agent dashboard: hero row (booking card + KPI tiles) ---- */
.dash-hi{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.dash-hi h1{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.015em;}
.dash-hi p{color:var(--muted);font-size:13.5px;margin-top:2px;}

.dash-hero{display:grid;grid-template-columns:310px 1fr;gap:16px;margin-bottom:16px;align-items:start;}
@media(max-width:820px){ .dash-hero{grid-template-columns:1fr;} }
.dash-hero .abc{margin-bottom:0;}

.dash-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:400px){ .dash-kpis{grid-template-columns:1fr;} }
.dkpi{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:15px 16px;box-shadow:0 10px 26px rgba(0,0,0,.25);}
.dkpi .ic{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:15px;margin-bottom:11px;}
.dkpi .v{font-family:var(--display);font-weight:600;font-size:25px;line-height:1;color:#F3F8FC;}
.dkpi .k{font-size:11.5px;color:var(--muted);margin-top:5px;}
.dkpi .ic.i-sky{background:rgba(90,176,222,.16);color:#5AB0DE;}
.dkpi .ic.i-gold{background:rgba(201,150,44,.18);color:var(--gold-2);}
.dkpi .ic.i-green{background:rgba(79,207,156,.16);color:#4FCF9C;}

/* ---- booking: clear status pills for the "everyone else" list ---- */
.bstatus{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:7px;width:max-content;}
.bstatus.exp{color:var(--gold-2);background:rgba(201,150,44,.14);border:1px solid var(--gold-line);}
.bstatus.rev{color:var(--sky-2,#3F9FD1);background:var(--sky-soft);border:1px solid var(--sky-line);}
.bstatus.mut{color:var(--muted);background:var(--mist);border:1px solid var(--line);}
.bpill.picked{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--green);background:var(--green-soft);border:1px solid var(--green);padding:2px 6px;border-radius:6px;
  margin-left:6px;vertical-align:middle;}

/* ---- gig-page section toggles (Details / Talent / Booking) ---- */
.gig-sections{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:14px 0 4px;}
.gig-sections .gs-lbl{font-size:11.5px;color:var(--muted);margin-right:2px;}
.gsec{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;font-weight:600;
  padding:6px 13px;border-radius:20px;cursor:pointer;font-family:var(--body);transition:.13s;}
.gsec:hover{color:var(--ink);}
.gsec.on{background:var(--sky-soft);color:var(--sky);border-color:var(--sky-line);}
html[data-theme="dark"] .gsec.on{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#241a05;border-color:var(--gold);}
/* The always-there Call sheet shortcut — gold outline so it reads as an action,
   not a toggle. Pushed to the right of the toggles on wider screens. */
.gsec.cs{border-color:var(--gold,#c79a3b);color:var(--gold,#c79a3b);margin-left:auto;}
.gsec.cs:hover{background:var(--gold,#c79a3b);color:#241a05;}
@media (max-width:540px){.gsec.cs{margin-left:0;}}

/* Add-who-worked panel inputs — force consistent, legible styling so a field
   never renders dark-on-dark (or default-white) and hides what you're typing. */
.rost-add input, .rost-add textarea{
  background:var(--card,#0c2e44);color:var(--ink,#eaf2f8);
  border:1px solid var(--line,#1c4763);border-radius:9px;padding:9px 11px;
  font-size:13.5px;font-family:inherit;}
.rost-add input::placeholder, .rost-add textarea::placeholder{color:var(--muted,#8fb0c6);}
.rost-add input:focus, .rost-add textarea:focus{outline:none;border-color:var(--gold,#d4a53d);}

/* Talent drawer edit inputs — legible in the dark theme. */
.drawer .dsec input, .drawer .dsec textarea, .drawer .pv input{
  background:var(--card,#0c2e44);color:var(--ink,#eaf2f8);
  border:1px solid var(--line,#1c4763);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;}
.drawer .dsec input:focus, .drawer .pv input:focus{outline:none;border-color:var(--gold,#d4a53d);}

/* "All submissions" groups several sub-blocks under one toggle — flatten the
   nested cards so they read as sub-sections, not cards-within-a-card. */
.bk-step.subs > .bk-step{background:transparent;border:0;box-shadow:none;padding:10px 0 0;margin:0;}
.bk-step.subs > .bk-step h4{font-size:14px;}

/* Automated-emails reference on the Automations page. */
.em-grp{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin:18px 0 4px;}
.em-grp small{font-weight:400;color:var(--muted);font-size:12px;}
.em-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;}
.em-dot.auto{background:var(--n-green,#39b37a);}
.em-dot.trig{background:var(--gold,#d4a53d);}
.em-dot.in{background:var(--sky,#7fd2f0);}
.em-row{display:grid;grid-template-columns:1.7fr 1fr 1.1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line);align-items:start;font-size:13px;}
.em-nm{font-weight:600;}
.em-subj{font-weight:400;color:var(--muted);font-size:11.5px;font-style:italic;margin-top:2px;}
.em-to,.em-when{color:var(--muted);font-size:12px;}

/* Payroll page */
.pay-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.pay-kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 15px;}
.pay-kpi .v{font-size:22px;font-weight:700;letter-spacing:-.5px;}
.pay-kpi .k{color:var(--muted);font-size:12px;margin-top:2px;}
.pay-kpi.g .v{color:var(--gold,#d4a53d);} .pay-kpi.rd .v{color:var(--n-red,#d9694e);} .pay-kpi.grn .v{color:var(--n-green,#39b37a);}
.pay-gig{margin:16px 0 4px;font-weight:700;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
.pay-gig .gm{color:var(--muted);font-size:12px;font-weight:400;}
.pay-gig .gt{margin-left:auto;color:var(--gold,#d4a53d);font-weight:700;font-size:14px;}
@media(max-width:640px){.pay-kpis{grid-template-columns:repeat(2,1fr);}}

/* Finance / Revenue tables */
.fin-hd,.fin-row{display:grid;grid-template-columns:1.5fr .6fr 1fr 1fr 1fr;gap:8px;align-items:center;}
.fin-hd{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:6px;border-bottom:1px solid var(--line);}
.fin-row{padding:11px 0;border-top:1px solid rgba(255,255,255,.05);font-size:13px;}
.fin-crow{display:grid;grid-template-columns:1.6fr 1fr;gap:8px;padding:9px 0;border-top:1px solid rgba(255,255,255,.05);font-size:13px;}
.fin-crow:first-of-type{border-top:0;}
.fin-row .g,.fin-crow .g{color:var(--gold,#d4a53d);}
.fin-row .grn{color:var(--n-green,#39b37a);}
.fin-row .mut,.fin-crow .mut{color:var(--muted);}
@media(max-width:640px){
  .fin-hd,.fin-row{grid-template-columns:1.4fr .6fr 1fr;}
  .fin-hd>div:nth-child(n+4),.fin-row>div:nth-child(n+4){display:none;}
}

/* Clients / CRM */
.crm-chead{display:flex;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid var(--line);}
.crm-chead:first-child{border-top:0;}
.crm-logo{width:34px;height:34px;border-radius:9px;background:#12405c;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--sky,#7fd2f0);font-weight:800;border:1px solid var(--line);}
.crm-cn{font-weight:800;font-size:14.5px;}
.crm-cm{color:var(--muted);font-size:11.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crm-sum{text-align:right;} .crm-sum .lv{color:var(--gold,#d4a53d);font-weight:700;font-size:14px;} .crm-sum .lg{color:var(--muted);font-size:11px;}
.crm-row{display:grid;grid-template-columns:1.6fr 1fr .9fr .8fr 1fr 1fr auto;gap:10px;align-items:center;padding:11px 4px 11px 18px;border-top:1px solid rgba(255,255,255,.05);font-size:12.5px;}
.crm-gname b{font-weight:700;} .crm-gname .sm{color:var(--muted);font-size:11px;margin-top:2px;}
.crm-val{font-weight:700;color:var(--gold,#d4a53d);}
.crm-pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:10.5px;font-weight:700;white-space:nowrap;}
.crm-pill.p-new{background:rgba(127,210,240,.14);color:var(--sky,#7fd2f0);}
.crm-pill.p-cont{background:rgba(180,147,230,.16);color:#b493e6;}
.crm-pill.p-quote{background:rgba(212,165,61,.16);color:var(--gold2,#e7c264);}
.crm-pill.p-agreed{background:rgba(57,179,122,.16);color:var(--n-green,#39b37a);}
.crm-pill.p-booked{background:rgba(57,179,122,.22);color:#7fe0ad;}
.crm-row .yes{color:var(--n-green,#39b37a);font-weight:600;}
.crm-row .mut{color:var(--muted);}
.crm-row .duec{color:var(--n-red,#d9694e);font-weight:600;}
.crm-act{text-align:right;}
@media(max-width:820px){
  .crm-row{grid-template-columns:1.5fr auto auto;}
  .crm-row .hidem{display:none;}
}
@media(max-width:600px){.em-row{grid-template-columns:1fr;} .em-to,.em-when{font-size:11.5px;margin-top:1px;}}

/* ---- CLIENT DETAIL DRAWER ---- reuses .scrim/.drawer/.dhead/.dav/.dn/.dm/.dbody */
.cl-rep{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:700;
  background:rgba(57,179,122,.18);color:#7fe0ad;vertical-align:middle;margin-left:8px;}
.cl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:4px 0 6px;}
.cl-st{background:var(--card);padding:12px 12px;}
.cl-st .v{font-size:17px;font-weight:700;color:var(--ink);} .cl-st .v.g{color:var(--gold);}
.cl-st .v.rd{color:var(--n-red);} .cl-st .k{color:var(--muted);font-size:10.5px;margin-top:2px;}
.cl-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;}
.cl-kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;
  border-bottom:1px solid var(--line);}
.cl-kv .k{color:var(--muted);} .cl-kv a{color:var(--sky-2);text-decoration:none;}
.cl-kv .yes{color:var(--n-green);font-weight:600;} .cl-kv .mut{color:var(--muted);} .cl-kv .duec{color:var(--n-red);font-weight:600;}
.cl-grow{display:grid;grid-template-columns:1.4fr auto .7fr auto;gap:10px;align-items:center;
  padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px;}
.cl-grow .sm{color:var(--muted);font-size:11px;} .cl-val{color:var(--gold);font-weight:700;text-align:right;}
.cl-open{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;
  padding:5px 11px;font-size:11px;cursor:pointer;} .cl-open:hover{border-color:var(--sky-2);color:var(--ink);}
.cl-log{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.cl-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:var(--sky-2);}
.cl-log .t{font-size:12.5px;color:var(--ink);} .cl-log .w{color:var(--muted);font-size:11px;margin-top:1px;}
.cl-field{display:flex;gap:8px;margin-top:10px;}
.cl-field .cl-chan{flex:none;width:90px;} .cl-field .cl-note{flex:1;}
.cl-add{background:var(--gold);color:#241a05;border:0;border-radius:8px;padding:8px 14px;font-weight:700;font-size:12px;cursor:pointer;}
.cl-date{width:auto;} .mut{color:var(--muted);}
/* ============================ AGENT WALKTHROUGH ======================== */
.wt-wrap{max-width:920px;}
.wt-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;}
.wt-stepno{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.wt-prog{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:10px 0 22px;}
.wt-prog>div{height:100%;background:var(--gold);border-radius:6px;transition:width .25s;}
.wt-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:26px;align-items:start;}
@media(max-width:780px){.wt-grid{grid-template-columns:1fr;gap:18px;}}
.wt-title{font-family:var(--serif,Georgia,serif);font-size:23px;font-weight:700;color:var(--ink);margin:0 0 12px;line-height:1.2;}
.wt-do{list-style:none;padding:0;margin:0;}
.wt-do li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:14px;line-height:1.5;border-bottom:1px solid var(--line);color:var(--ink);}
.wt-do li .n{flex:none;width:18px;height:18px;border-radius:50%;background:rgba(18,121,90,.15);color:var(--n-green);font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.wt-do li b{color:var(--ink);}
.wt-callout{margin-top:14px;border-radius:0 10px 10px 0;padding:10px 12px;font-size:12.5px;line-height:1.5;}
.wt-callout b{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;}
.wt-callout.flag{background:rgba(201,150,44,.1);border-left:3px solid var(--gold);color:var(--gold-deep,#8A6A18);}
.wt-callout.auto{background:rgba(18,121,90,.09);border-left:3px solid var(--n-green);color:var(--n-green);}
.wt-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;}
.wt-dots{display:flex;gap:7px;}
.wt-dot{width:9px;height:9px;border-radius:50%;background:var(--line);cursor:pointer;transition:background .15s,transform .15s;}
.wt-dot.on{background:var(--gold);transform:scale(1.25);}

/* the illustrated screen mock */
.wt-mock{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);box-shadow:0 10px 34px rgba(2,20,30,.14);}
.wt-topbar{background:#04293d;color:#fff;padding:11px 14px;display:flex;align-items:center;gap:10px;}
.wt-topbar .wt-logo{font-weight:800;color:var(--gold-2,#E8C36A);letter-spacing:.06em;font-size:13px;}
.wt-navmini{color:#a9c9de;font-size:10px;}
.wt-tabs{display:flex;gap:4px;padding:9px 11px;border-bottom:1px solid var(--line);background:var(--mist);flex-wrap:wrap;}
.wt-tab{font-size:10.5px;padding:4px 10px;border-radius:14px;color:var(--muted);}
.wt-tab.on{background:var(--gold);color:#241a05;font-weight:700;}
.wt-screen{padding:16px;min-height:236px;}
.wt-h{font-weight:700;font-size:14px;color:var(--ink);margin-bottom:10px;}
.wt-sub{font-size:11.5px;color:var(--muted);}
.wt-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink);}
.wt-row.hot{background:rgba(201,150,44,.08);border-radius:8px;padding:9px 10px;border-bottom:0;margin-bottom:2px;}
.wt-pill{font-size:9.5px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--mist);color:var(--muted);white-space:nowrap;}
.wt-pill.new{background:var(--sky-soft);color:var(--sky);} .wt-pill.green{background:rgba(18,121,90,.16);color:var(--n-green);}
.wt-field{background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11.5px;color:var(--ink-soft,#4A6270);}
.wt-two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.wt-line{height:9px;border-radius:5px;background:var(--line);}
.wt-tiers{display:flex;gap:6px;margin-top:5px;}
.wt-tier{font-size:10.5px;padding:5px 11px;border-radius:9px;border:1.5px solid var(--line);color:var(--muted);}
.wt-tier.on{border-color:var(--gold);background:rgba(201,150,44,.12);color:var(--gold);font-weight:700;}
.wt-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.wt-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--mist);font-size:12px;color:var(--ink);}
.wt-tr{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft,#4A6270);padding:3px 0;}
.wt-tot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:8px;border-top:1.5px solid var(--line);font-size:12px;}
.wt-tot b{color:var(--gold);font-size:15px;}
.wt-btn{display:inline-block;padding:6px 11px;border-radius:8px;font-size:10.5px;font-weight:700;}
.wt-btn.gold{background:var(--gold);color:#241a05;} .wt-btn.ghost{border:1px solid var(--line);color:var(--muted);}
.wt-talent{display:flex;gap:8px;margin-top:4px;}
.wt-photo{width:56px;height:70px;border-radius:8px;background:#1b3040;border:2px solid transparent;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;}
.wt-photo.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,150,44,.25);}
.wt-phone{max-width:250px;margin:0 auto;border:1px solid var(--line);border-radius:20px;padding:16px;background:var(--card);box-shadow:0 10px 34px rgba(2,20,30,.14);}
.wt-phone-head{background:#04293d;margin:-16px -16px 0;padding:14px 16px;border-radius:20px 20px 0 0;}
.wt-phone-head .wt-logo{color:var(--gold-2,#E8C36A);font-weight:800;letter-spacing:.06em;}
.cl-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 6px;}
/* edit-client form */
.cl-edit{float:right;background:transparent;border:1px solid var(--line);color:var(--sky-2);
  border-radius:7px;padding:2px 9px;font-size:11px;cursor:pointer;text-transform:none;letter-spacing:0;}
.cl-edit:hover{border-color:var(--sky-2);}
.cl-form{display:grid;gap:8px;margin-top:4px;}
.cl-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);}
.cl-form input{font-size:13px;}
.cl-formbtns{display:flex;gap:8px;margin-top:10px;align-items:center;}
/* pin + file action buttons */
.cl-pin{flex:none;background:transparent;border:1px solid var(--line);color:var(--muted);
  border-radius:7px;padding:4px 9px;font-size:11px;cursor:pointer;align-self:center;}
.cl-pin:hover{border-color:var(--sky-2);color:var(--ink);}
.cl-pin.del:hover{border-color:var(--n-red);color:var(--n-red);}
.cl-log.pinned{background:rgba(212,165,61,.06);border-radius:8px;padding-left:6px;}
.cl-log{align-items:flex-start;}
/* files */
.cl-file{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);}
.cl-fic{font-size:16px;flex:none;} .cl-file .t{font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cl-file .w{color:var(--muted);font-size:11px;margin-top:1px;}
.cl-fileinput{flex:1;font-size:12px;padding:6px;}
@media(max-width:560px){.cl-stats{grid-template-columns:repeat(2,1fr);}}

/* Client-verdict group headers in the Talent panel (picked / backups / etc.).
   display:block + align-self:start so that, as a full-width row inside the card
   grid, the header never stretches to a neighbour's height or spreads its two
   lines apart — which is what opened a big empty gap above the cards on mobile. */
.subgrp{display:block;align-self:start;margin:16px 0 2px;padding-top:8px;
  border-top:1px solid var(--line);}
.subgrp:first-of-type{border-top:0;margin-top:10px;}
.subgrp .sg-t{display:block;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.25;}
.subgrp .sg-t b{color:var(--muted);font-weight:600;}
.subgrp .sg-s{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.3;}
.subgrp.sg-pick .sg-t{color:var(--gold,#c79a3b);}
.subgrp.sg-pick .sg-t b{color:var(--gold,#c79a3b);opacity:.75;}
html[data-theme="dark"] .subgrp.sg-pick .sg-t{color:var(--gold);}

/* ============================ IN-GIG QUOTE BUILDER ====================== */
.quote .qgrid{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start;}
@media(max-width:800px){.quote .qgrid{grid-template-columns:1fr;}}

.quote .cg{margin-bottom:18px;}
.quote .cg-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;}
.quote .cg-label .lab{font-size:13px;font-weight:600;color:var(--ink);}
.quote .cg-label .lab small{font-weight:400;color:var(--muted);font-size:11px;margin-left:5px;}
.quote .cg-label .val{font-family:var(--mono);font-weight:700;color:var(--gold);font-size:15px;}

/* tier pills */
.quote .tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
@media(max-width:430px){.quote .tiers{grid-template-columns:1fr;}}
.quote .tierbtn{text-align:left;background:var(--mist);border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s;}
.quote .tierbtn:hover{border-color:var(--sky-2);}
.quote .tierbtn.active{border-color:var(--gold);background:rgba(201,150,44,.13);}
.quote .tierbtn .tn{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.quote .tierbtn .tname{font-size:13px;font-weight:700;color:var(--ink);margin:2px 0 1px;}
.quote .tierbtn .trange{font-size:11px;color:var(--muted);font-family:var(--mono);}

/* sliders */
.quote input[type=range]{width:100%;accent-color:var(--gold);margin:4px 0 2px;height:5px;}
.quote input[type=range].danger{accent-color:var(--n-red);}
.quote .ends{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);font-family:var(--mono);margin-top:2px;}

/* steppers */
.quote .stepper{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;width:fit-content;}
.quote .stepper button{width:40px;height:36px;border:0;background:var(--mist);color:var(--ink);font-size:19px;cursor:pointer;line-height:1;}
.quote .stepper button:hover{background:rgba(201,150,44,.16);}
.quote .stepper .num{min-width:48px;text-align:center;font-family:var(--mono);font-weight:700;font-size:15px;height:36px;line-height:36px;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);}

/* discount / premium chip */
.quote .chip{display:inline-flex;gap:8px;align-items:center;margin-top:9px;padding:5px 11px;border-radius:20px;font-size:11.5px;background:var(--mist);border:1px solid var(--line);}
.quote .chip #qChipL{font-weight:600;color:var(--ink);}
.quote .chip #qChipV{color:var(--muted);font-family:var(--mono);}
.quote .chip.prem{background:rgba(201,150,44,.15);border-color:rgba(201,150,44,.4);}
.quote .chip.prem #qChipL{color:var(--gold-deep,#8A6A18);}
.quote .chip.danger{background:rgba(224,75,74,.13);border-color:rgba(224,75,74,.4);}
.quote .chip.danger #qChipL{color:var(--n-red);}

/* rush toggle */
.quote .rt{display:flex;align-items:center;gap:10px;cursor:pointer;margin-top:12px;}
.quote .rt input{display:none;}
.quote .rt .track{width:40px;height:23px;border-radius:20px;background:var(--line);position:relative;transition:background .15s;flex:none;}
.quote .rt .track::after{content:'';position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.3);}
.quote .rt input:checked + .track{background:var(--gold);}
.quote .rt input:checked + .track::after{transform:translateX(17px);}
.quote .rt .lab{font-size:12.5px;color:var(--ink);}
.quote .rushbadge{display:none;margin-top:9px;font-size:11.5px;color:var(--gold-deep,#8A6A18);background:rgba(201,150,44,.1);border-radius:9px;padding:8px 11px;line-height:1.4;}
.quote .rushbadge.on{display:block;}
.quote .rushbadge.info{color:var(--muted);background:rgba(120,140,155,.12);}

/* summary panel */
.quote .qgrid > div:last-child{background:var(--mist);border:1px solid var(--line);border-radius:15px;padding:18px;}
.quote .brow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;}
.quote .brow .k{color:var(--ink-soft,#4A6270);}
.quote .brow .v{font-family:var(--mono);font-weight:700;color:var(--ink);}
.quote .brow .v.gold{color:var(--gold);}
.quote .brow input[type=number]{background:var(--card);color:var(--ink);}
.quote .ctotal{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:2px solid var(--line);}
.quote .ctotal .l{font-size:12px;color:var(--muted);}
.quote .ctotal .l b{display:block;color:var(--ink);font-size:13px;font-weight:600;margin-top:1px;}
.quote .ctotal .a{font-family:var(--mono);font-weight:800;font-size:27px;color:var(--gold);letter-spacing:-.5px;}

/* earnings */
.quote .earn{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:13px 14px;}
.quote .earn .et{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:9px;}
.quote .earn .er{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0;color:var(--ink-soft,#4A6270);}
.quote .earn .er .v{font-family:var(--mono);font-weight:600;color:var(--ink);}
.quote .earn .big{display:flex;justify-content:space-between;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-weight:700;font-size:14px;color:var(--ink);}
.quote .earn .big .v{font-family:var(--mono);color:var(--n-green);}

/* adjustment line inputs + save */
.quote #qAdjRows input,.quote #qAdjRows select{background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:7px;padding:5px 7px;font-size:12.5px;}
.quote #qSave{margin-top:14px;}
.quote #qDate{background:var(--card);color:var(--ink);}
.quote .card,.quote.card{overflow:visible;}
