@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ── design tokens & base ─────────────────────────────────────────── */
:root{
  --ink:#141414; --card:#1c1c1c; --card2:#202020; --line:#2e2e2e;
  --gold:#A98D5F; --gold-dim:#7d6a49; --cream:#EFEAE0; --grey:#9a9a9a; --grey2:#6f6f6f;
  --good:#7FB069; --warn:#D9A441; --bad:#C4604F;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--ink);color:var(--cream);font-family:'Poppins',system-ui,sans-serif;font-weight:300;padding:32px 20px 60px}
.wrap{max-width:1060px;margin:0 auto}
.mono{font-family:'IBM Plex Mono',monospace}

/* ── site navigation ──────────────────────────────────────────────── */
.sitenav{margin:-32px -20px 30px;background:var(--card);border-bottom:1px solid var(--line)}
.sitenav .inner{max-width:1060px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.navlinks{display:flex;flex-wrap:wrap}
.navlinks a{display:block;padding:17px 18px;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);text-decoration:none;border-bottom:2px solid transparent}
.navlinks a:first-child{padding-left:0}
.navlinks a:hover{color:var(--cream)}
.navlinks a[aria-current="page"]{color:var(--gold);border-bottom-color:var(--gold)}
.navbrand{display:flex;align-items:baseline;gap:10px;white-space:nowrap;padding:14px 0;text-decoration:none}
a.navbrand:hover .n{color:var(--gold)}
a.navbrand:hover .by{color:var(--grey)}
.navbrand .n{font-weight:600;letter-spacing:.36em;font-size:13px;color:#fff}
.navbrand .n span{color:var(--gold)}
.navbrand .by{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey2)}

@media(max-width:640px){
  .sitenav .inner{flex-direction:column;align-items:flex-start;gap:0;padding-bottom:10px}
  .navbrand{order:-1;padding:14px 0 2px}
  .navlinks a{padding:10px 16px 10px 0}
  .navlinks a:first-child{padding-left:0}
}

/* ── shared report furniture (all pages) ──────────────────────────── */
header{border-bottom:1px solid var(--gold);padding-bottom:18px;margin-bottom:26px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.brand{font-weight:600;letter-spacing:.42em;font-size:15px;color:#fff}
.brand span{color:var(--gold)}
h1{font-size:24px;font-weight:500;margin-top:6px}
.week{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-size:13px}
.statuschip{font-size:11px;letter-spacing:.08em;padding:6px 12px;border:1px solid var(--bad);color:var(--bad);border-radius:2px;text-transform:uppercase}

.sec{margin:34px 0 14px;display:flex;align-items:baseline;gap:12px}
.sec h2{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.sec .rule{flex:1;height:1px;background:var(--line)}
.sec .note{font-size:11px;color:var(--grey2)}

.empty{border:1.5px dashed var(--bad);background:rgba(196,96,79,.05);padding:30px 24px;text-align:center}
.empty .big{font-size:15px;font-weight:500;color:var(--bad);letter-spacing:.05em}
.empty p{font-size:12.5px;color:var(--grey);max-width:640px;margin:10px auto 0;line-height:1.7}
.empty .req{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--cream);margin-top:12px;display:inline-block;border:1px solid var(--line);padding:8px 14px;background:var(--card)}

.notes{margin-top:36px;border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:var(--grey2);line-height:1.8}
.notes b{color:var(--grey)}

/* ── additions used only by the Sales / Admin placeholder pages ────── */
.statuschip.pending{border-color:var(--gold-dim);color:var(--gold)}
.empty.pending{border-color:var(--gold-dim);background:rgba(169,141,95,.05)}
.empty.pending .big{color:var(--gold)}
.outline{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.oc{border:1px solid var(--line);background:var(--card);padding:16px 18px}
.oc h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:10px;color:#fff}
.oc ul{list-style:none}
.oc li{font-size:12.5px;color:var(--grey);line-height:1.9;padding-left:14px;position:relative}
.oc li::before{content:"·";position:absolute;left:2px;color:var(--gold)}
@media(max-width:760px){.outline{grid-template-columns:1fr}}

/* ── marketing report ─────────────────────────────────────────────── */
/* KPI split board */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gold-dim);border:1px solid var(--gold-dim)}
.geo{background:var(--card);padding:20px 22px}
.geo h3{font-size:12px;letter-spacing:.2em;font-weight:600;color:#fff;text-transform:uppercase;margin-bottom:14px}
.geo h3 em{font-style:normal;color:var(--gold);font-weight:400;letter-spacing:.05em;text-transform:none;font-size:11px;margin-left:8px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kpi .v{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:#fff}
.kpi .l{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-top:2px}
.kpi .wow{font-size:10.5px;color:var(--grey2);margin-top:5px;font-family:'IBM Plex Mono',monospace}
.kpi .wow.miss{color:var(--warn)}
.kpi .wow.dn{color:var(--bad)}
.kpi .wow.up{color:var(--good)}

/* combined strip */
.combined{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:1px solid var(--line);border-top:none;background:var(--card2);padding:14px 22px}
.combined .k{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey2)}
.combined .n{font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--cream);margin-top:3px}
.combined .n b{color:var(--bad);font-weight:600}

/* creative leaderboard */
.lbwrap{margin-bottom:26px}
.lbhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--gold-dim);margin-bottom:2px}
.lbhead .t{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:600}
.lbhead .s{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--grey2)}
.lbrow{display:grid;grid-template-columns:24px 1fr 84px 152px 74px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.lbrow .rk{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--grey2);text-align:right}
.lbrow .cn{font-size:12.5px;color:var(--cream);overflow-wrap:anywhere}
.lbrow .cn a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--grey2)}
.lbrow .cn a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.lbrow .nums{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--grey);text-align:right;white-space:nowrap}
.lbrow .nums b{color:#fff;font-weight:600}
.lbrow.lead .cn{color:#fff}
.lbrow.lead .nums b{color:var(--good)}
.st{font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;border-radius:2px;border:1px solid;display:inline-block;white-space:nowrap}
.st.on{border-color:var(--good);color:var(--good)}
.st.off{border-color:var(--grey2);color:var(--grey2)}
.thin{font-size:10.5px;color:var(--warn);white-space:nowrap}

/* platform bars */
.plat{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.prow{display:grid;grid-template-columns:70px 1fr 180px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.pname{font-size:12.5px;color:var(--cream)}
.bar{height:12px;background:var(--card2);position:relative}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--gold)}
.bar i.dim{background:var(--gold-dim)}
.pnum{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--grey);text-align:right;white-space:nowrap}
.pnum b{color:#fff;font-weight:600}
.flag{color:var(--warn)}
.prev{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--grey2);text-align:right;white-space:nowrap;padding-bottom:6px;border-bottom:1px solid var(--line)}

/* locations */
.loc{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.lrow{display:grid;grid-template-columns:minmax(120px,1fr) 90px 172px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.lrow .pnum{text-align:right}
.loc .prow,.kw .prow{grid-template-columns:auto 1fr auto}
.lrow.blank{opacity:.42}
.lrow.blank .pnum b{color:var(--warn)}
.lnote{margin-top:14px;border-left:2px solid var(--warn);padding:10px 14px;background:var(--card);font-size:12px;color:var(--grey);line-height:1.7}
.lnote b{color:var(--cream);font-weight:500}
.testchip{display:inline-block;font-size:9.5px;letter-spacing:.1em;border:1px solid var(--good);color:var(--good);padding:1px 7px;margin-left:8px;border-radius:2px;text-transform:uppercase}

/* keywords */
.kw{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.krow{display:grid;grid-template-columns:1fr 156px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px}

/* callouts */
.callouts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.co{border:1px solid var(--line);background:var(--card);padding:16px 18px}
.co h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.co.warn h4{color:var(--warn)} .co.bad h4{color:var(--bad)} .co.good h4{color:var(--good)}
.co p{font-size:12.5px;color:var(--grey);line-height:1.7}
.co p b{color:var(--cream);font-weight:500}
.co .mono{color:var(--cream)}
.co p + p{margin-top:8px}

/* plan table */
table.plan{width:100%;border-collapse:collapse;font-size:12.5px}
.plan th{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);font-weight:500;text-align:left;padding:8px 10px;border-bottom:1px solid var(--gold-dim)}
.plan td{padding:9px 10px;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:12px}
.plan td:first-child{font-family:'Poppins',sans-serif}
.plan .cur{color:var(--grey2)}
.plan .tgt{color:var(--cream)}
.plan tr.geo-h td{font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border-bottom:none;padding-top:16px}

/* footer notes */
.notes{margin-top:36px;border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:var(--grey2);line-height:1.8}
.notes b{color:var(--grey)}
.notes ol{margin:8px 0 0 18px}
.notes li{margin-bottom:4px}

@media(max-width:760px){
  .split,.plat,.loc,.callouts,.kw{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(3,1fr)}
  .lbrow{grid-template-columns:20px 1fr;row-gap:4px}
  .lbrow .bar{display:none}
  .lbrow .nums{grid-column:2;text-align:left}
  .lbrow .stw{grid-column:2}
  .lrow{grid-template-columns:1fr 156px}
  .lrow .bar{display:none}
  .combined{grid-template-columns:1fr;gap:12px}
}

/* ── homepage ─────────────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.home{padding-top:0}

.hero{padding:84px 0 58px;text-align:center;border-bottom:1px solid var(--line)}
/* entrance zoom on the outer element, continuous breathing on the inner one,
   so the two transforms never fight over the same node */
.logo{animation:zoomIn 1.6s cubic-bezier(.2,.7,.3,1) both}
.logo-inner{display:inline-block;animation:breathe 6s ease-in-out 1.4s infinite;will-change:transform}
@keyframes zoomIn{from{transform:scale(.90)}to{transform:scale(1)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.logo-main{display:flex;justify-content:center;gap:.06em;font-weight:600;font-size:clamp(34px,7.4vw,64px);letter-spacing:.34em;color:#fff}
.logo-main span:last-child{margin-right:-.34em}
.logo-main span{display:inline-block;opacity:0;animation:riseIn .75s cubic-bezier(.2,.7,.3,1) forwards}
.logo-main span:nth-child(1){animation-delay:.05s}
.logo-main span:nth-child(2){animation-delay:.13s}
.logo-main span:nth-child(3){animation-delay:.21s}
.logo-main span:nth-child(4){animation-delay:.29s}
.logo-main span:nth-child(5){animation-delay:.37s}
.logo-main .hl{color:var(--gold);animation:riseIn .75s cubic-bezier(.2,.7,.3,1) .37s forwards,shimmer 4.5s ease-in-out 1.4s infinite}
.logo-rule{width:min(300px,62%);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:20px auto 14px;transform:scaleX(0);animation:ruleGrow 1s cubic-bezier(.2,.7,.3,1) .5s forwards}
.logo-sub{font-size:clamp(10px,1.9vw,12px);letter-spacing:.46em;text-transform:uppercase;color:var(--grey);text-indent:.46em;opacity:0;animation:riseIn .8s cubic-bezier(.2,.7,.3,1) .72s forwards}

@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes ruleGrow{to{transform:scaleX(1)}}
@keyframes shimmer{0%,100%{text-shadow:none}50%{text-shadow:0 0 14px rgba(169,141,95,.38)}}

@media(prefers-reduced-motion:reduce){
  .logo-main span,.logo-sub{animation:none;opacity:1}
  .logo-main .hl{animation:none}
  .logo-rule{animation:none;transform:none}
  .logo,.logo-inner{animation:none;transform:none}
}

.intro{max-width:720px;margin:0 0 4px}
.intro p{font-size:13.5px;color:var(--grey);line-height:1.85}
.intro p + p{margin-top:10px}
.intro b{color:var(--cream);font-weight:500}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{display:block;border:1px solid var(--line);background:var(--card);padding:20px 22px 18px;text-decoration:none;position:relative;transition:border-color .18s,background .18s,transform .18s}
.card:hover{border-color:var(--gold-dim);background:var(--card2);transform:translateY(-2px)}
.card .c-n{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--grey2);letter-spacing:.2em}
.card h3{font-size:15px;font-weight:500;color:#fff;margin:8px 0 8px;letter-spacing:.02em}
.card:hover h3{color:var(--gold)}
.card p{font-size:12.5px;color:var(--grey);line-height:1.7;min-height:64px}
.card .c-s{margin-top:12px;display:inline-block;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border:1px solid;border-radius:2px}
.card .c-s.live{border-color:var(--good);color:var(--good)}
.card .c-s.wait{border-color:var(--gold-dim);color:var(--gold)}

.disc{border:1px solid var(--line);background:var(--card);padding:4px 20px}
.d-row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line)}
.d-row:last-child{border-bottom:none}
.d-k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.d-v{font-size:12.5px;color:var(--grey);line-height:1.6}

@media(max-width:760px){
  .cards{grid-template-columns:1fr}
  .card p{min-height:0}
  .hero{padding:60px 0 44px}
  .d-row{grid-template-columns:1fr;gap:4px}
}

/* ── sales report ─────────────────────────────────────────────────── */
.gband{margin:30px 0 14px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border-left:2px solid var(--gold);padding-left:12px}
.sperson{margin-bottom:30px}
.shead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--gold-dim);margin-bottom:2px}
.shead .t{font-size:14px;font-weight:500;color:#fff;letter-spacing:.02em}
.shead .g{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

.tscroll{overflow-x:auto}
table.mt{width:100%;min-width:620px;border-collapse:collapse;font-size:12.5px}
table.mt.team{min-width:760px}
.mt th{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--grey2);font-weight:500;text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.mt th:nth-child(2){text-align:left}
.mt td{padding:7px 10px;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;font-size:12px;text-align:right;color:var(--grey2);white-space:nowrap}
.mt td:nth-child(2){font-family:'Poppins',sans-serif;text-align:left;color:var(--cream);white-space:normal}
.mt .ix{width:34px;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--gold-dim);padding-right:0}
.mt td em{font-style:normal;color:var(--grey2);font-size:11px;margin-left:6px}
.mt tr.sub td:nth-child(2){padding-left:22px;color:var(--grey);font-size:12px}
.mt tr.sub td{border-bottom-color:#262626}
.mt tr:last-child td{border-bottom:none}

.lreason{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:baseline;padding:11px 10px;border-bottom:1px solid var(--line);font-size:12.5px}
.lreason:last-of-type{border-bottom:none}
.lk{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey2)}
.lv{font-family:'IBM Plex Mono',monospace;color:var(--grey2)}

@media(max-width:760px){
  .lreason{grid-template-columns:1fr;gap:3px}
}

/* ── admin report ─────────────────────────────────────────────────── */
.dlhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 2px;padding-bottom:8px;border-bottom:1px solid var(--gold-dim)}
.dlhead .dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:600}
.dlhead .ds{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--grey2)}
table.mt.dl{min-width:520px}
.mt.dl th{text-align:left}
.mt.dl th:last-child{text-align:right}
.mt.dl td{text-align:left}
.mt.dl td:last-child{text-align:right}
.mt tr.none td,.mt.dl tr.none td:last-child{font-family:'Poppins',sans-serif;font-size:12px;color:var(--grey2);text-align:left;padding:15px 10px;white-space:normal}
