@font-face{font-family:"Circular PRTCL";src:url(fonts/circular-prtcl-book.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter Display";src:url(fonts/inter-display-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter Display";src:url(fonts/inter-display-semibold.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --ink:#0A0C10; --slate:#4A5568; --mute:#6E7A8C;
  --ash:#EEEFF5; --ash-2:#E4E7EF; --ash-3:#D5DAE5;
  --white:#fff;
  --copper:#B87333; --copper-ink:#945C28; --copper-soft:rgba(184,115,51,.12);
  --sky:#F3EDE4; --sky-2:#F8F4EE;
  --neg:#C8553D; --neg-soft:rgba(200,85,61,.10);
  --due:#D98B1E; --due-soft:#FBEBD3;
  --ok:#0E9F6E; --ok-soft:#DDF3EA;
  --teal:#1F6F6A; --teal-soft:rgba(31,111,106,.10);
  --head:"Circular PRTCL","Inter Display",Inter,system-ui,sans-serif;
  --body:"Inter Display",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  --wrap:min(1240px,calc(100% - 64px));
  --r:24px; --r-sm:16px;
  --card:linear-gradient(150deg,rgba(255,255,255,.86),rgba(255,255,255,.66));
  --shadow:inset 0 1px 0 #fff,0 26px 60px -36px rgba(16,32,48,.28);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:400 15px/1.5 var(--body);color:var(--ink);background:var(--ash);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:var(--head);font-weight:400;margin:0;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none}
input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:10px}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.mute{color:var(--mute)}.slate{color:var(--slate)}
.neg{color:var(--neg)}

/* soft orbs */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.bg i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;will-change:transform}
.bg .b1{width:560px;height:560px;left:-140px;top:-160px;background:radial-gradient(circle,#F0E0D0 0,transparent 70%)}
.bg .b2{width:640px;height:640px;right:-220px;top:240px;background:radial-gradient(circle,#E8EDF6 0,transparent 70%)}
.bg .b3{width:480px;height:480px;left:28%;top:880px;background:radial-gradient(circle,#F5E8D8 0,transparent 70%)}

/* FORMA wordmark */
.brand{display:inline-flex;align-items:center;line-height:1;flex:none}
.brand-mark{font:900 22px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.brand-mark .dot{color:var(--copper)}
.brand-mark.lg{font-size:28px;letter-spacing:.16em}
.brand-mark.sm{font-size:18px;letter-spacing:.12em}

/* nav */
.nav{position:sticky;top:0;z-index:40;padding:12px 0 10px;
  background:linear-gradient(180deg,rgba(238,239,245,.94),rgba(238,239,245,.80));
  -webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid rgba(213,218,229,.6)}
.nav-in{width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:20px;min-height:48px}
.nav-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:flex-end;flex-wrap:wrap}
.nav-links a:not(.btn){padding:8px 12px;border-radius:999px;color:var(--slate);font:400 14px/1 var(--head);white-space:nowrap}
.nav-links a:not(.btn):hover{color:var(--ink);background:rgba(184,115,51,.08)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font:600 14px/1 var(--body);transition:transform .2s var(--ease),background .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 12px 28px -16px rgba(10,12,16,.55)}
.btn-primary:hover{background:#1a1f28}
.btn-copper{background:linear-gradient(135deg,#C9884A,var(--copper));color:#fff;box-shadow:0 12px 28px -16px rgba(184,115,51,.75)}
.btn-copper:hover{filter:brightness(1.05)}
.btn-ghost{background:rgba(255,255,255,.55);border:1px solid var(--ash-3);color:var(--ink)}
.btn-ghost:hover{background:#fff}
.btn-soft{background:var(--copper-soft);color:var(--copper-ink);border:1px solid rgba(184,115,51,.22)}
.btn-sm{min-height:34px;padding:0 12px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}

/* pills */
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font:600 12px/1 var(--body);white-space:nowrap;background:var(--ash-2);color:var(--slate);text-transform:none;letter-spacing:0}
.pill.ok,.pill.paid,.pill.released,.pill.complete{background:var(--ok-soft);color:#08724F}
.pill.due,.pill.requested,.pill.partial,.pill.in_progress{background:var(--due-soft);color:#9A5B05}
.pill.held,.pill.blocked{background:var(--neg-soft);color:var(--neg)}
.pill.scheduled,.pill.pending,.pill.open{background:var(--sky-2);color:var(--copper-ink)}
.pill.approved{background:var(--teal-soft);color:var(--teal)}

/* forms */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font:600 12px/1.2 var(--body);color:var(--slate)}
.field input,.field select,.field textarea{
  min-height:46px;padding:10px 14px;border-radius:14px;border:1px solid var(--ash-3);
  background:#fff;outline:none;transition:border .2s,box-shadow .2s
}
.field textarea{min-height:100px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px var(--copper-soft)}
.err-banner{background:var(--neg-soft);color:var(--neg);padding:12px 14px;border-radius:14px;font-size:14px}
.ok-banner{background:var(--ok-soft);color:#08724F;padding:12px 14px;border-radius:14px;font-size:14px}

/* layout */
.wrap{width:var(--wrap);margin:0 auto}
.card{position:relative;background:var(--card);border:1px solid rgba(255,255,255,.95);border-radius:var(--r);box-shadow:var(--shadow);padding:22px 24px;min-width:0}
.card.pad-l{padding:26px 28px}
.card h2{font-size:21px;line-height:1.2}
.card h3{font-size:16px;line-height:1.25}

.kpi .l{font-size:13px;color:var(--slate);line-height:1.3;min-height:17px}
.kpi .v{font:400 clamp(28px,2.6vw,38px)/1.08 var(--head);letter-spacing:-.02em;margin-top:10px;white-space:nowrap}
.kpi .s{font-size:13px;color:var(--mute);margin-top:8px;line-height:1.4}
.kpi.hl,.kpi.dark{background:linear-gradient(150deg,#0A0C10,#1A2230);border-color:#0A0C10;color:#fff}
.kpi.hl .l,.kpi.hl .s,.kpi.dark .l,.kpi.dark .s{color:#B5C2D3}
.kpi.copper,.kpi.gold{background:linear-gradient(150deg,#C9884A,var(--copper));border-color:#B87333;color:#fff}
.kpi.copper .l,.kpi.copper .s,.kpi.gold .l,.kpi.gold .s{color:#F5E6D4}

.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:960px){.g5,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.g5,.g4,.g3,.g2{grid-template-columns:1fr}}

.pbar{height:10px;border-radius:999px;background:var(--ash-2);overflow:hidden;display:flex}
.pbar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#D4A06A,var(--copper));width:0;transition:width 1s var(--ease)}
.pbar.ok>i{background:linear-gradient(90deg,#33C08A,var(--ok))}
.pbar.warn>i{background:linear-gradient(90deg,#E8A838,#D98B1E)}
.pbar.neg>i{background:linear-gradient(90deg,#E07A66,var(--neg))}
.next-up b{letter-spacing:-.01em}

.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{font:600 12px/1.2 var(--body);color:var(--mute);text-align:left;padding:0 10px 10px;border-bottom:1px solid var(--ash-3);white-space:nowrap}
.table td{padding:10px;border-bottom:1px solid rgba(213,218,229,.55);vertical-align:middle}
.table tr:last-child td{border-bottom:0}

.footer{padding:40px 0 32px;border-top:1px solid rgba(213,218,229,.6);margin-top:48px;color:var(--mute);font-size:13px}
.footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer a:hover{color:var(--ink)}

.hidden{display:none!important}
.loading{opacity:.55;pointer-events:none}
.ch{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.ch .sub{font-size:13px;color:var(--mute)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:400 13px/1 var(--head);color:var(--slate);letter-spacing:.02em;margin-bottom:14px}
.eyebrow .oval{display:inline-block;width:1.7em;height:.86em;border:1.5px solid var(--copper);border-radius:999px;flex:none}
.eyebrow b{font-weight:400;color:var(--ink)}

/* tranche miles (PRTCL-inspired) */
.miles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative;padding-top:6px;margin:8px 0 18px}
.miles::before{content:"";position:absolute;left:10px;right:10px;top:15px;height:2px;background:linear-gradient(90deg,var(--ash-3),var(--copper) 45%,var(--ash-3))}
.mile{position:relative;padding:28px 10px 0 0}
.mile::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--ash-3);box-sizing:border-box}
.mile.k::before{border-color:var(--copper);background:var(--copper);box-shadow:0 0 0 5px var(--copper-soft)}
.mile.ok::before{border-color:var(--ok);background:var(--ok)}
.mile.due::before{border-color:var(--due);background:var(--due)}
.mile.held::before{border-color:var(--neg);background:var(--neg)}
.mile .d{font:400 15px/1.2 var(--head)}
.mile .t{font-size:12px;color:var(--slate);margin-top:4px;line-height:1.35}
@media (max-width:768px){
  .miles{grid-template-columns:1fr;padding:0}
  .miles::before{left:9px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,var(--ash-3),var(--copper) 40%,var(--ash-3))}
  .mile{padding:0 0 16px 34px}
  .mile:last-child{padding-bottom:0}
  .mile::before{top:1px}
}

/* action banner */
.action{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:18px;background:linear-gradient(150deg,#FFF8F0,#F8EFE4);border:1px solid rgba(184,115,51,.28);margin-bottom:16px}
.action b{font:400 16px/1.25 var(--head)}
.action span{font-size:13px;color:var(--slate)}

/* mobile nav */
.nav-toggle{display:none;min-width:40px;min-height:40px;border-radius:12px;border:1px solid var(--ash-3);background:rgba(255,255,255,.7);align-items:center;justify-content:center}
.nav-toggle span{display:block;width:16px;height:2px;background:var(--ink);border-radius:2px;box-shadow:0 5px 0 var(--ink),0 -5px 0 var(--ink)}
@media (max-width:820px){
  .nav-toggle{display:inline-flex}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;padding:12px;background:rgba(238,239,245,.97);border-bottom:1px solid var(--ash-3);gap:4px}
  .nav.open .nav-links{display:flex}
  .nav{position:sticky}
  .nav-in{position:relative}
  .nav-links .btn{width:100%;justify-content:center}
}

.vend{display:grid;gap:12px}
.vc{padding:14px 0;border-bottom:1px solid rgba(213,218,229,.55)}
.vc:last-child{border-bottom:0}
.vc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.vc h3{font-size:18px;min-width:0;overflow-wrap:anywhere}
.vc .meta{font-size:13px;color:var(--mute);margin-top:4px}
.vc-big{text-align:right;flex:none}
.vc-big .v{font:400 22px/1.1 var(--head);white-space:nowrap}
.vc-big .s{font-size:12.5px;color:var(--mute);margin-top:4px;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.vc-bl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--slate);gap:10px;margin-top:6px}
.proj.hot{border-color:rgba(184,115,51,.45);box-shadow:inset 0 1px 0 #fff,0 26px 60px -36px rgba(184,115,51,.35),0 0 0 1px rgba(184,115,51,.2)}

.lb{position:fixed;inset:0;z-index:80;background:rgba(10,12,16,.82);display:grid;place-items:center;padding:24px;cursor:zoom-out}
.lb img{max-width:min(960px,100%);max-height:85vh;border-radius:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.lb button{position:absolute;top:18px;right:18px;min-height:40px;padding:0 14px;border-radius:999px;background:#fff;font:600 13px/1 var(--body)}

/* i7 polish */
@media (max-width:560px){
  .kpi .v{font-size:clamp(22px,7vw,32px);white-space:normal;overflow-wrap:anywhere}
  .vc-big .v{white-space:normal}
}
.proof{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 0;font-size:13px;color:var(--slate)}
.proof b{font-weight:500;color:var(--ink)}
.proof .dot{width:4px;height:4px;border-radius:50%;background:var(--copper);flex:none}
.filt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.filt input[type="search"]{flex:1;min-width:160px;max-width:280px;border:1px solid var(--ash-3);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.7);font:inherit}
.filt .chip{border:1px solid var(--ash-3);background:rgba(255,255,255,.7);border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--slate)}
.filt .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.ro-note.insp{background:rgba(0,140,235,.08);color:#0A4A7A;border:1px solid rgba(0,140,235,.18)}

/* i10 */
.nav .badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--copper);color:#fff;font:600 11px/1 var(--body);margin-left:6px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;background:#0A0C10;color:#fff;padding:12px 16px;border-radius:14px;font-size:14px;box-shadow:0 18px 40px -20px rgba(0,0,0,.45);max-width:min(92vw,420px);opacity:0;transition:opacity .2s;border-left:3px solid var(--copper)}
.toast.on{opacity:1}

/* i12 a11y */
.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px}
.skip-link:focus{left:8px}
:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}

/* i13 */
@media print{
  .bg,.nav,.tabs,.stage-actions,.upload-box,.action,.filt,.back,.toast{display:none!important}
  body{background:#fff}
  .card,.proj,.vc{box-shadow:none;break-inside:avoid}
}

/* i16 */
@media (max-width:720px){
  .action{position:sticky;bottom:10px;z-index:20;box-shadow:0 18px 40px -22px rgba(10,12,16,.35)}
}

/* i19 */
.tabs .tc{display:inline-flex;min-width:18px;height:18px;padding:0 5px;margin-left:4px;align-items:center;justify-content:center;border-radius:999px;background:rgba(10,12,16,.08);font:600 11px/1 var(--body);color:var(--slate)}
.tabs button[aria-current="true"] .tc{background:var(--copper-soft);color:var(--copper-ink)}

/* i20 */

/* i22 */
.skel{animation:vin .4s var(--ease)}
.skel-block{min-height:88px;background:linear-gradient(90deg,rgba(255,255,255,.4),rgba(255,255,255,.85),rgba(255,255,255,.4));background-size:200% 100%;animation:shimmer 1.2s ease infinite}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.toast{border:1px solid rgba(184,115,51,.35)}

/* i23 */
.offline-banner{position:sticky;top:0;z-index:50;background:#0A0C10;color:#fff;text-align:center;padding:10px 14px;font-size:13px}

/* i24 */
@media print{
  .offline-banner,.skel{display:none!important}
  .page-h h1{font-size:28px}
  .kpi .v{font-size:24px}
}

/* i26 */
.neg b,.meta .neg{font-weight:600}

/* i30 */
.nav-links a.on{color:var(--ink);background:rgba(184,115,51,.12)}
@media (max-width:800px){
  .proj{padding:16px}
  .proj h3{font-size:18px}
  .metric-v{font-size:20px}
}

/* i31 */
.vc.over{background:linear-gradient(90deg,rgba(200,85,61,.06),transparent);border-radius:14px;padding-left:10px;margin-left:-10px;padding-right:6px}

/* i32 */
.water{margin:0 0 18px;padding:14px 16px;border-radius:16px;background:rgba(10,12,16,.03);border:1px solid rgba(213,218,229,.55)}
.water-h{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--slate);margin-bottom:10px}
.water-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--ash-2)}
.water-bar i{display:block;height:100%}
.water-bar i.ok{background:var(--ok)}
.water-bar i.due{background:var(--copper)}
.stage-rail{position:relative;padding-left:18px}
.stage-rail::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--copper),var(--ash-3))}
.stage-rail .stage{position:relative;padding-left:8px}
.stage-rail .stage::before{content:"";position:absolute;left:-16px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--ash-2);border:2px solid var(--copper);box-shadow:0 0 0 3px var(--ash)}
.stage-rail .stage:has(.pill:is([data-s="complete"], .ok))::before,
.stage-rail .stage .pill{/* noop */}
.linkish{background:none;border:0;padding:0;color:var(--copper-ink);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* i33 */
.compare-strip{margin-top:16px;padding:20px 22px}
.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.compare-card{text-align:left;padding:16px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff,0 12px 28px -22px rgba(16,32,48,.35);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.compare-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 18px 36px -22px rgba(16,32,48,.4)}
.compare-name{font:400 16px/1.25 var(--head);letter-spacing:-.01em}
.compare-meta{font-size:12px;color:var(--mute);margin-top:4px}
.compare-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:12px}
.compare-kpis b{display:block;font:400 15px/1.2 var(--head);margin-top:2px}

/* i34 */
.add-tranche{margin-bottom:16px;border-radius:16px;background:rgba(10,12,16,.03);padding:4px 14px}
.add-tranche summary{cursor:pointer;font:400 15px/2.2 var(--head);color:var(--slate);list-style:none}
.add-tranche summary::-webkit-details-marker{display:none}
.add-tranche[open] summary{color:var(--ink)}
.quick-amts .chip{font-size:12px}

/* i35 */
.tabs.sticky-tabs{position:sticky;top:64px;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,rgba(238,239,245,.94),rgba(238,239,245,.80));-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);padding:8px 0;margin-top:8px;border-bottom:1px solid rgba(213,218,229,.55)}
.demo-roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.demo-roles button,.demo-roles a{font:600 12px/1 var(--body)}
.toast-stack{position:fixed;right:16px;bottom:16px;z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;background:var(--ink);color:#fff;padding:12px 16px;border-radius:14px;font-size:13px;box-shadow:0 18px 40px -24px rgba(10,12,16,.7);animation:vin .35s var(--ease)}

/* i36 */
.attention-queue{margin-top:16px;padding:20px 22px;border:1px solid rgba(184,115,51,.25);background:linear-gradient(150deg,rgba(255,255,255,.92),rgba(243,237,228,.7))}
.attn-list{display:flex;flex-direction:column;gap:8px}
.attn-row{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.95);cursor:pointer;width:100%}
.attn-row:hover{background:#fff}
@media print{
  .bg,.nav,.tabs,.action,.upload-box,.add-tranche,.filt,.btn,.offline-banner,.toast-stack{display:none!important}
  body{background:#fff}
  .card{box-shadow:none;break-inside:avoid}
  main{padding:0;width:100%}
}

/* i37 */
.nav-badge{background:var(--copper)!important;color:#fff!important;border:0}
#actSearch{width:100%;border:1px solid var(--ash-3);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.8)}

/* i38 */
@media (max-width:720px){
  .action-sticky{position:sticky;bottom:10px;z-index:25;box-shadow:0 18px 40px -20px rgba(10,12,16,.45)}
}
.eyebrow .oval{border-color:var(--copper)}

/* i39-40 */
.empty{padding:28px 18px;text-align:center;color:var(--slate);border-radius:18px;background:rgba(10,12,16,.02)}
.empty b{display:block;font:400 18px/1.2 var(--head);color:var(--ink);margin-bottom:6px}

/* i41 */
.team-grid{display:flex;flex-direction:column;gap:8px}
.team-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(213,218,229,.55)}
.team-row:last-child{border-bottom:0}

/* i44-45 */
.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:10px;z-index:100}
.skip-link:focus{left:8px}

/* i48 */
.vc.due{background:linear-gradient(90deg,rgba(217,139,30,.08),transparent);border-radius:14px;padding-left:10px;margin-left:-10px}

.proj.focus,.proj:focus-within{outline:2px solid var(--copper);outline-offset:2px}
.gate-check{color:var(--slate)}

.pct-quick{display:inline-flex;gap:4px;margin-left:4px;flex-wrap:wrap}

.star-btn{font-size:18px;line-height:1;padding:4px 8px;border-radius:999px;color:var(--copper);margin-right:6px}
.star-btn:hover{background:var(--copper-soft)}

.modal-backdrop{position:fixed;inset:0;background:rgba(10,12,16,.35);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:80;padding:24px}
.modal-backdrop.hidden{display:none}
.modal{max-width:420px;width:100%}
.kbd-grid{display:grid;gap:10px;font-size:14px;color:var(--ink)}
.kbd-grid kbd{display:inline-block;min-width:1.6em;padding:2px 7px;border-radius:8px;background:rgba(255,255,255,.9);border:1px solid rgba(213,218,229,.9);box-shadow:0 1px 0 rgba(255,255,255,.8) inset;font:500 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--slate);text-align:center;margin-right:4px}

.cap-bar{height:4px;border-radius:999px;background:rgba(213,218,229,.65);margin-top:10px;overflow:hidden}
.cap-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--copper),#C9884A);border-radius:999px}
.cap-bar.over i{background:var(--neg)}

.role-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}

.update-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px;background:var(--ink);color:#fff;font-size:13px;position:sticky;top:0;z-index:70}

@media print{
  body.packet .nav, body.packet .tabs, body.packet .action-sticky, body.packet .toast-stack, body.packet .offline-banner, body.packet .update-banner, body.packet #helpBtn, body.packet .chips, body.packet .upload-box, body.packet button, body.packet .star-btn{display:none!important}
  body.packet .panel{display:block!important;break-inside:avoid;margin-bottom:18px}
  body.packet .card{break-inside:avoid;box-shadow:none}
}

.exp-edit{font:inherit;font-size:13px;padding:4px 8px;border-radius:10px;border:1px solid var(--ash-3);background:rgba(255,255,255,.75);max-width:148px}

.case-strip{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:14px;padding:12px 14px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.9);border-radius:16px}
.case-strip>div{display:flex;flex-direction:column;gap:2px;min-width:72px}
.case-strip b{font:400 18px/1.2 var(--head);letter-spacing:-.02em}
.case-strip .mute{font-size:12px}


.lb-card{position:relative}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(10,12,16,.45);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(8px)}
.lb-prev{left:12px}.lb-next{right:12px}
.lb-nav:hover{background:rgba(184,115,51,.75);border-color:transparent}
.card.kpi.warn .v{color:#9A5B05}
.card.kpi.warn{box-shadow:inset 3px 0 0 #E8A838}

button.card.kpi-btn{text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}
button.card.kpi-btn:hover{transform:translateY(-1px);box-shadow:0 16px 40px -28px rgba(10,12,16,.35)}
button.card.kpi-btn:focus-visible{outline:2px solid var(--copper);outline-offset:2px}

body.dense .proj{padding:12px 14px;gap:10px}
body.dense .proj h3{font-size:16px}
body.dense .proj .meta{font-size:12px}
body.dense .metric-v{font-size:18px}
body.dense .page-h h1{font-size:28px}
body.dense .card.kpi .v{font-size:26px}
.vc-bl{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--mute)}

.aging-buckets .kpi-hit{text-align:left;border:1px solid rgba(10,12,16,.06);border-radius:var(--r-sm);padding:12px 14px;background:rgba(255,255,255,.55);cursor:pointer;font:inherit;color:inherit}
.aging-buckets .kpi-hit:hover{border-color:rgba(184,115,51,.35);background:rgba(255,255,255,.85)}
.aging-buckets .kpi-hit .l{font:600 11px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.aging-buckets .kpi-hit .v{font:800 28px/1.1 var(--head);margin-top:4px}
.aging-buckets .kpi-hit .s{font-size:12px;color:var(--mute);margin-top:2px}

.vc.over{box-shadow:inset 3px 0 0 var(--due)}
.vc.over-mid{box-shadow:inset 3px 0 0 #C97A1A;background:linear-gradient(90deg,rgba(217,139,30,.06),transparent 40%)}
.vc.over-hard{box-shadow:inset 3px 0 0 var(--neg);background:linear-gradient(90deg,rgba(200,85,61,.08),transparent 45%)}
.vc.soon{box-shadow:inset 3px 0 0 rgba(184,115,51,.55)}

.lp-ribbon{margin:8px 0 0;padding:8px 12px;border-radius:12px;background:var(--copper-soft);color:var(--copper-ink);font:600 12px/1.3 var(--body);letter-spacing:.04em;text-transform:uppercase;display:inline-block}

/* Command palette */
.cmdk{position:fixed;inset:0;z-index:90;display:none;place-items:start center;padding:12vh 16px 16px;background:rgba(10,12,16,.35);backdrop-filter:blur(8px)}
.cmdk.open{display:grid}
.cmdk-box{width:min(520px,100%);background:var(--card);border:1px solid rgba(255,255,255,.95);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.cmdk-box input{width:100%;border:0;border-bottom:1px solid var(--ash-3);padding:14px 16px;font:inherit;font-size:16px;background:transparent;outline:none}
.cmdk-list{max-height:320px;overflow:auto;padding:8px}
.cmdk-item{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 12px;border:0;background:transparent;border-radius:12px;font:inherit;cursor:pointer;color:inherit}
.cmdk-item:hover,.cmdk-item.active{background:rgba(184,115,51,.10)}
.cmdk-item .mute{font-size:12px}
.water-bar{display:flex;border-radius:999px;overflow:hidden;background:var(--ash-2)}
.water-bar>i{display:block;height:100%;min-width:0}
.water-bar>i.ok{background:linear-gradient(90deg,#33C08A,var(--ok))}
.water-bar>i.due{background:linear-gradient(90deg,#E8A838,#D98B1E)}
.water-bar>i.idle{background:rgba(10,12,16,.08)}
