/* ==========================================================================
   Bro Pilot CRM — internal management system
   Dark cinematic theme · Outfit (display) + Inter (UI)
   ========================================================================== */
:root{
  --bg:#060606; --bg-2:#0b0b0b; --panel:#111; --panel-2:#171717; --panel-3:#1d1d1d;
  --line:rgba(var(--tint),.07); --line-2:rgba(var(--tint),.13); --line-3:rgba(var(--tint),.22);
  --text:#f4f1ec; --muted:#a19b93; --dim:#6d675f;
  --orange:#F2762E; --orange-2:#ff9a52; --orange-soft:rgba(242,118,46,.12);
  --grad:linear-gradient(135deg,#F7963F 0%,#F2762E 45%,#D9481A 100%);
  --green:#5fd39a; --red:#ff7063; --blue:#7cb4ff; --yellow:#f5c65b; --amber:#ffa94d; --violet:#b99bff; --cyan:#5fd0e0; --grey:#8a857e;
  --radius:14px; --side:252px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --shadow:0 20px 60px -20px rgba(0,0,0,.7);
  --tint:255,255,255;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:14px/1.55 'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
img{max-width:100%;display:block}
code{font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;background:rgba(var(--tint),.06);padding:2px 6px;border-radius:5px}
::selection{background:var(--orange);color:#000}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}

/* text helpers */
.dim{color:var(--muted)} .small{font-size:12.5px} .block{display:block} .strong{font-weight:600}
.r{text-align:right} .wrap{white-space:normal;word-break:break-word}
.c-red{color:var(--red)} .c-green{color:var(--green)} .c-orange{color:var(--orange)} .c-violet{color:var(--violet)} .c-yellow{color:var(--yellow)}
small{font-size:12px}
.link{color:var(--orange);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:4px}
.link:hover{color:var(--orange-2)}
.link .ic{width:14px;height:14px}

/* wordmark */
.wordmark{font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:-.045em;display:inline-flex;align-items:center;line-height:1;font-size:26px;color:var(--text)}
.wordmark .o{display:inline-grid;place-items:center;width:.62em;height:.62em;border-radius:50%;background:var(--grad);margin:0 .015em;position:relative;top:.06em}
.wordmark .o svg{width:42%;height:42%;margin-left:8%}

/* ==========================================================================
   Shell
   ========================================================================== */
.shell{display:flex;min-height:100vh}
.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--bg-2);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:40;transition:transform .35s var(--ease)}
.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 18px 16px}
.side-tag{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);border:1px solid rgba(242,118,46,.35);padding:3px 8px;border-radius:999px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.menu{flex:1;overflow-y:auto;padding:6px 10px 16px;scrollbar-width:thin}
.menu a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--muted);font-size:13.5px;font-weight:500;transition:background .15s,color .15s;margin-bottom:1px}
.menu a:hover{background:rgba(var(--tint),.04);color:var(--text)}
.menu a.on{background:var(--orange-soft);color:var(--text)}
.menu a.on .ic{color:var(--orange)}
.menu a span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu .count{background:var(--orange);color:#000;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;padding:0 6px}
.menu-sep{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);padding:16px 12px 6px}
.side-foot{border-top:1px solid var(--line);padding:12px;display:flex;align-items:center;gap:8px}
.me{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px;border-radius:10px}
.me:hover,.me.on{background:rgba(var(--tint),.04)}
.me span{min-width:0}
.me b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me small{color:var(--dim)}
.scrim{display:none}

.main{flex:1;min-width:0;margin-left:var(--side);display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;gap:14px;padding:0 28px;background:rgba(6,6,6,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .menu-btn{display:none}
.gsearch{flex:1;max-width:520px;position:relative}
.gsearch .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--dim);width:16px;height:16px}
.top .gsearch input{width:100%;height:40px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);padding:0 14px 0 38px;font-size:13.5px;transition:border-color .2s}
.top .gsearch input:focus{outline:none;border-color:var(--orange)}
.top-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.bell{position:relative}
.bell .dot{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--orange);color:#000;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 5px;border:2px solid var(--bg)}

.content{padding:26px 28px 70px;max-width:1480px;width:100%}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.page-head h1{font-family:'Outfit',sans-serif;font-weight:700;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;line-height:1.1}
.page-head .sub{color:var(--muted);margin-top:6px;font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 15px;border-radius:10px;border:1px solid var(--line-2);background:rgba(var(--tint),.02);font-size:13px;font-weight:500;white-space:nowrap;transition:border-color .15s,background .15s,color .15s,transform .15s;cursor:pointer}
.btn .ic{width:16px;height:16px}
.btn:hover{border-color:var(--line-3);background:rgba(var(--tint),.05)}
.btn-primary{background:var(--grad);border-color:transparent;color:#0a0a0a;font-weight:600}
.btn-primary:hover{background:var(--grad);filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px -10px rgba(242,118,46,.6)}
.btn-ghost{background:none;border-color:transparent;color:var(--muted)}
.btn-ghost:hover{color:var(--text);background:rgba(var(--tint),.05)}
.btn-danger{color:var(--red);border-color:rgba(255,112,99,.3);background:none}
.btn-danger:hover{background:rgba(255,112,99,.1);border-color:var(--red)}
.btn-wa{color:#8ee6b3;border-color:rgba(95,211,154,.3);background:rgba(95,211,154,.06)}
.btn-wa:hover{border-color:var(--green);background:rgba(95,211,154,.12)}
.btn-sm{height:32px;padding:0 12px;font-size:12.5px;border-radius:8px}
.btn-block{width:100%}
.btn-icon{width:38px;padding:0}
.btn.on{border-color:var(--orange);color:var(--orange);background:var(--orange-soft)}
.btn-row{display:flex;gap:6px;flex-wrap:wrap}
.ib{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:9px;border:1px solid var(--line-2);color:var(--muted);transition:all .15s;flex:none}
.ib .ic{width:16px;height:16px}
.ib:hover{color:var(--text);border-color:var(--line-3)}
.ib.wa:hover{color:var(--green);border-color:var(--green)}
.ib.danger:hover{color:var(--red);border-color:var(--red)}
form.inline{display:inline-flex}
.acts{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}

/* ==========================================================================
   Cards, stats, pills
   ========================================================================== */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}
.card.flush{padding:0;overflow:hidden}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.card-h.pad{padding:18px 20px 0;margin-bottom:10px}
.card-h h2{font-family:'Outfit',sans-serif;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px}
.card-h h2 small{font-family:'Inter';font-weight:400}
.card-t{font-family:'Outfit',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-t .pill{letter-spacing:0;text-transform:none;font-family:'Inter'}
.card-alert{border-color:rgba(242,118,46,.35);background:#130c08}
.subhead{font-family:'Outfit',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:18px 0 10px}
.eyebrow{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:20px;height:1px;background:var(--orange)}

.stats{display:grid;gap:12px;margin-bottom:16px}
.stats-3{grid-template-columns:repeat(3,1fr)}
.stats-4{grid-template-columns:repeat(4,1fr)}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden;transition:border-color .15s;display:block}
a.stat:hover{border-color:var(--line-3)}
.stat-l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stat-v{font-family:'Outfit',sans-serif;font-size:28px;font-weight:700;line-height:1.2;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-v small{font-size:14px;color:var(--muted);font-weight:500}
.stat-s{font-size:12px;color:var(--dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.tone-orange::before{background:var(--orange)} .tone-orange .stat-v{color:var(--orange)}
.tone-red::before{background:var(--red)} .tone-red .stat-v{color:var(--red)}
.tone-green::before{background:var(--green)} .tone-green .stat-v{color:var(--green)}
.tone-violet::before{background:var(--violet)} .tone-violet .stat-v{color:var(--violet)}
.tone-yellow::before{background:var(--yellow)} .tone-yellow .stat-v{color:var(--yellow)}

.pill{display:inline-flex;align-items:center;gap:6px;height:23px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:500;white-space:nowrap;border:1px solid var(--line-2);color:var(--muted);background:rgba(var(--tint),.03);vertical-align:middle;font-family:'Inter',sans-serif;letter-spacing:0;text-transform:none}
.pill i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.pill.orange{color:var(--orange);border-color:rgba(242,118,46,.3);background:var(--orange-soft)}
.pill.blue{color:var(--blue);border-color:rgba(124,180,255,.25);background:rgba(124,180,255,.08)}
.pill.violet{color:var(--violet);border-color:rgba(185,155,255,.25);background:rgba(185,155,255,.08)}
.pill.cyan{color:var(--cyan);border-color:rgba(95,208,224,.25);background:rgba(95,208,224,.08)}
.pill.yellow{color:var(--yellow);border-color:rgba(245,198,91,.25);background:rgba(245,198,91,.08)}
.pill.amber{color:var(--amber);border-color:rgba(255,169,77,.28);background:rgba(255,169,77,.08)}
.pill.green{color:var(--green);border-color:rgba(95,211,154,.25);background:rgba(95,211,154,.08)}
.pill.red{color:var(--red);border-color:rgba(255,112,99,.3);background:rgba(255,112,99,.08)}
.pill.grey{color:var(--grey)}

/* SLA timer chip */
.timer{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid transparent}
.timer i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.t-ok{color:var(--green);background:rgba(95,211,154,.08);border-color:rgba(95,211,154,.2)}
.t-warn{color:var(--yellow);background:rgba(245,198,91,.08);border-color:rgba(245,198,91,.22)}
.t-risk{color:var(--amber);background:rgba(255,169,77,.1);border-color:rgba(255,169,77,.3)}
.t-urgent{color:var(--red);background:rgba(255,112,99,.1);border-color:rgba(255,112,99,.35)}
.t-urgent i{animation:pulse 1.2s infinite}
.t-over{color:#fff;background:#2a0d0a;border-color:var(--red)}
.t-over i{background:var(--red);animation:pulse .9s infinite}
.t-done{color:var(--muted);background:rgba(var(--tint),.03);border-color:var(--line-2)}
.timer-big{font-size:15px;padding:7px 14px}
@keyframes pulse{50%{opacity:.25}}

.progress{height:8px;border-radius:8px;background:rgba(var(--tint),.07);overflow:hidden;flex:1;min-width:60px}
.progress i{display:block;height:100%;border-radius:8px;background:var(--grad);transition:width .8s var(--ease)}
.progress.done i{background:linear-gradient(90deg,#3fbf80,#5fd39a)}

.flash{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:11px;margin-bottom:14px;font-size:13.5px;border:1px solid}
.flash .ic{width:17px;height:17px}
.flash span{flex:1}
.flash-ok{background:rgba(95,211,154,.08);border-color:rgba(95,211,154,.25);color:#b6f0d1}
.flash-error{background:rgba(255,112,99,.08);border-color:rgba(255,112,99,.3);color:#ffc2bb}
.flash-info{background:rgba(124,180,255,.08);border-color:rgba(124,180,255,.25);color:#cfe2ff}
.flash-x{color:inherit;opacity:.6;display:grid;place-items:center}
.flash-x:hover{opacity:1}
.flash-x .ic{width:15px;height:15px}

.empty{text-align:center;padding:40px 16px;color:var(--muted)}
.empty-ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;margin:0 auto 14px;background:var(--orange-soft);color:var(--orange)}
.empty-ic .ic{width:24px;height:24px}
.empty h3{font-family:'Outfit',sans-serif;font-size:18px;color:var(--text);margin-bottom:4px}
.empty-a{margin-top:16px;display:flex;justify-content:center;gap:8px}

.av{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;flex:none;background:var(--panel-3);border:1px solid var(--line-2);color:var(--orange);font-family:'Outfit',sans-serif;font-weight:600;font-size:13px;object-fit:cover}
.who{display:flex;align-items:center;gap:10px;min-width:0}

/* ==========================================================================
   Forms
   ========================================================================== */
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],input[type=date],input[type=time],input[type=month],input[type=datetime-local],select,textarea{
  width:100%;background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:0 12px;height:40px;font-size:14px;color:var(--text);transition:border-color .15s,background .15s}
textarea{height:auto;padding:10px 12px;line-height:1.5;resize:vertical;min-height:44px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange);background:#0e0e0e}
input::placeholder,textarea::placeholder{color:#4f4a44}
input[readonly]{opacity:.7}
select{appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a19b93' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}
select option{background:#151515}
input[type=date],input[type=month],input[type=time],input[type=datetime-local]{color-scheme:dark}
input[type=file]{font-size:13px;color:var(--muted);max-width:100%}
input[type=file]::file-selector-button{font:inherit;font-size:12.5px;color:var(--text);background:var(--panel-3);border:1px solid var(--line-2);border-radius:8px;padding:7px 12px;margin-right:10px;cursor:pointer}
input[type=checkbox],input[type=radio]{accent-color:var(--orange);width:16px;height:16px}

.form .fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px}
.form.narrow{max-width:760px}
.form.narrow .fgrid{grid-template-columns:repeat(2,1fr)}
.form-h{font-family:'Outfit',sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:22px 0 12px;display:flex;align-items:center;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.form > .form-h:first-of-type,.form-h:first-child{margin-top:0;padding-top:0;border-top:0}
.step-n{width:22px;height:22px;border-radius:50%;background:var(--orange);color:#000;display:inline-grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:0}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.wide,.fgrid .wide{grid-column:1 / -1}
.field label{font-size:12.5px;color:var(--muted);font-weight:500}
.req{color:var(--orange);font-weight:600}
.hint{color:var(--dim);font-size:11.5px}
.static{height:40px;display:flex;align-items:center;padding:0 12px;border-radius:10px;border:1px dashed var(--line-2);color:var(--text);font-weight:600}
.static.big{font-family:'Outfit',sans-serif;font-size:20px;color:var(--orange)}
.check{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text);cursor:pointer;align-self:end;min-height:40px}
.form-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.input-group{display:flex;gap:6px}
.input-group select{width:76px;flex:none}
.stack{display:flex;flex-direction:column;gap:10px}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.inline-form input,.inline-form select{flex:1;min-width:120px;width:auto}
.inline-l{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.inline-l input{width:auto}

/* filter bar */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center}
.filters select,.filters input[type=date],.filters input[type=month]{width:auto;height:36px;font-size:13px;min-width:130px;background-color:var(--panel)}
.filters .btn{height:36px}
.search-in{position:relative;flex:1;min-width:200px;max-width:320px}
.search-in .ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--dim)}
.search-in input{padding-left:34px;height:36px;font-size:13px;background:var(--panel)}

.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tab{height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:7px;transition:all .15s;white-space:nowrap}
.tab b{font-size:11px;font-weight:600;min-width:20px;height:19px;padding:0 6px;border-radius:999px;background:rgba(var(--tint),.07);display:inline-grid;place-items:center;color:var(--text)}
.tab:hover{color:var(--text);border-color:var(--line-3)}
.tab.on{background:var(--text);border-color:var(--text);color:#000}
.tab.on b{background:rgba(0,0,0,.12);color:#000}
.tab.tab-red b{background:var(--red);color:#000}

/* ==========================================================================
   Tables
   ========================================================================== */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600;padding:12px 14px;background:var(--bg-2);border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:13.5px}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr[data-href]{cursor:pointer;transition:background .12s}
.tbl tbody tr[data-href]:hover{background:rgba(var(--tint),.025)}
.tbl-compact td{padding:9px 12px}
.tbl-compact th{padding:9px 12px}
.card:not(.flush) .tbl th{background:none;padding-left:0}
.card:not(.flush) .tbl td{padding-left:0}
.tbl .acts{white-space:nowrap}
.tbl tr.sla-over td:first-child{box-shadow:inset 3px 0 0 var(--red)}
.tbl tr.sla-urgent td:first-child{box-shadow:inset 3px 0 0 var(--red)}
.tbl tr.sla-risk td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
.tbl-inputs input{height:36px}
.prog-cell{min-width:120px}
.prog-cell .progress{display:inline-block;width:80px;vertical-align:middle;margin-right:8px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap;font-size:12.5px}
.pager-btns{display:flex;gap:6px}

/* ==========================================================================
   Layout helpers
   ========================================================================== */
.grid-2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13.5px}
.kv dt{color:var(--dim)}
.kv dd{min-width:0;word-break:break-word}
.kv-2{grid-template-columns:auto 1fr auto 1fr}
.kv-3{grid-template-columns:auto 1fr auto 1fr auto 1fr}
.prose{font-size:14px;line-height:1.65;color:#e5e1db;white-space:normal;word-break:break-word}
.row-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);transition:color .12s}
.row-link:last-child{border-bottom:0}
.row-link:hover b{color:var(--orange)}
.row-link > span:first-child{min-width:0;overflow:hidden}
.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.list-row:last-child{border-bottom:0}
.lr-main{display:flex;flex-direction:column;min-width:0}
.lr-main b{font-size:13.5px}
.lr-act{display:flex;gap:6px}
.linkrow{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;word-break:break-all}
.linkrow .ic{width:15px;height:15px}
.big-date{font-family:'Outfit',sans-serif;font-size:20px;font-weight:600}

.nudge{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid rgba(185,155,255,.25);background:rgba(185,155,255,.06);margin-bottom:16px;font-size:13.5px;color:#ddd3ff}
.nudge span{flex:1}
.nudge .ic:first-child{color:var(--violet)}
.nudge:hover{border-color:var(--violet)}
.alert-strip{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,112,99,.35);background:rgba(255,112,99,.08);margin-bottom:16px;color:#ffc9c2}
.alert-strip .ic{color:var(--red)}

/* ==========================================================================
   Sales dashboard
   ========================================================================== */
.hero-target{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:16px}
.ht-main{position:relative;overflow:hidden;border-radius:18px;padding:24px 26px;background:#120b07;border:1px solid rgba(242,118,46,.3)}
.ht-main::after{content:"";position:absolute;width:420px;height:420px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(242,118,46,.28),transparent 65%);pointer-events:none}
.ht-nums{display:flex;gap:34px;flex-wrap:wrap;margin:16px 0 18px;position:relative}
.ht-nums small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ht-nums b{font-family:'Outfit',sans-serif;font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.1}
.ht-bar{display:flex;align-items:center;gap:14px;position:relative}
.ht-bar .progress{height:12px}
.ht-bar span{font-family:'Outfit',sans-serif;font-weight:700;font-size:20px;color:var(--orange);min-width:56px;text-align:right}
.ht-main p{margin-top:10px;position:relative;font-size:13px}
.ht-side{display:grid;gap:12px}
.mini-target{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:8px;justify-content:center}
.mt-h{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mt-h b{color:var(--orange);letter-spacing:0}
.mt-v{font-family:'Outfit',sans-serif;font-size:22px;font-weight:700}
.mt-v small{font-size:14px;color:var(--muted);font-weight:500}
.quick{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.qa-btn{flex:1;min-width:140px;display:flex;align-items:center;justify-content:center;gap:9px;height:48px;border-radius:12px;border:1px dashed var(--line-3);color:var(--text);font-weight:500;font-size:13.5px;transition:all .15s}
.qa-btn .ic{color:var(--orange)}
.qa-btn:hover{border-style:solid;border-color:var(--orange);background:var(--orange-soft)}

/* project cards */
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.pcard{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);transition:border-color .15s,transform .15s;position:relative;overflow:hidden}
.pcard:hover{border-color:var(--line-3);transform:translateY(-1px)}
.pcard::before,.ecard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.s-ok::before{background:var(--green)} .s-warn::before{background:var(--yellow)} .s-risk::before{background:var(--amber)} .s-urgent::before{background:var(--red)} .s-over::before{background:var(--red)} .s-done::before{background:var(--grey)}
.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.code{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--dim);letter-spacing:.02em}
.pcard h4{font-family:'Outfit',sans-serif;font-size:16px;font-weight:600;line-height:1.25}
.pcard-sub{font-size:12.5px;color:var(--muted);line-height:1.4}
.pcard-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin:2px 0 4px}
.pcard-meta span{display:inline-flex;align-items:center;gap:5px}
.pcard-meta .ic{width:13px;height:13px}
.pcard .timer{align-self:flex-start}
.ecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.ecard{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:14px;border:1px solid var(--line-2);background:var(--bg-2)}
.ecard h3{font-family:'Outfit',sans-serif;font-size:19px;font-weight:600}
.timer-row{margin:4px 0}
.req-snip{font-size:13px;color:var(--muted);border-left:2px solid var(--line-2);padding-left:10px}
.ecard .kv{font-size:12.5px;gap:4px 12px}
.ecard .btn{margin-top:auto}

/* admin dashboard */
.revenue-card .rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rev-grid small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.rev-grid b{font-family:'Outfit',sans-serif;font-size:24px;font-weight:700;display:block}
.rev-grid b small{display:inline;font-size:13px;letter-spacing:0;text-transform:none}
.rev-grid em{font-style:normal;font-size:11.5px}
.rev-target .progress{margin-top:8px}
.rev-sep{height:1px;background:var(--line);margin:16px 0}
.leader{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.leader:last-child{border-bottom:0}
.leader-h{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.leader-h span{color:var(--muted);white-space:nowrap}
.tbl.tbl-compact .r{font-variant-numeric:tabular-nums}

/* ==========================================================================
   Leads, timeline, notes
   ========================================================================== */
.pipeline-steps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;align-items:center}
.step-f{display:inline-flex}
.step{height:34px;padding:0 13px;border-radius:9px;border:1px solid var(--line-2);font-size:12.5px;color:var(--muted);transition:all .15s;display:inline-flex;align-items:center;cursor:pointer;list-style:none}
.step:hover{color:var(--text);border-color:var(--line-3)}
.step.past{color:var(--text);border-color:rgba(242,118,46,.3)}
.step.on{background:var(--grad);border-color:transparent;color:#000;font-weight:600}
.step.lost{color:var(--red);border-style:dashed}
.lost-d{position:relative}
.lost-d summary::-webkit-details-marker{display:none}
.pop{position:absolute;top:40px;left:0;z-index:20;width:280px;padding:14px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line-2);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.note-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.note-form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.note-form-row select{width:auto}
.note-form-row .check{margin-right:auto;min-height:0;font-size:12.5px;color:var(--muted)}
.timeline{position:relative;padding-left:4px}
.tl-item{display:flex;gap:12px;padding:8px 0;position:relative}
.tl-item::before{content:"";position:absolute;left:5px;top:22px;bottom:-8px;width:1px;background:var(--line-2)}
.tl-item:last-child::before{display:none}
.tl-dot{width:11px;height:11px;border-radius:50%;background:var(--panel-3);border:2px solid var(--line-3);flex:none;margin-top:5px}
.tl-call .tl-dot,.tl-whatsapp .tl-dot{border-color:var(--green)}
.tl-meeting .tl-dot{border-color:var(--violet)}
.tl-status .tl-dot{border-color:var(--orange)}
.tl-h{font-size:12.5px;color:var(--muted)}
.tl-h b{color:var(--text)}
.tl-b{font-size:13.5px;margin-top:2px;word-break:break-word}

/* ==========================================================================
   Kanban pipeline
   ========================================================================== */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(262px,1fr);gap:12px;overflow-x:auto;padding-bottom:12px;align-items:start;scroll-snap-type:x proximity}
.kcol{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;max-height:calc(100vh - 230px);min-height:200px;scroll-snap-align:start}
.kcol.k-pipe{border-color:rgba(185,155,255,.18)}
.kcol-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--line)}
.kcount{font-size:12px;color:var(--muted);margin-left:4px}
.ksum{font-weight:600;color:var(--muted)}
.kcol-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:80px;transition:background .15s;border-radius:0 0 14px 14px}
.kcol-body.over{background:rgba(242,118,46,.06);outline:1px dashed var(--orange);outline-offset:-6px}
.kcard{background:var(--panel);border:1px solid var(--line-2);border-radius:11px;padding:12px;cursor:grab;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,opacity .15s,transform .15s}
.kcard:hover{border-color:var(--line-3)}
.kcard.dragging{opacity:.4;transform:rotate(1.5deg)}
.kcard.saving{opacity:.6}
.kcard-t{font-weight:600;font-size:14px;line-height:1.3}
.kcard-t:hover{color:var(--orange)}
.kcard-s{font-size:12px;color:var(--muted);line-height:1.35}
.kcard-m{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px}
.kcard-m span{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.kcard-m .ic{width:13px;height:13px}
.kcard-f{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding-top:6px;border-top:1px solid var(--line)}
.kmove{display:none}
.kmove select{height:32px;font-size:12.5px}

/* ==========================================================================
   Packages & quotations
   ========================================================================== */
.pkgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.pkg{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.pkg.off{opacity:.6}
.pkg-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pkg-h h3{font-family:'Outfit',sans-serif;font-size:19px}
.pkg-price{font-family:'Outfit',sans-serif;font-size:32px;font-weight:700;color:var(--orange)}
.pkg-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted)}
.pkg-meta span{display:inline-flex;align-items:center;gap:5px}
.pkg-meta .ic{width:14px;height:14px}
.ticks{list-style:none;display:flex;flex-direction:column;gap:5px;font-size:13px}
.ticks li{display:flex;gap:8px;align-items:flex-start}
.ticks .ic{width:15px;height:15px;color:var(--green);margin-top:2px}
.pkg-f{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.pkg-f > span{display:flex;gap:6px}

.quote-to{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--orange-soft);border:1px solid rgba(242,118,46,.25);margin-bottom:18px;font-size:14px}
.quote-to .ic{color:var(--orange)}
.extras{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.extra-row{display:grid;grid-template-columns:1fr 160px 36px;gap:8px;align-items:center}
.totals{margin:22px 0 0 auto;max-width:380px;display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line)}
.totals > div{display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted)}
.totals b{color:var(--text);font-variant-numeric:tabular-nums}
.totals .grand{padding-top:10px;border-top:1px solid var(--line-2);font-size:16px}
.totals .grand b{font-family:'Outfit',sans-serif;font-size:24px;color:var(--orange)}
.status-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}

.quote-doc{background:#fbfaf7;color:#1a1714;border-radius:16px;padding:44px 48px;max-width:860px;box-shadow:var(--shadow)}
.quote-doc .wordmark{color:#111}
.quote-doc .dim{color:#7a736b}
.qd-h{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:26px;border-bottom:2px solid #111}
.qd-sub{font-family:'Outfit',sans-serif;letter-spacing:.5em;font-size:11px;margin:8px 0 10px}
.qd-meta h2{font-family:'Outfit',sans-serif;font-size:28px;letter-spacing:.12em;color:#F2762E;text-align:right}
.qd-meta dl{display:grid;grid-template-columns:auto auto;gap:4px 14px;margin-top:10px;font-size:13px;justify-content:end}
.qd-meta dt{color:#7a736b;text-align:right}
.qd-to{margin:26px 0;display:flex;flex-direction:column;gap:2px}
.qd-to small,.qd-block small{font-family:'Outfit',sans-serif;letter-spacing:.24em;font-size:10.5px;color:#7a736b;margin-bottom:4px}
.qd-to b{font-family:'Outfit',sans-serif;font-size:22px}
.qd-items{width:100%;border-collapse:collapse;font-size:14px}
.qd-items th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7a736b;padding:10px 0;border-bottom:1px solid #d9d4cc}
.qd-items td{padding:14px 0;border-bottom:1px solid #ebe7e0;vertical-align:top}
.qd-items .r{text-align:right;white-space:nowrap;padding-left:20px}
.qd-items tfoot td{border-bottom:0;padding:6px 0}
.qd-items tfoot .grand td{font-family:'Outfit',sans-serif;font-size:22px;font-weight:700;border-top:2px solid #111;padding-top:12px}
.qd-items tfoot .grand td:last-child{color:#D9481A}
.qd-deliv{margin:6px 0 0 18px;font-size:12.5px;color:#5a534b}
.qd-block{margin-top:22px;display:flex;flex-direction:column}
.qd-block p{font-size:13.5px}
.qd-f{margin-top:34px;padding-top:16px;border-top:1px solid #d9d4cc;font-size:12px;color:#7a736b}

/* ==========================================================================
   Project page
   ========================================================================== */
.timer-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;padding:24px 28px;border-radius:18px;margin-bottom:16px;background:var(--panel);border:1px solid var(--line-2)}
.timer-card::after{content:"";position:absolute;width:420px;height:420px;left:-160px;top:-240px;border-radius:50%;pointer-events:none;opacity:.5}
.timer-card.s-ok::after{background:radial-gradient(circle,rgba(95,211,154,.35),transparent 65%)}
.timer-card.s-warn::after{background:radial-gradient(circle,rgba(245,198,91,.35),transparent 65%)}
.timer-card.s-risk::after{background:radial-gradient(circle,rgba(255,169,77,.4),transparent 65%)}
.timer-card.s-urgent,.timer-card.s-over{border-color:rgba(255,112,99,.45)}
.timer-card.s-urgent::after,.timer-card.s-over::after{background:radial-gradient(circle,rgba(255,112,99,.45),transparent 65%)}
.tc-main{position:relative;z-index:1}
.tc-clock{font-family:'Outfit',sans-serif;font-size:clamp(40px,6vw,64px);font-weight:700;letter-spacing:.02em;line-height:1.05;font-variant-numeric:tabular-nums;margin:6px 0 10px}
.tc-clock.done{font-size:clamp(22px,3vw,30px);color:var(--muted)}
.s-ok .tc-clock{color:var(--green)} .s-warn .tc-clock{color:var(--yellow)} .s-risk .tc-clock{color:var(--amber)} .s-urgent .tc-clock,.s-over .tc-clock{color:var(--red)}
.tc-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tc-label{font-family:'Outfit',sans-serif;letter-spacing:.24em;text-transform:uppercase;font-size:12px}
.tc-msg{margin-top:10px;color:#ffc2bb;font-size:13px}
.tc-meta{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 20px;justify-self:stretch}
.tc-meta dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:3px}
.tc-meta dd{font-size:14px}

.workflow{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);gap:0;overflow-x:auto;padding-bottom:4px}
.wf{position:relative;min-width:96px}
.wf::before{content:"";position:absolute;top:15px;left:50%;right:-50%;height:2px;background:var(--line-2)}
.wf:last-child::before{display:none}
.wf.past::before{background:var(--orange)}
.wf form{display:block}
.wf-btn{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:0 4px;position:relative;cursor:default;color:var(--muted)}
button.wf-btn{cursor:pointer}
button.wf-btn:hover .wf-dot{border-color:var(--orange)}
button.wf-btn:hover b{color:var(--text)}
.wf-dot{width:30px;height:30px;border-radius:50%;background:var(--bg-2);border:2px solid var(--line-3);display:grid;place-items:center;position:relative;z-index:1;transition:border-color .15s}
.wf-dot .ic{width:14px;height:14px}
.wf b{font-size:11.5px;font-weight:600;line-height:1.25}
.wf small{font-size:10.5px;color:var(--dim)}
.wf.past .wf-dot{background:var(--orange);border-color:var(--orange);color:#000}
.wf.past b{color:var(--text)}
.wf.now .wf-dot{border-color:var(--orange);box-shadow:0 0 0 5px rgba(242,118,46,.18)}
.wf.now .wf-dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange)}
.wf.now b{color:var(--orange)}
.wf-next{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}

.file-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.file-cols .subhead{margin-top:0}
.files{display:flex;flex-direction:column;gap:6px}
.file{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2)}
.file:hover{border-color:var(--line-3)}
.fi{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange);font:700 10px 'Outfit',sans-serif;letter-spacing:.04em;flex:none}
.fn{flex:1;min-width:0}
.fn b{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn small{color:var(--dim);font-size:11px}
.ver{display:inline-block;padding:0 6px;border-radius:5px;background:var(--orange);color:#000;font-weight:700;font-size:10px;letter-spacing:.04em}
.upl{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:12px;border-radius:10px;border:1px dashed var(--line-2)}
.upl select,.upl input{height:36px;font-size:13px}
.upl input[type=file]{height:auto}
.upl .btn{align-self:flex-end}
.file-picked{font-size:11.5px;color:var(--muted)}

.rev{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.rev:first-of-type{padding-top:0}
.rev-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rev-a{display:flex;gap:6px;flex-wrap:wrap}
.add-block{margin-top:14px}
.add-block > summary{list-style:none;display:inline-flex}
.add-block > summary::-webkit-details-marker{display:none}
.add-block[open] > summary{margin-bottom:12px}
.add-block .form .fgrid{grid-template-columns:repeat(2,1fr)}

.thread{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.msg{padding:12px 14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);max-width:92%}
.msg.mine{align-self:flex-end;background:#15100c;border-color:rgba(242,118,46,.22)}
.msg.clarify{border-color:rgba(255,169,77,.4)}
.msg-h{font-size:12.5px;margin-bottom:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.msg-b{font-size:13.5px;word-break:break-word}
.msg .files{margin-top:10px}

.pay-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.pay-sum div{padding:10px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line)}
.pay-sum small{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.pay-sum b{font-family:'Outfit',sans-serif;font-size:16px}
.pay-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.stage-times{list-style:none;display:flex;flex-direction:column}
.stage-times li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.stage-times li:last-child{border-bottom:0}
.stage-times b{font-variant-numeric:tabular-nums;white-space:nowrap}
.assign-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.assign-row:last-child{border-bottom:0}
.assign-row .lr-main{flex:1;min-width:180px}
.assign-row .inline-form select{min-width:220px}

/* ==========================================================================
   Targets & reports
   ========================================================================== */
.target-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.tcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
.tcard-h{display:flex;justify-content:space-between;font-family:'Outfit',sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.tcard-h b{color:var(--orange);font-size:20px;letter-spacing:0}
.tcard dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tcard dt{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.tcard dd{font-family:'Outfit',sans-serif;font-size:18px;font-weight:600}
.bars{position:relative;display:flex;align-items:flex-end;gap:3px;height:200px;padding-bottom:22px}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;min-width:0}
.bar i{display:block;width:100%;max-width:26px;background:rgba(242,118,46,.45);border-radius:4px 4px 0 0;min-height:2px;transition:height .6s var(--ease)}
.bar i.hit{background:var(--grad)}
.bar span{position:absolute;bottom:-20px;font-size:10px;color:var(--dim)}
.bar.today span{color:var(--orange);font-weight:700}
.bar.future i{background:rgba(var(--tint),.05)}
.bars-target{position:absolute;left:0;right:0;border-top:1px dashed rgba(95,211,154,.6);pointer-events:none}
.bars-target span{position:absolute;right:0;top:-18px;font-size:10.5px;color:var(--green)}
.pipe-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.pipe-row.total{border-bottom:0;font-family:'Outfit',sans-serif;font-size:16px}
.hbars{display:flex;flex-direction:column;gap:8px}
.hbar{display:grid;grid-template-columns:minmax(80px,160px) 1fr auto;gap:12px;align-items:center;font-size:12.5px}
.hb-l{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-t{height:10px;border-radius:6px;background:rgba(var(--tint),.05);overflow:hidden}
.hb-t i{display:block;height:100%;background:var(--grad);border-radius:6px}
.hbar b{font-variant-numeric:tabular-nums;min-width:56px;text-align:right}

/* ==========================================================================
   Leave, tickets, wellbeing
   ========================================================================== */
.leave-card{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.lc-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.lc-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}
.lc-dates{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13.5px;flex-wrap:wrap}
.lc-dates .ic{color:var(--orange);width:16px;height:16px}
.lc-act{display:flex;flex-direction:column;gap:8px}
.cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px;font-size:12px;color:var(--muted)}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.cal-legend i{width:12px;height:12px;border-radius:3px}
.lg-sales{background:rgba(242,118,46,.5)} .lg-editor{background:rgba(124,180,255,.5)} .lg-other{background:rgba(185,155,255,.5)} .lg-hol{background:rgba(var(--tint),.08)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-dn{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:center;padding:4px 0}
.cal-d{min-height:112px;border-radius:10px;background:var(--panel);border:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:4px;min-width:0}
.cal-d.empty{background:none;border:0}
.cal-d.off{background:rgba(var(--tint),.015)}
.cal-d.today{border-color:var(--orange)}
.cal-d.thin{border-color:rgba(255,112,99,.5)}
.cal-n{font-family:'Outfit',sans-serif;font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:4px}
.cal-d.off .cal-n{color:var(--dim)}
.thin-tag{font-family:'Inter';font-size:9.5px;font-weight:600;color:var(--red);text-transform:uppercase;letter-spacing:.06em}
.cal-hol{font-size:11px;color:var(--yellow)}
.cal-p{font-size:11px;padding:2px 6px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}
.cal-p.r-sales{background:rgba(242,118,46,.18);color:#ffc9a6}
.cal-p.r-editor{background:rgba(124,180,255,.16);color:#cfe2ff}
.cal-p.r-admin,.cal-p.r-manager{background:rgba(185,155,255,.16);color:#e3d8ff}
.cal-p.pending{background:none;border-style:dashed;border-color:currentColor}

.flow{list-style:none;display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.flow li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--line-2);font-size:12.5px;color:var(--muted)}
.flow li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--panel-3);font-size:11px;font-weight:700}
.flow li span .ic{width:12px;height:12px}
.flow li.past{color:var(--text)} .flow li.past span{background:var(--orange);color:#000}
.flow li.now{border-color:var(--orange);color:var(--orange)} .flow li.now span{background:var(--orange);color:#000}

.checkin h2{font-family:'Outfit',sans-serif;font-size:22px;margin-bottom:16px}
.checkin{display:flex;flex-direction:column;gap:14px}
.checkin .btn{align-self:flex-start}
.moods{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mood{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:14px;border:1px solid var(--line-2);cursor:pointer;transition:all .15s;text-align:center;font-size:13px;color:var(--muted)}
.mood input{position:absolute;opacity:0;pointer-events:none}
.mood .ic{width:34px;height:34px}
.mood:hover{border-color:var(--line-3);color:var(--text)}
.mood:has(input:checked){color:var(--text);transform:translateY(-2px)}
.mood:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:2px}
.m-good .ic{color:var(--green)} .m-okay .ic{color:var(--yellow)} .m-low .ic{color:var(--amber)} .m-support .ic{color:var(--red)}
.mood.m-good:has(input:checked){border-color:var(--green);background:rgba(95,211,154,.08)}
.mood.m-okay:has(input:checked){border-color:var(--yellow);background:rgba(245,198,91,.08)}
.mood.m-low:has(input:checked){border-color:var(--amber);background:rgba(255,169,77,.08)}
.mood.m-support:has(input:checked){border-color:var(--red);background:rgba(255,112,99,.08)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-flex;align-items:center;height:34px;padding:0 13px;border-radius:9px;border:1px solid var(--line-2);font-size:13px;color:var(--muted);transition:all .15s}
.seg input:checked + span{border-color:var(--orange);color:var(--orange);background:var(--orange-soft)}
.seg input:focus-visible + span{outline:2px solid var(--orange);outline-offset:2px}
.mood-strip{display:flex;gap:6px;flex-wrap:wrap}
.ms{display:flex;flex-direction:column;align-items:center;gap:2px;width:38px;padding:6px 0;border-radius:9px;background:var(--bg-2);border:1px solid var(--line)}
.ms .ic{width:20px;height:20px}
.ms small{font-size:10px;color:var(--dim)}
.mood-agg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.ma{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);text-align:center}
.ma .ic{width:26px;height:26px}
.ma b{font-family:'Outfit',sans-serif;font-size:22px}
.ma span{font-size:12px;color:var(--muted)}
.ma .progress{width:100%;height:5px}

/* notifications */
.notif{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);transition:background .12s}
.notif:last-child{border-bottom:0}
.notif:hover{background:rgba(var(--tint),.025)}
.notif.unread{background:rgba(242,118,46,.04)}
.notif.unread .n-body b::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-left:8px;vertical-align:middle}
.n-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--panel-3);color:var(--muted);flex:none}
.n-ic .ic{width:16px;height:16px}
.n-sla_over .n-ic,.n-sla_2h .n-ic{background:rgba(255,112,99,.12);color:var(--red)}
.n-sla_4h .n-ic{background:rgba(255,169,77,.12);color:var(--amber)}
.n-payment .n-ic,.n-target .n-ic{background:rgba(95,211,154,.1);color:var(--green)}
.n-lead .n-ic,.n-project .n-ic{background:var(--orange-soft);color:var(--orange)}
.n-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.n-body b{font-size:13.5px;font-weight:600}
.n-body span{font-size:13px;color:var(--muted)}
.notif small{white-space:nowrap}

/* live toast for urgent alerts */
.toast{position:fixed;right:20px;bottom:20px;z-index:90;width:min(360px,calc(100vw - 32px));padding:14px 16px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line-2);box-shadow:var(--shadow);display:flex;gap:12px;align-items:flex-start;animation:rise .4s var(--ease)}
.toast.t-red{border-color:rgba(255,112,99,.5)}
.toast b{display:block;font-size:13.5px}
.toast p{font-size:12.5px;color:var(--muted)}
.toast .ic{color:var(--orange);margin-top:2px}
.toast.t-red .ic{color:var(--red)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}

/* profile, settings, search */
.profile-card{display:flex;align-items:center;gap:18px}
.profile-card .av{font-size:28px}
.profile-card h2{font-family:'Outfit',sans-serif;font-size:24px}
.office-row{border-bottom:1px solid var(--line);padding:10px 0}
.office-row summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}
.office-row summary::-webkit-details-marker{display:none}
.office-row summary .ic{width:15px;height:15px;color:var(--dim)}
.office-row[open] summary{margin-bottom:10px}
.office-row .inline{margin-top:8px}
.seg-days span{min-width:52px;justify-content:center}
.search-big{position:relative;padding:0}
.search-big .ic{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--dim)}
.search-big input{height:58px;border:0;background:none;padding-left:50px;font-size:17px}
.search-hit{justify-content:flex-start}
.search-hit > .ic{margin-left:auto;color:var(--dim)}
.sh-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--panel-3);color:var(--orange);flex:none}
.sh-ic .ic{width:16px;height:16px}

/* water reminder */
.water{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:95;width:min(520px,calc(100vw - 32px));display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:#0b1418;border:1px solid rgba(95,208,224,.35);box-shadow:var(--shadow);animation:rise .5s var(--ease)}
.water-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(95,208,224,.12);color:var(--cyan);flex:none}
.water-ic .ic{width:22px;height:22px}
.water b{font-family:'Outfit',sans-serif;font-size:16px}
.water p{font-size:12.5px;color:var(--muted)}
.water > div:nth-child(2){flex:1;min-width:0}
.water-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* auth pages */
body.bare{min-height:100vh}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
.auth::before{content:"";position:absolute;width:80vmax;height:80vmax;border-radius:50%;top:-40vmax;right:-30vmax;filter:blur(70px);background:radial-gradient(circle,rgba(242,118,46,.35),transparent 62%);pointer-events:none}
.auth-box{position:relative;width:100%;max-width:420px;background:rgba(17,17,17,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:22px;padding:34px;display:flex;flex-direction:column;gap:14px}
.auth-brand{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.auth-brand span{font-family:'Outfit',sans-serif;letter-spacing:.55em;font-size:11px;color:var(--muted)}
.auth-box h1{font-family:'Outfit',sans-serif;font-size:24px}
.auth-box .btn-primary{height:46px;font-size:14px;margin-top:4px}
.auth-foot{font-size:12px;color:var(--dim);text-align:center}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1280px){
  .detail{grid-template-columns:minmax(0,1fr) 300px}
  .form .fgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .grid-2,.detail{grid-template-columns:1fr}
  .hero-target{grid-template-columns:1fr}
  .ht-side{grid-template-columns:1fr 1fr}
  .revenue-card .rev-grid{grid-template-columns:repeat(2,1fr)}
  .stats-4{grid-template-columns:repeat(2,1fr)}
  .timer-card{grid-template-columns:1fr}
  .kv-3{grid-template-columns:auto 1fr auto 1fr}
  .leave-card{grid-template-columns:1fr}
}
@media (max-width:900px){
  .side{transform:translateX(-100%);box-shadow:var(--shadow)}
  body.side-open .side{transform:none}
  body.side-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:35}
  .main{margin-left:0}
  .top .menu-btn{display:inline-grid}
  .top{padding:0 16px}
  .content{padding:20px 16px 90px}
  .file-cols{grid-template-columns:1fr}
  .target-cards{grid-template-columns:1fr}

  /* tables collapse into cards */
  .tbl-cards thead{display:none}
  .tbl-cards,.tbl-cards tbody,.tbl-cards tr,.tbl-cards td{display:block;width:100%}
  .tbl-cards tr{padding:12px 16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
  .tbl-cards tbody tr:last-child{border-bottom:0}
  .tbl-cards td{padding:0!important;border:0;text-align:left!important;font-size:13px;min-width:0}
  .tbl-cards td:first-child{grid-column:1 / -1;font-size:14px}
  .tbl-cards td[data-l]:not(:first-child)::before{content:attr(data-l);display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
  .tbl-cards td.acts{grid-column:1 / -1;justify-content:flex-start;display:flex}
  .tbl-cards td[colspan]{grid-column:1 / -1}
  .tbl-cards tr.sla-over,.tbl-cards tr.sla-urgent{box-shadow:inset 3px 0 0 var(--red)}
  .tbl-cards tr.sla-risk{box-shadow:inset 3px 0 0 var(--amber)}
  .tbl tr td:first-child{box-shadow:none!important}
  .kanban{grid-auto-columns:minmax(250px,82vw)}
  .kmove{display:block}
  .kcard{cursor:default}
}
@media (max-width:640px){
  .stats-3,.stats-4{grid-template-columns:1fr 1fr}
  .stat-v{font-size:22px}
  .form .fgrid,.form.narrow .fgrid,.add-block .form .fgrid{grid-template-columns:1fr}
  .page-head h1{font-size:24px}
  .page-actions{width:100%}
  .page-actions .btn{flex:1}
  .hide-sm{display:none!important}
  .ht-nums{gap:18px}
  .ht-side{grid-template-columns:1fr}
  .kv-2,.kv-3{grid-template-columns:auto 1fr}
  .quick .qa-btn{min-width:calc(50% - 5px)}
  .filters .search-in{max-width:none;flex-basis:100%}
  .filters select,.filters input[type=date],.filters input[type=month]{flex:1;min-width:calc(50% - 4px)}
  .extra-row{grid-template-columns:1fr 100px 36px}
  .moods,.mood-agg{grid-template-columns:1fr 1fr}
  .cal{gap:3px}
  .cal-d{min-height:70px;padding:4px}
  .cal-p{font-size:9.5px;padding:1px 3px}
  .cal-dn{font-size:9px;letter-spacing:.04em}
  .thin-tag{display:none}
  .quote-doc{padding:26px 20px}
  .qd-meta h2{text-align:left}
  .qd-meta dl{justify-content:start}
  .timer-card{padding:20px}
  .water{flex-wrap:wrap}
  .water-a{width:100%;justify-content:stretch}
  .water-a .btn{flex:1}
  .pay-sum{grid-template-columns:1fr 1fr 1fr}
  .top .gsearch input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ==========================================================================
   Print (quotations)
   ========================================================================== */
@media print{
  body{background:#fff}
  .side,.top,.page-head,.status-bar,.no-print,.flash,.water,.toast,.scrim{display:none!important}
  .main{margin:0}
  .content{padding:0;max-width:none}
  .quote-doc{box-shadow:none;border-radius:0;max-width:none;padding:0}
}

/* Video-count targets */
.videos-big{display:flex;align-items:baseline;gap:8px;font-family:'Outfit',sans-serif}
.videos-big b{font-size:34px;font-weight:700;line-height:1}
.videos-big span{color:var(--muted);font-size:14px}
.tier-mini{list-style:none;display:flex;flex-direction:column;gap:4px;margin:4px 0 2px}
.tier-mini li{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted);padding:3px 0;border-bottom:1px solid var(--line)}
.tier-mini li:last-child{border-bottom:0}
.tier-mini li b{color:var(--text);font-variant-numeric:tabular-nums}
.tier-mini li.hit b{color:var(--green)}
.period-pane{margin-top:4px}
.tbl-inputs input[data-tier]{width:70px;text-align:center;padding:0 6px}

/* Voice notes */
.voices{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.voice-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}
.vr-main{min-width:150px;flex:1}
.vr-main b{display:block;font-size:13px;font-weight:500}
.voice-row audio{height:36px;flex:2;min-width:220px}
.recorder{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border-radius:12px;border:1px dashed var(--line-2)}
.recorder .btn-danger i,[data-rec-stop]{animation:pulse 1.4s infinite}
.rec-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.rec-preview audio{height:36px;flex:1;min-width:220px}
.recorder p{width:100%;margin:0}
.script-block,.instructions-block{background:var(--bg-2);border:1px solid var(--line);border-left:2px solid var(--orange);border-radius:10px;padding:14px 16px}
.ht-videos{position:relative;margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.ht-videos > b{color:var(--text);font-family:'Outfit',sans-serif;font-size:16px}
.tier-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);font-size:12px}
.tier-chip b{color:var(--text)}
.tier-chip.hit{border-color:rgba(95,211,154,.4);color:var(--green)}
.tier-chip.hit b{color:var(--green)}

/* ---------- Editor: today's progress ---------- */
.today-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px 26px;border-radius:18px;margin-bottom:16px;background:#120b07;border:1px solid rgba(242,118,46,.3);position:relative;overflow:hidden}
.today-card::after{content:"";position:absolute;width:420px;height:420px;right:-150px;top:-230px;border-radius:50%;background:radial-gradient(circle,rgba(242,118,46,.3),transparent 65%);pointer-events:none}
.tc-left{position:relative;z-index:1;min-width:0}
.today-count{display:flex;align-items:baseline;gap:10px;margin:10px 0 14px;font-family:'Outfit',sans-serif}
.today-count b{font-size:clamp(40px,7vw,64px);font-weight:700;line-height:1}
.today-count span{color:var(--muted);font-size:16px}
.today-msg{margin-top:12px;font-size:14px;color:var(--muted)}
.today-msg b{color:var(--text)}
.tc-right{position:relative;z-index:1}
.score-badge{text-align:center;padding:18px 22px;border-radius:16px;background:rgba(0,0,0,.35);border:1px solid var(--line-2);min-width:150px}
.score-badge b{display:block;font-family:'Outfit',sans-serif;font-size:40px;font-weight:700;line-height:1.1;margin:6px 0 4px}
.stars{display:flex;justify-content:center;gap:3px;margin-bottom:6px}
.star .ic{width:16px;height:16px;color:var(--line-3);fill:none}
.star.on .ic{color:var(--orange);fill:var(--orange)}
.tone-amber::before{background:var(--amber)} .tone-amber .stat-v{color:var(--amber)}
.stat .progress{margin-top:6px}

/* ---------- Manager: team capacity ---------- */
.capacity-list{display:flex;flex-direction:column;gap:8px}
.cap-row{display:grid;grid-template-columns:minmax(120px,1.3fr) 1fr auto auto;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2)}
.cap-row .who b{display:block;font-size:14px}
.cap-bar{height:10px;border-radius:6px;background:rgba(var(--tint),.06);overflow:hidden;position:relative}
.cap-bar i{display:block;height:100%;border-radius:6px;background:var(--grad)}
.cap-bar.over i{background:linear-gradient(90deg,#ff7063,#ff3b2d)}
.cap-num{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);white-space:nowrap}
.cap-state{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap}
.cap-state i{width:9px;height:9px;border-radius:50%}
.st-open i{background:var(--green)} .st-open{color:var(--green)}
.st-almost i{background:var(--green)} .st-almost{color:var(--muted)}
.st-full i{background:var(--yellow)} .st-full{color:var(--yellow)}
.st-over i{background:var(--red)} .st-over{color:var(--red)}
.st-leave i{background:var(--grey)} .st-leave{color:var(--grey)}
@media (max-width:760px){
  .today-card{grid-template-columns:1fr}
  .cap-row{grid-template-columns:1fr 1fr;gap:8px}
  .cap-row .cap-bar{grid-column:1 / -1}
}
.team-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:24px;align-items:center}
.tg-nums{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-family:'Outfit',sans-serif}
.tg-nums b{font-size:38px;font-weight:700;line-height:1}
.tg-nums span{color:var(--muted);font-size:14px}
.tg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tg-stats dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
.tg-stats dd{font-family:'Outfit',sans-serif;font-size:22px;font-weight:700}
.c-amber{color:var(--amber)}
@media (max-width:900px){.team-grid{grid-template-columns:1fr}.tg-stats{grid-template-columns:repeat(3,1fr)}}
.sales-today .team-grid{align-items:center}
.mini-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.mini-bars > div{display:flex;flex-direction:column;gap:5px}
.mini-bars span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.mini-bars b{font-family:'Outfit',sans-serif;font-size:18px}
@media (max-width:760px){.mini-bars{grid-template-columns:1fr}}

/* ---------- Payslip ---------- */
.payslip{background:#fbfaf7;color:#1a1714;border-radius:16px;padding:38px 42px;max-width:820px;box-shadow:var(--shadow)}
.payslip .wordmark{color:#111}
.payslip .dim{color:#7a736b}
.ps-head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:22px;border-bottom:2px solid #111}
.ps-sub{font-family:'Outfit',sans-serif;letter-spacing:.5em;font-size:10px;margin-top:6px}
.ps-meta h2{font-family:'Outfit',sans-serif;font-size:22px;letter-spacing:.1em;color:#D9481A;text-align:right}
.ps-meta dl{display:grid;grid-template-columns:auto auto;gap:3px 14px;margin-top:8px;font-size:12.5px;justify-content:end}
.ps-meta dt{color:#7a736b;text-align:right}
.ps-to{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:22px 0}
.ps-to small,.ps-bank small{font-family:'Outfit',sans-serif;letter-spacing:.24em;font-size:10px;color:#7a736b;display:block;margin-bottom:4px}
.ps-to b{font-family:'Outfit',sans-serif;font-size:19px;display:block}
.ps-to span{display:block;font-size:13px}
.ps-bank{text-align:right}
.ps-lines{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}
.ps-lines th{text-align:left;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7a736b;padding:10px 0;border-bottom:1px solid #d9d4cc}
.ps-lines td{padding:11px 0;border-bottom:1px solid #ebe7e0;vertical-align:top}
.ps-lines .r{text-align:right;white-space:nowrap;padding-left:18px}
.ps-lines .k-info td{color:#7a736b}
.ps-lines .k-deduction td:last-child{color:#b3271a}
.ps-lines .k-incentive td:last-child{color:#1f7a3f}
.ps-lines tfoot .grand td{border-bottom:0;border-top:2px solid #111;padding-top:12px;font-family:'Outfit',sans-serif;font-size:20px;font-weight:700}
.ps-note{margin-top:14px;font-size:12px;color:#7a736b}
.ps-foot{margin-top:26px;padding-top:14px;border-top:1px solid #d9d4cc;font-size:11.5px;color:#7a736b}
@media print{
  .side,.top,.page-head,.no-print,.flash,.water,.toast,.scrim{display:none!important}
  .main{margin:0}.content{padding:0;max-width:none}
  .payslip{box-shadow:none;border-radius:0;max-width:none;padding:0}
}

/* ---------- Script panel (editor workspace) ---------- */
.script-panel{position:sticky;top:76px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}
.script-panel .card-h{margin-bottom:8px}
.script-body{white-space:pre-wrap;font-size:14.5px;line-height:1.75;overflow:auto;padding:14px 16px;border-radius:12px;
  background:var(--surface-2,rgba(var(--tint),.04));border:1px solid var(--line);flex:1;min-height:0}
.script-body.instructions-block{border-left:3px solid var(--accent)}
.script-panel .subhead{margin:14px 0 6px}
[data-copy].ok{color:var(--green)}
.logo-card{text-align:center}
.logo-img{max-width:100%;max-height:120px;border-radius:10px;background:#fff;padding:10px;margin:4px 0 8px}

/* ---------- Smart assignment ---------- */
.assign-pick{display:flex;flex-direction:column;gap:8px}
.assign-opt{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
.assign-opt:hover{border-color:var(--accent)}
.assign-opt.on,.assign-opt:has(input:checked){border-color:var(--accent);background:rgba(217,72,26,.07)}
.assign-opt input{margin:0;flex:none}
.ao-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ao-main b{font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ao-state{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.assign-opt.s-open .ao-state{color:var(--green)}
.assign-opt.s-almost .ao-state{color:var(--amber)}
.assign-opt.s-full .ao-state,.assign-opt.s-over .ao-state,.assign-opt.s-leave .ao-state{color:var(--red)}
.cap-bar{display:block;height:4px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:2px}
.cap-bar i{display:block;height:100%;background:var(--green);border-radius:99px}
.assign-opt.s-almost .cap-bar i{background:var(--amber)}
.assign-opt.s-full .cap-bar i,.assign-opt.s-over .cap-bar i{background:var(--red)}

/* ---------- Rating ---------- */
.rate-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0}
.rate-form .stars{display:inline-flex;flex-direction:row-reverse}
.rate-form .stars input{position:absolute;opacity:0;width:0;height:0}
.rate-form .stars label{cursor:pointer;color:var(--line);padding:1px;line-height:0}
.rate-form .stars label .ic{width:19px;height:19px}
.rate-form .stars input:checked ~ label,.rate-form .stars label:hover,.rate-form .stars label:hover ~ label{color:var(--amber)}
.rate-form .stars input:checked + label .ic,.rate-form .stars label:hover .ic{fill:currentColor}
.rate-form .stars input:focus-visible + label{outline:2px solid var(--accent);border-radius:4px}

/* ---------- Project chat ---------- */
.chat-card .thread{max-height:440px;overflow:auto;padding-right:4px}
.msg-audio{width:100%;max-width:320px;margin-top:6px;height:36px}
.msg-img{max-width:240px;border-radius:10px;margin-top:6px;display:block}
.msg-file{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}
.msg-file:hover{border-color:var(--accent)}
.msg-file small{margin-left:2px}
.chat-form{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.chat-form textarea{width:100%;resize:vertical}
.chat-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.chat-row .check{margin:0}
.chat-row .btn{margin-left:auto}
.chat-names{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-form .recorder{margin-top:8px}
.chat-form .rec-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap}


/* ---------- Upload progress ---------- */
.up-panel{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}
.up-box{background:#17171b;color:#f3f3f5;border:2px solid #2f9bff;border-radius:18px;padding:28px 26px 24px;width:min(420px,92vw);text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 0 6px rgba(47,155,255,.18)}
:root[data-theme="light"] .up-box{background:#fff;color:#14141a}
.up-panel.saving .up-box{border-color:#22c58c;box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 0 6px rgba(34,197,140,.2)}
.up-title{display:block;font-family:'Outfit',sans-serif;font-size:18px;margin-bottom:4px}
.up-pct{font:700 44px/1.1 'Outfit',sans-serif;color:#2f9bff;margin:6px 0}
.up-panel.saving .up-pct{color:#22c58c}
.up-box .up-msg{color:inherit;opacity:.8}
.up-bar{height:14px;border-radius:99px;background:rgba(127,127,140,.28);overflow:hidden;margin:14px 0}
.up-bar i{display:block;height:100%;width:0;border-radius:99px;transition:width .25s;background:linear-gradient(90deg,#2f9bff,#22c58c);background-size:200% 100%;position:relative;overflow:hidden}
.up-bar i::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,rgba(255,255,255,.28) 0 10px,transparent 10px 20px);animation:upStripe 1s linear infinite}
@keyframes upStripe{to{background-position:28px 0}}
.up-panel.saving .up-bar i{background:#22c58c}
button.up-busy,.btn.up-busy{background:#2f9bff!important;border-color:#2f9bff!important;color:#fff!important;opacity:1!important;display:inline-flex;align-items:center;gap:8px;box-shadow:0 0 0 4px rgba(47,155,255,.28)}
.up-spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:upSpin .7s linear infinite;flex:none}
@keyframes upSpin{to{transform:rotate(360deg)}}

/* ---------- Lead assessment ---------- */
.assess-intro h2{font:600 19px 'Outfit',sans-serif;margin-bottom:8px}
.assess-intro p{max-width:70ch;line-height:1.6;margin-top:8px}
.assess-form{display:flex;flex-direction:column;gap:14px;margin-top:14px;max-width:820px}
.q-card{padding:18px 20px}
.q-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.q-h h3{font:600 16px/1.35 'Outfit',sans-serif}
.q-n{flex:none;width:26px;height:26px;border-radius:8px;background:var(--accent-soft,rgba(242,118,46,.14));color:var(--accent,#F2762E);display:grid;place-items:center;font:600 13px 'Outfit',sans-serif}
.q-field{margin-top:10px}
.q-l{display:block;font-size:12.5px;color:var(--dim,#9a9a9a);margin-bottom:6px;font-weight:500}
.q-field textarea,.q-field input[type=text],.q-field input:not([type]){width:100%}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:inline-block;padding:8px 14px;border:1px solid var(--line,#2a2a2a);border-radius:10px;font-size:13.5px;transition:.12s}
.choice:hover span{border-color:var(--dim,#888)}
.choice input:checked + span{border-color:var(--accent,#F2762E);background:var(--accent-soft,rgba(242,118,46,.14));font-weight:600}
.choice input:focus-visible + span{outline:2px solid var(--accent,#F2762E);outline-offset:2px}

.snap-form{display:flex;flex-direction:column;gap:12px;max-width:440px}
.snap-rows{display:flex;flex-direction:column;gap:8px}
.snap-row{display:grid;grid-template-columns:1fr 110px;gap:8px}
.snap-conv{align-items:center;margin-top:6px;padding-top:10px;border-top:1px solid var(--line,#2a2a2a);font-weight:600}
.plain{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}

.funnel,.fn-wrap{display:flex;flex-direction:column;gap:7px}
.fn-r{display:grid;grid-template-columns:150px 1fr 42px 44px;gap:10px;align-items:center;font-size:13px;padding:2px 0}
.fn-b{height:10px;border-radius:99px;background:var(--line,#2a2a2a);overflow:hidden}
.fn-b i{display:block;height:100%;border-radius:99px;background:var(--accent,#F2762E)}
.fn-r b{text-align:right}.fn-p{text-align:right;font-size:12px}
.dist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:6px}
.dist h4{font:600 13.5px 'Outfit',sans-serif;margin-bottom:8px}
.dist-r{display:grid;grid-template-columns:1fr 90px 26px;gap:10px;align-items:center;font-size:12.5px;padding:3px 0}
.dist-o{overflow:hidden;text-overflow:ellipsis}
.dist-b{height:8px;border-radius:99px;background:var(--line,#2a2a2a);overflow:hidden}.dist-b i{display:block;height:100%;background:var(--accent,#F2762E)}
.quote{padding:10px 0;border-top:1px solid var(--line,#2a2a2a)}.quote:first-of-type{border-top:0}
.quote p{line-height:1.55}.quote small{display:block;margin-top:4px}
.qa{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:10px 22px;font-size:13.5px}
.qa dt{color:var(--dim,#9a9a9a)}.qa dd{margin:0}
@media (max-width:700px){.fn-r{grid-template-columns:110px 1fr 36px 38px}.qa{grid-template-columns:1fr}.dist-r{grid-template-columns:1fr 70px 24px}}


/* ======================================================================
   Light theme (the default stays dark). Chosen with the sun/moon button.
   ====================================================================== */
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f2f0ec; --bg-2:#f9f8f5; --panel:#ffffff; --panel-2:#f6f4f0; --panel-3:#ece9e3;
  --line:rgba(30,24,16,.10); --line-2:rgba(30,24,16,.18); --line-3:rgba(30,24,16,.32);
  --text:#1b1713; --muted:#615a51; --dim:#8a8379;
  --orange:#d9561a; --orange-2:#e8661f; --orange-soft:rgba(217,86,26,.10);
  --green:#11835a; --red:#c4352a; --blue:#2467c4; --yellow:#9a6a00; --amber:#b25f00; --violet:#6847cf; --cyan:#0e7a8b; --grey:#6c675f;
  --shadow:0 18px 50px -26px rgba(40,28,10,.35);
  --tint:30,24,16;
}
:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="light"] ::selection{color:#fff}
:root[data-theme="light"] code{background:rgba(30,24,16,.07)}
:root[data-theme="light"] .card-alert{background:#fff2e8}
:root[data-theme="light"] .t-over{background:#fde7e4;color:#8f1d12}
:root[data-theme="light"] .tc-msg{color:#a3271b}
:root[data-theme="light"] .flash-ok{color:#0d6b47}
:root[data-theme="light"] .flash-error{color:#a3271b}
:root[data-theme="light"] .flash-info{color:#1c4f9c}
:root[data-theme="light"] input:focus,:root[data-theme="light"] select:focus,:root[data-theme="light"] textarea:focus{background:#fff}
:root[data-theme="light"] input::placeholder,:root[data-theme="light"] textarea::placeholder{color:#a39c91}
:root[data-theme="light"] select option{background:#fff;color:#1b1713}
:root[data-theme="light"] .prose{color:#2b2620}
:root[data-theme="light"] .nudge{color:#4a35a8}
:root[data-theme="light"] .alert-strip{color:#a3271b}
:root[data-theme="light"] .ht-main{background:#fff4ec}
:root[data-theme="light"] .btn-wa{color:#0d6b47}
:root[data-theme="light"] .tab.on{color:#fff}
:root[data-theme="light"] .tab.on b{background:rgba(255,255,255,.22);color:#fff}
:root[data-theme="light"] .msg.mine{background:#fff4ec}
:root[data-theme="light"] .cal-p.r-sales{color:#8a3d00}
:root[data-theme="light"] .wordmark{color:var(--text)}
:root[data-theme="light"] .toast,:root[data-theme="light"] .water{box-shadow:var(--shadow)}

.theme-btn .ic-moon{display:none}
:root[data-theme="light"] .theme-btn .ic-sun{display:none}
:root[data-theme="light"] .theme-btn .ic-moon{display:inline-block}

/* ---------- Phase 1: paused editors, rejected work, clearer files ---------- */
.assign-opt.s-paused{opacity:.55;cursor:not-allowed}
.assign-opt.s-paused .ao-state{color:var(--red)}
.assign-opt.s-paused:hover{border-color:var(--line)}
.reject-card{margin-bottom:14px}
.reject-block{margin-top:14px}
.reject-block .form{margin-top:12px;max-width:560px}
.file-cols{align-items:start}
.file-col{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg-2);min-width:0}
.file-col.from-team{border-top:3px solid var(--blue)}
.file-col.from-editor{border-top:3px solid var(--orange)}
.file-col .col-head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.file-col .col-head b{font:600 14px 'Outfit',sans-serif}
.role-chip{display:inline-block;padding:0 7px;border-radius:99px;font-size:10.5px;font-weight:600;line-height:17px;border:1px solid var(--line-2);color:var(--muted);vertical-align:1px}
.role-chip.r-editor{color:var(--orange);border-color:rgba(242,118,46,.4)}
.role-chip.r-admin,.role-chip.r-manager{color:var(--blue);border-color:rgba(124,180,255,.4)}
.role-chip.r-sales{color:var(--green);border-color:rgba(95,211,154,.4)}
@media (max-width:820px){.file-cols{grid-template-columns:1fr}}
:root[data-theme="light"] .top{background:rgba(242,240,236,.88)}
:root[data-theme="light"] .side,:root[data-theme="light"] .sidebar{background:var(--panel)}
.form > .form-h:not(:first-child),.card.form .form-h{margin-top:22px}


/* ---------- Script box: no overlay, collapsed by default when long, click to expand ---------- */
.script-panel{position:static;top:auto;max-height:none;display:block}
.script-panel .card-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.script-tools{display:flex;align-items:center;gap:6px}
.script-body{max-height:none;overflow:visible;flex:none}
.script-panel.collapsed .script-body{max-height:220px;overflow:hidden;position:relative;cursor:pointer}
.script-panel.collapsed .script-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(to bottom,transparent,var(--panel));pointer-events:none}
.script-panel.collapsed.expanded .script-body{max-height:68vh;overflow:auto;cursor:default}
.script-panel.collapsed.expanded .script-body::after{display:none}
.script-more{display:block;width:100%;margin-top:8px;padding:8px;border-radius:10px;border:1px dashed var(--line-2);color:var(--orange);font-weight:600;font-size:13px}
.script-more:hover{background:var(--orange-soft)}
.sx-close{display:none}
.script-panel.expanded .sx-open{display:none}
.script-panel.expanded .sx-close{display:inline-flex;align-items:center;gap:4px}
.sx-open{display:inline-flex;align-items:center;gap:4px}
.sx-close .ic{transform:rotate(180deg)}

/* ---------- Editor versions, in the order they were sent ---------- */
.vlist{list-style:none;display:flex;flex-direction:column}
.vrow{position:relative;display:flex;align-items:flex-start;gap:12px;padding:8px 0 16px}
.vrow:not(:last-child)::before{content:"";position:absolute;left:19px;top:52px;bottom:-2px;width:2px;background:var(--line-2)}
.v-badge{flex:none;min-width:40px;height:40px;padding:0 4px;border-radius:12px;display:grid;place-items:center;font:700 13px 'Outfit',sans-serif;background:var(--orange-soft);color:var(--orange);border:1px solid rgba(242,118,46,.35)}
.v-rev .v-badge{background:rgba(255,169,77,.12);color:var(--amber);border-color:rgba(255,169,77,.35)}
.v-final .v-badge{background:rgba(95,211,154,.12);color:var(--green);border-color:rgba(95,211,154,.4);font-size:11px}
.v-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.v-main b{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v-name{font-size:13px;word-break:break-all}.v-name:hover{color:var(--orange)}
.v-latest{font-size:10.5px;line-height:17px;padding:0 8px;border-radius:99px;background:var(--orange);color:#fff;font-weight:700;letter-spacing:.02em}
.vrow.latest .v-badge{box-shadow:0 0 0 3px var(--orange-soft)}

/* ---------- Job offers ---------- */
.offers-card{margin-bottom:14px;border-color:rgba(242,118,46,.5);background:var(--orange-soft)}
.offer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.offer-main{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.offer-clock{font:700 18px 'Outfit',sans-serif;font-variant-numeric:tabular-nums;color:var(--orange);white-space:nowrap}
.offer-clock.big{font-size:30px;margin:6px 0}
.offer-opt .ao-state{color:var(--green)}

/* ---------- Closing window after submission ---------- */
.window-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px;border-color:rgba(124,180,255,.4)}
.window-card.soon{border-color:rgba(255,169,77,.55)}
.window-card.lapsed{border-color:rgba(255,112,99,.6);background:rgba(255,112,99,.07)}
.win-main{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px}
.win-t{font:600 16px 'Outfit',sans-serif}
.win-clock{font:700 26px 'Outfit',sans-serif;font-variant-numeric:tabular-nums}
.window-card.lapsed .win-clock{color:var(--red)}
.win-act{display:flex;gap:8px;flex-wrap:wrap}

/* ======================================================================
   Step-by-step project forms
   ====================================================================== */
.wizard{padding:26px}
.wizard.is-live .wiz-step{display:none}
.wizard.is-live .wiz-step.is-active{display:block}
.wiz-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:1100px){.wizard .wiz-layout{grid-template-columns:minmax(0,1fr) 270px}}
.wiz-h{font:600 22px/1.25 'Outfit',sans-serif;margin:2px 0 4px}
.wiz-sub{color:var(--muted);margin:0 0 18px;max-width:60ch}
.wiz-step + .wiz-step{margin-top:30px}
.wizard.is-live .wiz-step + .wiz-step{margin-top:0}
.wiz-step .field.wide{grid-column:1 / -1}
.wiz-step .field > label{display:block}
.wiz-step .pick-group,.wiz-step .chips-radio,.wiz-step .drop{margin-top:6px}
.wiz-step .field.wide + .field.wide{margin-top:18px}
.wiz-err{background:rgba(255,112,99,.1);border:1px solid rgba(255,112,99,.35);color:var(--red);border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:13.5px}
.field.invalid input,.field.invalid select,.field.invalid textarea,input.invalid{border-color:var(--red)!important}
.wiz-step.shake{animation:wizShake .36s}
@keyframes wizShake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}

/* transitions */
.wiz-step.entering-fwd{animation:wizInF .3s cubic-bezier(.2,.7,.1,1) both}
.wiz-step.entering-back{animation:wizInB .3s cubic-bezier(.2,.7,.1,1) both}
.wiz-step.leaving-fwd{animation:wizOutF .15s ease-in both}
.wiz-step.leaving-back{animation:wizOutB .15s ease-in both}
@keyframes wizInF{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes wizInB{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes wizOutF{to{opacity:0;transform:translateX(-22px)}}
@keyframes wizOutB{to{opacity:0;transform:translateX(22px)}}

/* progress */
.wiz-progress{list-style:none;display:flex;gap:0;margin:0 0 26px;padding:0;position:relative}
.wiz-progress li{flex:1;position:relative;min-width:0}
.wiz-progress li::before{content:"";position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--line-2);border-radius:2px}
.wiz-progress li::after{content:"";position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--orange);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.1,1)}
.wiz-progress li.done::after{transform:scaleX(1)}
.wiz-progress li:last-child::before,.wiz-progress li:last-child::after{display:none}
.wp-b{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 2px;cursor:default}
.wiz-progress li.reachable .wp-b{cursor:pointer}
.wp-n{width:32px;height:32px;border-radius:50%;border:2px solid var(--line-3);display:grid;place-items:center;font:600 13px 'Outfit',sans-serif;color:var(--muted);background:var(--panel);transition:all .25s;position:relative;z-index:1}
.wp-n .ic{width:15px;height:15px}
.wp-t{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:color .2s}
.wiz-progress li.active .wp-n{border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:0 0 0 5px var(--orange-soft);transform:scale(1.06)}
.wiz-progress li.active .wp-t{color:var(--text);font-weight:600}
.wiz-progress li.done:not(.active) .wp-n{border-color:var(--orange);color:var(--orange);background:var(--orange-soft)}
.wiz-progress li.reachable:not(.active) .wp-b:hover .wp-n{transform:scale(1.08)}
@media (max-width:640px){.wizard{padding:18px}.wp-t{display:none}.wiz-progress li.active .wp-t{display:block;position:absolute;top:38px;left:50%;transform:translateX(-50%)}.wiz-progress{margin-bottom:40px}}

/* footer */
.wiz-foot{display:flex;align-items:center;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.wiz-foot .grow{flex:1}
.wizard:not(.is-live) [data-wiz-back],.wizard:not(.is-live) [data-wiz-next]{display:none}
.btn.busy{opacity:.7;pointer-events:none}

/* review */
.rv-list{display:grid;gap:14px}
.rv-card{border:1px solid var(--line);border-radius:14px;padding:6px 16px 10px;background:var(--bg-2)}
.rv-h{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);margin-bottom:4px}
.rv-h b{font:600 14px 'Outfit',sans-serif}
.rv-edit{display:inline-flex;align-items:center;gap:5px;color:var(--orange);font-size:13px;font-weight:600}
.rv-edit .ic{width:14px;height:14px}
.rv-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:6px 0;font-size:13.5px}
.rv-row > span:first-child{color:var(--muted)}
.rv-row > span:last-child{word-break:break-word}
.rv-empty{color:var(--dim)}
@media (max-width:560px){.rv-row{grid-template-columns:1fr;gap:0}}

/* draft banner */
.draft-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:20px;border:1px solid var(--orange);background:var(--orange-soft);border-radius:12px;font-size:13.5px}
.draft-bar span{flex:1;min-width:200px}

/* orientation + type cards */
.pick-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.pick{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 14px 14px;border:1.5px solid var(--line-2);border-radius:16px;cursor:pointer;text-align:center;background:var(--bg-2);transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}
.pick:hover{transform:translateY(-2px);border-color:var(--line-3)}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick b{font:600 15px 'Outfit',sans-serif}
.pick small{color:var(--muted);font-size:12px;line-height:1.35}
.pick.on{border-color:var(--orange);background:var(--orange-soft);box-shadow:0 8px 22px -14px var(--orange)}
.pick.on::after{content:"";position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;animation:pickPop .25s cubic-bezier(.2,.9,.3,1.4)}
@keyframes pickPop{from{transform:scale(0)}to{transform:scale(1)}}
.pick:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:3px}
.pick-art{height:76px;display:grid;place-items:center;color:var(--muted);transition:color .2s}
.pick.on .pick-art{color:var(--orange)}
.pick-type .pick-art .ic{width:30px;height:30px}
.frame{display:block;border:2.5px solid currentColor;border-radius:7px;background:linear-gradient(135deg,rgba(var(--tint),.10),transparent 60%);transition:width .35s cubic-bezier(.2,.7,.1,1),height .35s cubic-bezier(.2,.7,.1,1)}
.frame.portrait{width:36px;height:64px}
.frame.landscape{width:70px;height:40px}
.pick.on .frame{animation:framePop .4s cubic-bezier(.2,.9,.3,1.3)}
@keyframes framePop{0%{transform:scale(.85)}100%{transform:scale(1)}}

/* delivery chips */
.chips-radio{display:flex;flex-wrap:wrap;gap:8px}
.chip-r{position:relative;cursor:pointer}
.chip-r input{position:absolute;opacity:0;pointer-events:none}
.chip-r span{display:inline-block;padding:8px 15px;border:1.5px solid var(--line-2);border-radius:99px;font-size:13.5px;font-weight:500;background:var(--bg-2);transition:all .16s}
.chip-r:hover span{border-color:var(--line-3);transform:translateY(-1px)}
.chip-r.on span{border-color:var(--orange);background:var(--orange);color:#fff;font-weight:600}
.chip-r input:focus-visible + span{outline:2px solid var(--orange);outline-offset:2px}

/* upload zones */
.drop{position:relative;border:1.5px dashed var(--line-3);border-radius:14px;background:var(--bg-2);transition:border-color .18s,background .18s}
.drop > input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.drop-ui{display:flex;align-items:center;gap:14px;padding:18px 20px;color:var(--muted)}
.drop-ui .ic{width:26px;height:26px;color:var(--orange)}
.drop-ui b{display:block;color:var(--text);font-weight:600}
.drop-ui span{font-size:12.5px}
.drop.over{border-color:var(--orange);background:var(--orange-soft)}
.drop.has-files .drop-ui{padding:12px 20px}
.drop-list{position:relative;z-index:3;display:grid;gap:8px;padding:0 14px}
.drop.has-files .drop-list{padding-bottom:14px}
.drop-item{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 8px 6px 6px;animation:wizInF .22s both}
.drop-thumb{width:38px;height:38px;border-radius:8px;overflow:hidden;background:var(--panel-3);display:grid;place-items:center;font:700 10px 'Outfit',sans-serif;color:var(--muted);flex:none}
.drop-thumb img{width:100%;height:100%;object-fit:cover}
.drop-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.drop-item small{color:var(--dim)}
.drop-x{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--muted)}
.drop-x:hover{background:var(--red);color:#fff}
.drop-x .ic{width:14px;height:14px}

/* script meter */
.script-meter{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.script-meter .sm-text{flex:1;min-width:200px}

/* live preview */
.wiz-preview{display:none}
@media (min-width:1100px){.wizard.is-live .wiz-preview{display:block;position:sticky;top:84px;align-self:start}}
.pv-card{border:1px solid var(--line-2);border-radius:18px;padding:18px;background:var(--bg-2)}
.pv-art{height:110px;display:grid;place-items:center;color:var(--orange);background:radial-gradient(circle at 50% 40%,var(--orange-soft),transparent 70%);border-radius:12px;margin-bottom:14px}
.pv-lines{display:grid;gap:5px;font-size:13px;color:var(--muted)}
.pv-lines b{color:var(--text);font:600 16px 'Outfit',sans-serif;word-break:break-word}
.pv-note{margin-top:10px;text-align:center}
@media (prefers-reduced-motion:reduce){.wiz-step,.pick,.chip-r span,.frame,.wiz-progress li::after,.wp-n,.drop-item{animation:none!important;transition:none!important}}

.wiz-step .field.wide + .fgrid,.wiz-step .chips-radio + .hint + .fgrid{margin-top:20px}
.wiz-step > .fgrid{margin-top:4px}
.wiz-step .field.wide > .hint{display:block;margin-top:8px}

/* original (no watermark) request box */
.orig-box{border-color:rgba(34,197,140,.55);background:linear-gradient(180deg,rgba(34,197,140,.10),rgba(34,197,140,.03))}
.orig-box .card-h h2{display:flex;align-items:center;gap:8px;color:#22c58c}
.orig-box .card-h .ic{width:18px;height:18px}
.orig-req{border:1px solid rgba(34,197,140,.45);background:rgba(34,197,140,.12);border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:13.5px}
.orig-a{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.orig-a input[type=text]{flex:1;min-width:200px}
:root[data-theme="light"] .orig-box .card-h h2{color:#0f8a5f}
.orig-lock{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13.5px;margin:6px 0 0}.orig-lock .ic{width:16px;height:16px}

/* video library */
.lib-up{margin-bottom:18px}
.lib-up .card-h h2{display:flex;align-items:center;gap:8px}
.lib-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.3fr) auto;gap:14px;align-items:end;padding:4px 0 2px}
.lib-form .btn{height:42px}
@media (max-width:900px){.lib-form{grid-template-columns:1fr 1fr}.lib-form .lib-file,.lib-form .btn{grid-column:1 / -1}}
@media (max-width:560px){.lib-form{grid-template-columns:1fr}}
.lib-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 18px}
.lib-search{position:relative;flex:0 1 340px;min-width:220px}
.lib-search .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.lib-search input{width:100%;padding-left:36px}
.lib-chips{display:flex;gap:8px;flex-wrap:wrap}
.lib-chip{padding:7px 14px;border:1.5px solid var(--line-2);border-radius:99px;font-size:13px;font-weight:500;color:var(--text);background:var(--bg-2);transition:all .16s}
.lib-chip b{color:var(--muted);font-weight:600;margin-left:4px}
.lib-chip:hover{border-color:var(--line-3);transform:translateY(-1px)}
.lib-chip.on{background:var(--orange);border-color:var(--orange);color:#fff}
.lib-chip.on b{color:rgba(255,255,255,.8)}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.lib-card{border:1px solid var(--line-2);border-radius:16px;background:var(--panel);overflow:hidden;display:flex;flex-direction:column}
.lib-video{width:100%;aspect-ratio:9/12;max-height:360px;background:#000;object-fit:contain;display:block}
.lib-meta{padding:12px 14px 4px;display:grid;gap:8px}
.lib-meta b{font:600 15px/1.3 'Outfit',sans-serif;word-break:break-word}
.lib-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lib-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 14px 14px;margin-top:auto}
.lib-edit{position:relative}
.lib-edit summary{list-style:none;cursor:pointer}
.lib-edit summary::-webkit-details-marker{display:none}
.lib-eform{display:grid;gap:8px;margin-top:8px;min-width:220px}
