:root{--navy:#102447;--primary:#245BDB;--surface:#F7F9FC;--white:#FFFFFF;--muted:#58677D;--tint:#E9F0FE;--cyan:#36B8DC;--border:#D9E2F0;--amber:#956100;--ink:var(--navy);--deep:var(--navy);--green:var(--primary);--lime:#E9F0FE;--paper:var(--white);--line:var(--border);--radius:14px;--ease:cubic-bezier(.2,.7,.2,1)}
/* Homepage design tokens, scoped to the purchase planner and sign-in. */
html{background:var(--surface);color:var(--navy);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body{background:var(--surface);color:var(--navy);font-family:Inter,"Segoe UI",Arial,sans-serif}
button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
header{background:rgba(255,255,255,.96);border-bottom-color:var(--border)}
.brand{color:var(--navy);font-weight:760;letter-spacing:-1.1px;gap:10px}
.brand small{color:var(--muted);letter-spacing:1.4px}
.brand-mark{display:grid;grid-template-columns:10px 10px;gap:3px;transform:rotate(-8deg);width:24px;height:27px;align-items:center;flex-shrink:0}
.brand-mark i{display:block;width:10px;height:12px;border-radius:3px;background:var(--navy)}
.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){height:8px;background:var(--primary)}
nav a{color:var(--muted)}nav a:hover,.text,.file-row a{color:var(--primary)}nav .active{border-bottom-color:var(--primary);color:var(--navy)}
.store,.pill,.panel-title span,.weight-total{background:var(--tint);color:var(--navy)}
.eyebrow{color:var(--primary)}.heading h1{font-weight:520;letter-spacing:-1.55px}.heading h1 span{color:var(--primary)}
p,.hint,.scope,.kpi .label,.kpi small{color:var(--muted)}
aside,article,.kpi,dialog{border-color:var(--border);border-radius:14px;background:var(--white)}
button,.secondary-button,input,select,textarea{border-color:var(--border);border-radius:8px;color:var(--navy)}
button:hover,.secondary-button:hover{background:var(--tint)}
#download,.primary,#history-merge,#history-download{background:var(--primary);color:var(--white)}
#download:hover,.primary:hover,#history-merge:hover,#history-download:hover{background:var(--navy)}
input[type=checkbox],input[type=range]{accent-color:var(--primary)}
.kpi:last-child{background:var(--navy);border-color:var(--navy);color:var(--white)}
.kpi:last-child .label,.kpi:last-child small{color:#BBCDF1}
.table-card .table-scroll{border-color:var(--border);scrollbar-color:#BBCDF1 var(--surface)}
.login-body{background:var(--surface);color:var(--navy);font-size:15px;line-height:1.6;padding:35px 0}
.login-card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:36px;box-shadow:0 25px 70px -30px #10244735}
.login-brand{gap:12px}.login-brand h1{font-size:25px;letter-spacing:-1.1px;font-weight:760}.login-brand .brand-mark{margin-right:6px}
.login-sub,.login-foot{color:var(--muted)}.login-sub{font-size:12px}.login-foot{font-size:12px;line-height:1.8;margin-top:24px}
.field{font-size:13px;font-weight:600}.field input{background:var(--white);color:var(--navy);border-color:var(--border);font-size:15px;font-weight:400}
.login-card .btn{background:var(--primary);color:var(--white);font-size:13px;font-weight:650;min-height:50px;transition:background .2s,box-shadow .2s}
.login-card .btn:hover{background:var(--navy);box-shadow:0 5px 12px #10244718}.login-error{color:#b42318}
.home-link{display:inline-block;color:var(--primary);text-decoration:none;font-size:12px;margin-bottom:25px}.home-link:hover{text-decoration:underline}
@media(max-width:600px){.login-card{padding:28px 24px}.heading h1{font-size:28px}header .brand{font-size:23px}}
