@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,700&family=Inter:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
/* ArbiBase app — Design System skin (loaded last on every v3 page)
   Maps legacy --ab-* tokens to DS tokens, removes gradients/glows/rounding. */
:root,[data-theme]{
 --font-accent:'Crimson Pro',Georgia,'Times New Roman',serif;
 --ab-bg:var(--bg);--ab-bg-2:var(--bg-raised);--ab-bg-3:var(--bg-elevated);
 --ab-line:var(--line);--ab-line-strong:var(--line-hard);
 --ab-text:var(--text);--ab-text-dim:var(--text-2);--ab-text-muted:var(--text-3);
 --ab-emerald:var(--brand);--ab-emerald-2:var(--brand-hover);--ab-emerald-soft:var(--brand-dim);
 --ab-emerald-line:color-mix(in srgb,var(--brand) 40%,transparent);
 --ab-amber:var(--warning);--ab-rose:var(--danger);
 --brand-line:color-mix(in srgb,var(--brand) 40%,transparent);
 --warn-dim:color-mix(in srgb,var(--warning) 10%,transparent);--warn-line:color-mix(in srgb,var(--warning) 45%,transparent);
 --danger-dim:color-mix(in srgb,var(--danger) 10%,transparent);--danger-line:color-mix(in srgb,var(--danger) 45%,transparent);
 --veil:color-mix(in srgb,var(--bg) 82%,transparent);
}
html,body{background:var(--bg)!important;color:var(--text)}
body{font-family:var(--font-display)}
::selection{background:var(--brand);color:var(--bg-raised)}
:where(a){color:var(--brand-text)}:where(a):hover{color:var(--text)}
[data-theme="dark"] :where(a){color:var(--brand)}
.side-link,.ms-card,.qa-btn,.comps3 a,.done-grid a,.pipe-row,.ledger-item,.appr-card,.clist button,.stc-c button,.moved a,.fc,.hr,.cl a,.jump a,.tg-s,.tg-city{color:var(--text-2)}
.side-link.active,.appr-card,.ledger-item,.comps3 a,.pipe-row,.ms-card{color:var(--text)}

/* flat: no rounding, no glow, no blur, no gradients */
*,*::before,*::after{border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.av,.ai-av,.owner-av,.okm,.side-user .av,.pin,.map-pin,.cluster-dot,.cluster-ring,.loc-pin .dot,.loc-ring,.area .ring,.live i,.hero-eyebrow .dot,.title-eyebrow .dot,.eyeb .live i,.dot,.spin,.msg3.typing i,.st b,.chks i,.mlegend i,.map-legend-dot,.pend,.c3-reg::before,.iconbtn .dot,.fn .dot,.pulse,.savest i{border-radius:9999px!important}
.ulm,.tb,.modal,.qv-modal{box-shadow:var(--shadow-xl,0 20px 50px rgba(0,0,0,.18))!important}
main.main,.side,section.hero,.topbar,.vband,.conc,.cp,.quota,.pdc,.tr3,.aibox,.card.teaser .card-img::before,.tr3:nth-child(2),.tr3:nth-child(3),.pdc:nth-child(1),.pdc:nth-child(2),.ai-research{background-image:none!important}
section.hero{background:var(--bg-raised)!important;min-height:0!important}
main.main{background:var(--bg)!important}
.side{background:var(--bg-raised)!important;border-right:1px solid var(--line)}
.side-brand img{filter:var(--logo-filter)}
.topbar{background:var(--nav-bg)!important;border-bottom:1px solid var(--line)}
.side-link{color:var(--text-2)}
.side-link:hover{background:var(--bg-elevated)!important;color:var(--text)}
.side-link.active{background:var(--brand-dim)!important;color:var(--text)!important}
.side-link.active::before{background:var(--brand)!important}
.side-link .count{background:transparent!important;border:1px solid var(--line);color:var(--text-3)}
.side-link.active .count{color:var(--brand-text)!important;border-color:var(--brand-line)}
.side-user .av{background:var(--text)!important;color:var(--bg-raised)!important}
.iconbtn,.tbtn{background:transparent;border-color:var(--line);color:var(--text-3)}
.iconbtn:hover{color:var(--text);border-color:var(--line-hard)}

/* type: medium headlines, light numerics */
.hero h1,.ihead h1,.dh1,.title-block h1,.ph3 h1,.fh h1,.gh h1,.rh h2,.br-h h3,.rp-h h3,.vband h3,.rp-empty h3,.sect3 h2,.sec3 h2,.ttl{font-weight:500!important;letter-spacing:-.025em}
.hero h1 em,.ihead h1 em,.dh1 em,.title-block h1 em,.ph3 h1 em,.fh h1 em,.gh h1 em,.rh h2 em,.br-h h3 em,.vband h3 em,.rp-empty h3 em,.sect3 h2 em,.sec3 h2 em,h3 em,.ulm-h h3 em,.sect-h h2 em,.qv-title em,.resmeta .count em,.hero h1 em{font-family:var(--font-accent);font-style:italic;font-weight:400;color:var(--brand)}
.mono,.eyeb,.hero-eyebrow,.title-eyebrow,.sect-eyebrow,.rt3,.card-h .t{font-family:var(--font-mono);letter-spacing:.14em}

/* buttons: square, ink primary, brand on hover */
.b1,.btn.primary,.qv-btn.primary,.compare-btn.primary,.dd-apply,.excl-btn,.btn.pri,.btn.ink,.crm-btn{background:var(--text)!important;border:1px solid var(--text)!important;color:var(--bg-raised)!important;font-weight:500}
.b1:hover,.btn.primary:hover,.qv-btn.primary:hover,.compare-btn.primary:hover,.dd-apply:hover,.excl-btn:hover{background:var(--brand)!important;border-color:var(--brand)!important;color:var(--bg-raised)!important}
.b2,.btn,.qv-btn,.compare-btn{background:transparent;border:1px solid var(--line-hard);color:var(--text)}
.b2:hover,.btn:hover,.qv-btn:hover{background:var(--bg-elevated);border-color:var(--text-3);color:var(--text)}
.ubtn{background:transparent!important;border:1px solid var(--brand)!important;color:var(--brand-text)!important}
.ubtn:hover{background:var(--brand)!important;color:var(--bg-raised)!important}
[data-theme="dark"] .ubtn{color:var(--brand)!important}
.tr3:nth-child(3) .b1,.pdc:nth-child(2) .b1,.conc .b1{background:var(--text)!important;border-color:var(--text)!important}

/* chips, segs, tags */
.chip,.seg3 button,.filt button,.demo-seg button,.tiertg button,.amen3 button,.chk3 button,.ai-sug button,.dd-preset,.dd-seg-btn{background:transparent}
.chip.active,.seg3 button.on,.tiertg button.on,.demo-seg button.on,.amen3 button.on,.chk3 button.on,.dd-preset.active,.dd-seg-btn.active,#cyc button.on,.filt button.on{background:var(--text)!important;color:var(--bg-raised)!important;border-color:var(--text)!important}
.amen3 button.on span{color:var(--bg-raised)!important}
.badge,.appr-badge,.appr-tag,.cv,.gimg-more,.claimed-veil span,.fc-veil span,.tag{background:var(--bg-raised)!important;color:var(--text)!important;border:1px solid var(--line-hard)!important}
.badge.verified,.badge.new{color:var(--brand-text)!important;border-color:var(--brand-line)!important}
[data-theme="dark"] .badge.verified,[data-theme="dark"] .badge.new{color:var(--brand)!important}
.badge.hot{color:var(--warning)!important;border-color:var(--warn-line)!important}
.badge.mtr{color:var(--violet)!important;border-color:color-mix(in srgb,var(--violet) 40%,transparent)!important}
.claimed-veil,.fc-veil,.tz-veil{background:var(--veil)!important}
.vd{border-color:var(--brand-line);color:var(--brand-text)}[data-theme="dark"] .vd{color:var(--brand)}
.vd.c{border-color:var(--warn-line);color:var(--warning)}
.rt-g{color:var(--brand-text);border-color:var(--brand-line)}[data-theme="dark"] .rt-g{color:var(--brand)}
.rt-a{color:var(--warning);border-color:var(--warn-line)}.rt-r{color:var(--danger);border-color:var(--danger-line)}

/* surfaces */
.card,.tbl3,.dropbox,.mt,.stc,.rc,.ulm,.tb,.fc,.tr3,.pdc,.cp,.quota,.aibox,.dc,.s3,.grp,.livepv,.chks div,.comps3 a,.hr,#fstats,.kp,.rev,.strip3,.strip,.kvg,.ratings,.rgrid,.cmp3,.cmp4,#cmp,.ptab,.demo,.itoast,.toast,#ftray,.sbar,.tiertg{border-color:var(--line)}
.vband.g,.vband.a,.vband.r,.conc,.cp{background:var(--bg-raised)!important}
.vband.g{border-left:3px solid var(--brand)!important}.vband.a{border-left:3px solid var(--warning)!important}.vband.r{border-left:3px solid var(--danger)!important}
.conc{border-left:3px solid var(--brand)!important;border-color:var(--line)}
.conc .mono{color:var(--brand-text)!important}[data-theme="dark"] .conc .mono{color:var(--brand)!important}
.cp{border-left:3px solid var(--brand)!important}
.tr3,.pdc{background:var(--bg-raised)!important}
.tr3::before{height:2px!important}
.tr3.cur{outline:1px solid var(--brand);outline-offset:-1px}
.tr-tag{background:var(--brand-dim)!important;color:var(--brand-text)!important}
.quota{background:var(--bg-raised)!important;border-left:3px solid var(--brand)!important}
.aibox{background:var(--bg-raised)!important;border-color:var(--line)!important;border-left:3px solid var(--brand)!important}
.ai-av{background:var(--text)!important;color:var(--bg-raised)!important}
.msg3.u{background:var(--brand-dim)!important;border-color:var(--brand-line)!important}
.paper{background:#FBFAF7!important;color:#18150F!important;border:1px solid var(--line)}
.demo{background:var(--bg-raised)!important}
.hero-stats .val,.rev .c .v,.strip-val,.stat .v,.kp b,.ledger-val,.tr-p b,.vnet,.pr,.cd,.plan-price{font-weight:300}
.dot,.live i,.hero-eyebrow .dot,.title-eyebrow .dot,.eyeb .live i{box-shadow:none!important}
.mapc .mgrid,.area .mgrid,.map-container{background-color:var(--bg-elevated)!important}
.mapc .mgrid,.area .mgrid{background-image:radial-gradient(color-mix(in srgb,var(--text) 14%,transparent) 1px,transparent 1px)!important}
.map-container{background-image:linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px)!important;background-size:48px 48px!important}
.cluster-label,.map-legend,.map-zoom,.mlegend,.mapc .mh .mono,.mtip,.map-leg,.area .cap{background:var(--bg-raised)!important;border-color:var(--line)!important}
.cluster-ring{animation:none!important;border-color:var(--brand-line)!important}
.pin{border-color:var(--bg-raised)!important}
.pin.u,.map-pin.mine,.loc-pin .dot.u{background:var(--text)!important}
.scrim,.ulscrim,.tb-scrim,.qv-overlay{background:color-mix(in srgb,var(--text) 45%,transparent)!important}
.compare-tray{background:var(--bg-raised)!important;border-top:1px solid var(--line-hard)!important}
.sbar{background:var(--text)!important}
.th,.ph,.gal div,.card-img .ph{background-image:none!important;background-color:var(--bg-elevated)}
.side-section{color:var(--text-3)}

/* error pages */
.page,.page[data-tone]{background:var(--bg)!important}
.texture{opacity:.05}
.code{-webkit-text-stroke:1px var(--line-hard)!important}
.panel{background:var(--bg-raised)!important}
.status .dot{box-shadow:none!important}
.switch{background:var(--bg-raised)!important}
.switch button.on{background:var(--text)!important;color:var(--bg-raised)!important}
.top img,.foot img{filter:var(--logo-filter)}
.btn.primary{background:var(--text)!important;border-color:var(--text)!important;color:var(--bg-raised)!important}

/* ===== Type system: Crimson Pro (display/UI/stats) · Inter (body/forms) · Space Grotesk (labels/data) ===== */
:root,[data-theme]{
 --font-display:'Crimson Pro',Georgia,'Times New Roman',serif;
 --font-body:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
 --font-mono:'Space Grotesk', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
 --font-accent:var(--font-display);
}
[data-theme="light"]{--bronze:#8B5E34}
[data-theme="dark"]{--bronze:#C9A27A}
html,body{font-family:var(--font-body);font-size:14px;line-height:1.5}
button,input,select,textarea,label,.btn,.b1,.b2,.chip,.qv-btn,.compare-btn,.side-link,.fin,.fsel,.in,.seg3 button,.dd-opt,.pill,.tbtn,.ubtn,.ai-f input,.msg3,.paper h4{font-family:var(--font-body)}
/* display + stats */
h1,h2,h3,.hero h1,.ihead h1,.dh1,.title-block h1,.ph3 h1,.fh h1,.gh h1,.ttl,.cmd-h h1,.set-head h1,.rh h2,.sect-h h2,.sect3 h2,.sec3 h2,.sect-title,.rp-h h3,.br-h h3,.vband h3,.rp-empty h3,.ulm-h h3,.qv-title,.tr3 h3,.pdc h3,.dc h3,.stc-h h3,.rail-h h3,.card-h h3,.panel-h,.plan-name,.pname,.owner-name,.fs-h b,
.hero-stats .val,.rev .c .v,.strip-val,.stat .v,.kp b,.ledger-val,.tr-p b,.vnet,.pr,.cd,.cd3,.econ .val,.c3-econ b,.fc-e b,.mv,.kpi .num,.stage-num,.num,.v,.uv,.amt,.qv-metric .val,.walk .score,.br-kv b,.stc-kv b,#fstats b,.ustats .v,.mrr .v,.tiers .v,.resmeta .count,.rc .pr,.c3-addr,.fc-a,.card-addr,.appr-addr,.vp-addr,.deal3 b,.pc b,.quota b,.dropbox .cd,.plan-price{font-family:var(--font-display);font-variant-numeric:lining-nums tabular-nums}
/* accent = bold + bronze */
h1 em,h2 em,h3 em,.hero h1 em,.ihead h1 em,.dh1 em,.title-block h1 em,.ph3 h1 em,.fh h1 em,.gh h1 em,.rh h2 em,.br-h h3 em,.vband h3 em,.rp-empty h3 em,.sect3 h2 em,.sec3 h2 em,.ulm-h h3 em,.sect-h h2 em,.qv-title em,.resmeta .count em,.cmd-h h1 em,.set-head h1 em,.ttl em,.acc,.hero-sub em{font-family:var(--font-display)!important;font-style:normal!important;font-weight:700!important;color:var(--bronze)!important}
/* H1 */
.hero h1,.ihead h1,.dh1,.title-block h1,.ph3 h1,.fh h1,.gh h1,.ttl,.cmd-h h1,.set-head h1,.rh h2{font-size:clamp(40px,4vw,56px)!important;font-weight:500!important;letter-spacing:-.035em!important;line-height:1.08!important}
/* H2 */
.sect-h h2,.sect3 h2,.sec3 h2,.sect-title,.rp-h h3,.br-h h3,.vband h3,.rp-empty h3,.ulm-h h3,.qv-title,.panel-h{font-size:clamp(28px,2.6vw,36px)!important;font-weight:500!important;letter-spacing:-.025em!important;line-height:1.12!important}
/* H3 */
.tr3 h3,.pdc h3,.dc h3,.stc-h h3,.rail-h h3,.card-h h3,.fs-h b,.owner-name,.pname,.plan-name,.c3-addr,.fc-a,.card-addr,.appr-addr,.deal3 b{font-size:clamp(18px,1.6vw,22px)!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.25!important}
.c3-addr span,.fc-a span{font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:0}
/* stats */
.hero-stats .val,.kp b,.ledger-val,.strip-val,.stat .v,.rev .c .v,.econ .val,.c3-econ b,.fc-e b,.mv,.kpi .num,.uv,#fstats b,.ustats .v,.br-kv b,.qv-metric .val{font-weight:500!important;letter-spacing:-.01em}
.tr-p b,.vnet,.rc .pr,.pr,.amt,.mrr .v{font-weight:400!important;letter-spacing:-.025em}
/* body */
.hero-sub,.sect-desc,.ihead p,.why,.ph3 p,.fh p,.gh p,.rp-empty p,.ds,.ca-sub,.status-card p{font-family:var(--font-body);font-size:16px!important;line-height:1.6!important}
/* labels + data */
.mono,.eyeb,.hero-eyebrow,.title-eyebrow,.sect-eyebrow,.rt3,.card-h .t,.tree-k,.sub-h,.side-section,.top-crumb,.lbl,.k,.strip-lbl,.ledger-lbl,.kpi .lbl,.econ .lbl,.qv-metric .lbl,.kp span,.ratings3 .lbl,.tr-tag,.badge,.rt,.vd,.tag,.st-u,.st-c,.ty,.stage-lbl,.appr-ref,.card-eyebrow,.pay-k,.flabel,.set-eyebrow{font-family:var(--font-mono)!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase;line-height:1.4}
.mono,.eyeb,.hero-eyebrow,.title-eyebrow,.sect-eyebrow,.rt3,.tree-k,.sub-h,.set-eyebrow{font-size:12px!important}

/* forms always Inter */
input,select,textarea,main button:not(.vword),.ulm input,.ulm select,.ulm textarea,.tb input,.tb select{font-family:var(--font-body)!important}
.bigsearch .go,.kb-search button,.kb-search .btn,.hero-search button,.search-btn{background:var(--text)!important;border-color:var(--text)!important;color:var(--bg-raised)!important}
.bigsearch .go:hover,.kb-search button:hover,.hero-search button:hover,.search-btn:hover{background:var(--brand)!important;border-color:var(--brand)!important}

/* positive = always green (confirm), both themes */
.pos,b.pos,.neg~.pos,.c3-econ b.g,.vband.g .vnet,.vband.g .vd,.sc6.hi b,.cmpt td.best,.mtag.hit,.ml b.pos,.fee-r b.pos,.res-big b,.mt5.ok,.mt5.good,.rt-g,.vd:not(.c),.badge.verified,.badge.new,.sev.p,.stt.matched,.chk5 input,.mt8 .rs[style*=confirm]{color:var(--confirm)!important}
.mtag.hit,.rt-g,.vd:not(.c),.badge.verified,.badge.new{border-color:color-mix(in srgb,var(--confirm) 45%,transparent)!important}
.pbar s,.rc8 .pbar s,.fee-bar .k,.dt.p,.prog8 div.done::after,.trk li.done::after,.wz-s li.done i{background:var(--confirm)!important}
.prog8 div.done::before,.trk li.done::before{background:var(--confirm)!important}
.prog8 div.done::after,.trk li.done::after{border-color:var(--confirm)!important}
.why span.ok::before,.mtip i.ok::before,.gate-c li::before,.lgate-c li::before,.pc7 li::before,.tr3 li::before{color:var(--confirm)}
.ul-ok,.ok,.cons .ok,.cx-r b.ok{color:var(--confirm)!important}
[data-theme="dark"] .appr-metric .mv.brand,[data-theme="dark"] .prop-metric .mv.brand{color:var(--confirm)!important}
.prog8 div::after,.trk li::after,.wz-s i,.cl-i .pd,.dt{border-radius:9999px!important}

/* density: compact */
html[data-density=compact]{font-size:15px}
html[data-density=compact] .side-link{min-height:30px!important;font-size:13px!important}
html[data-density=compact] .side-section{padding-top:10px!important}
html[data-density=compact] .topbar{height:52px!important}
html[data-density=compact] .hero,html[data-density=compact] .cgh,html[data-density=compact] .dbh,html[data-density=compact] .da-h,html[data-density=compact] .sh{padding-top:20px!important;padding-bottom:16px!important}
html[data-density=compact] h1{font-size:clamp(26px,2.4vw,34px)!important}
html[data-density=compact] .st,html[data-density=compact] .cg,html[data-density=compact] .db,html[data-density=compact] .wrap3{padding-top:20px!important}
html[data-density=compact] .sec{padding:14px 0!important;gap:16px!important}
html[data-density=compact] .stile{min-height:128px!important;padding:16px!important}
html[data-density=compact] .band a{padding-top:12px!important;padding-bottom:12px!important}
html[data-density=compact] .band .v{font-size:26px!important}
html[data-density=compact] .card,html[data-density=compact] .rqc,html[data-density=compact] .mc6{margin-bottom:8px!important}
html[data-density=compact] .c3-body,html[data-density=compact] .card-body{padding:10px 12px!important}
html[data-density=compact] .card-img{height:150px!important}
html[data-density=compact] input,html[data-density=compact] select,html[data-density=compact] .ctrl{height:34px!important;font-size:13.5px!important}
html[data-density=compact] .b1,html[data-density=compact] .b2,html[data-density=compact] .btn{height:32px!important;font-size:12.5px!important}
html[data-density=compact] td,html[data-density=compact] th{padding-top:7px!important;padding-bottom:7px!important}
html[data-density=compact] .trow,html[data-density=compact] .row,html[data-density=compact] .lst>div{padding-top:6px!important;padding-bottom:6px!important}
