@font-face{font-family:'Veriti Manrope';src:url('/brand/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Veriti Didot';src:url('/brand/gfs-didot.woff2') format('woff2');font-weight:400;font-display:swap}
html:root{--ink:#191916;--ink2:#22231f;--muted:#60605a;--faint:#696960;--line:#dcdcd4;--bg:#f7f7f5;--card:#fff;--accent:#886024;--accent2:#77521e;--accent-soft:#f3ede2;--accent-ink:#fff;--gold-soft:#f3ede2;--gold-line:#d6b477;--radius:4px;--radius-sm:3px;--font:'Veriti Manrope',sans-serif;--dx-accent:#886024;--dx-ink:#191916;--dx-muted:#60605a;--dx-line:#dcdcd4}
html body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65}
html body button,html body input,html body select,html body textarea{font-family:var(--font)}
html body h1,html body .hero h1,html body .login h2{font-family:'Veriti Didot',Georgia,serif;font-weight:400;line-height:1.16;letter-spacing:-.025em;text-wrap:balance}
html body h1,html body .head h1,html body header.top h1{font-size:clamp(2rem,3vw,2.7rem)}
html body .head h1,html body header.top h1{overflow-wrap:anywhere}
html body .hero h1{font-size:clamp(2.7rem,5vw,4.5rem);max-width:19ch}
html body .hero p{max-width:56ch}
html body .btn,html body .btn.gold,html body nav .cta{min-height:44px;display:inline-flex;justify-content:center;align-items:center;padding:.65rem 1.2rem;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:#fff;font-weight:600;line-height:1.4;box-shadow:none;text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s}
html body .btn:hover:not(:disabled),html body .btn.gold:hover:not(:disabled),html body nav .cta:hover{background:var(--accent2);border-color:var(--accent2);color:#fff}
html body .btn.ghost{color:var(--ink);background:#fff;border-color:var(--line)}
html body .btn.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent2)}
html body .btn.danger{color:var(--red);background:#fff;border-color:#e8b6b2}
html body .btn:disabled,html body .btn[aria-disabled=true]{opacity:1;color:var(--muted);background:#eeeee9;border-color:var(--line);cursor:not-allowed}
html body .btn.sm{font-size:.8rem;padding:.45rem .75rem}
html body button.chip{min-height:44px;border-radius:3px}
html body :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html body input:not([type=checkbox]):not([type=radio]):not([type=range]),html body select{min-height:44px;border-radius:3px}
html body textarea,html body .tierpick,html body .panel,html body fieldset,html body .card,html body .modal,html body .stat,html body .alert,html body .done,html body .empty{border-radius:4px}
html body .hint{color:var(--muted)}
html body header.site{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
html body header.site .wrap{height:auto;min-height:88px;gap:20px}
html body header.site nav a{color:var(--ink)}
html body header.site nav a:hover{color:var(--accent2)}
html body header.site nav a.cta{color:#fff}
html body .wm{color:var(--ink);letter-spacing:0;text-transform:none;font-size:1rem;font-weight:500}
.veriti-logo{display:block;width:112px;height:74px;object-fit:contain;background:#fff;padding:5px;flex:none}
.veriti-brand{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--ink)}
.veriti-brand span{font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
html body .login{background:var(--bg)}
html body .login .card,html body .login .panel{box-shadow:0 16px 60px #1919160b;border:1px solid var(--line);padding:2rem}
html body .login .veriti-logo{width:144px;height:96px;margin-bottom:1.4rem}
html body .login h1{font-size:2.3rem;margin-bottom:1rem}
html body .side,html body nav.rail{background:#191916}
html body .side .brand .veriti-logo,html body .rail .brand .veriti-logo{width:112px;height:74px;margin-bottom:12px}
html body .side .brand .wm,html body .side .brand .tier,html body .rail .brand span{color:#d6b477}
html body .nav a,html body .rail a.item{min-height:44px;border-radius:3px}
html body .side .bottom button,html body .rail .foot button{min-height:44px;border-radius:3px}
html body .dx-brand .veriti-logo{width:90px;height:62px}
html body .form label,html body .toolbar label{min-width:0}
html body .tierpick:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.procurement-steps{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0;padding:0;list-style:none}
.procurement-steps li{padding:.35rem .65rem;border:1px solid var(--line);font-size:.8rem;background:#fff}
.procurement-steps .complete{background:var(--accent-soft);color:var(--accent2);border-color:var(--gold-line)}
.procurement-detail{margin-top:1rem}
.procurement-detail .form{padding:1rem 0}
.procurement-detail .kv,html body #onboardingDetail .kv{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.3rem 0}
.procurement-detail .kv>:last-child,html body #onboardingDetail .kv>:last-child{min-width:0;text-align:right;overflow-wrap:anywhere}
@media(max-width:600px){html body header.site .wrap{min-height:80px;gap:12px}.veriti-logo{width:88px;height:62px}.veriti-brand{gap:10px}.veriti-brand span{font-size:.65rem}html body input:not([type=checkbox]):not([type=radio]),html body select,html body textarea{font-size:16px}html body .login .card,html body .login .panel{padding:1.5rem}html body .form{grid-template-columns:1fr}html body .form label.col2,html body .form>div.col2{grid-column:1}html body .modal{max-height:85dvh}.procurement-detail .form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html body .btn{transition:none}}
@media(max-width:900px){
  html body .shell{grid-template-columns:minmax(0,1fr)}
  html body #main>table,html body #view>table,html body #view .section>table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  html body #main .panel>table,html body #view .panel>table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  html body #view .section>h2{flex-wrap:wrap}
  html body .chip{min-height:44px}
  html body .toolbar input,html body .toolbar select{max-width:100%}
  html body .settings-grid{grid-template-columns:minmax(0,1fr)}
  html body .dx-main table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  html body .dx-route h4 code{overflow-wrap:anywhere}
}
@media(max-width:600px){
  html body #onboardingDetail table,html body #onboardingDetail tbody,html body #onboardingDetail tr,html body #onboardingDetail td{display:block;width:100%;min-width:0}
  html body #onboardingDetail thead{display:none}
  html body #onboardingDetail tr{padding:.8rem 0;border-top:1px solid var(--line)}
  html body #onboardingDetail td{padding:.35rem 0;border:0;overflow-wrap:anywhere}
  html body #onboardingDetail td:first-child{font-weight:600}
  html body #onboardingDetail td:nth-child(2)::before{content:'Type: ';color:var(--muted)}
  html body #onboardingDetail td:nth-child(3)::before{content:'Review: ';color:var(--muted)}
  html body #onboardingDetail td:nth-child(4)::before{content:'Uploaded: ';color:var(--muted)}
  html body #onboardingDetail td:nth-child(5)::before{content:'Approval';display:block;margin-bottom:.35rem;color:var(--muted)}
  html body #onboardingDetail [data-proof-approval]{display:grid;gap:.65rem}
  html body #onboardingDetail [data-proof-approval] label{display:flex;flex-direction:column;gap:.35rem}
  html body #onboardingDetail [data-proof-approval] .check{flex-direction:row;align-items:flex-start;gap:.6rem}
  html body #onboardingDetail [data-proof-approval] input[type=checkbox]{flex:none;margin-top:.35rem}
  html body #onboardingDetail [data-proof-approval] input[name=note]{width:100%;border:1px solid var(--line);padding:.5rem}
}
