:root { color-scheme: light; --ink:#172922; --paper:#f3efe6; --white:#fffdf8; --blue:#08a8d4; --orange:#ed693f; --muted:#637169; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.portal-header { min-height:96px; padding:18px clamp(20px,5vw,72px); display:flex; align-items:center; gap:22px; border-bottom:1px solid #d8d2c4; background:var(--white); }
.portal-header img { width:150px; display:block; }
.portal-header div { border-left:1px solid #d8d2c4; padding-left:22px; }
.portal-header span,.eyebrow { color:var(--orange); font-size:.73rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:1.25rem; margin:2px 0 0; } h2 { font:600 clamp(2rem,4vw,3.2rem)/1.05 Georgia,serif; } h3 { font-size:1.2rem; }
main { width:min(1160px,calc(100% - 40px)); margin:clamp(36px,7vw,80px) auto; }
.quiet-link { margin-left:auto; color:var(--ink); text-decoration:none; font-weight:700; }
.auth-card,.panel { background:var(--white); border:1px solid #ddd6c8; padding:clamp(24px,4vw,44px); box-shadow:0 16px 45px rgba(23,41,34,.07); }
.auth-card { max-width:560px; margin:0 auto; } .auth-card p { color:var(--muted); }
.account-auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }.account-auth-grid .auth-card { margin:0; max-width:none; }
form { display:grid; gap:18px; } label { display:grid; gap:7px; font-size:.86rem; font-weight:750; }
input,textarea { width:100%; border:1px solid #c9c4b8; border-radius:3px; background:white; color:var(--ink); padding:12px 13px; font:inherit; } input:focus,textarea:focus { outline:2px solid color-mix(in srgb,var(--blue) 40%,transparent); border-color:var(--blue); }
button { border:0; border-radius:3px; padding:13px 18px; background:var(--ink); color:white; font-weight:800; cursor:pointer; } button.secondary { background:transparent; color:var(--ink); border:1px solid #aaa; }
.message { min-height:1.5em; margin:0; color:#a33 !important; font-weight:700; }.check { display:flex; grid-template-columns:auto 1fr; align-items:start; gap:10px; font-weight:500; }.check input { width:18px; height:18px; margin-top:2px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }.panel-heading h2,.panel-heading h3 { margin:3px 0 0; }.admin-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:24px; margin-bottom:24px; }
.boundary-note { background:var(--ink); color:white; }.boundary-note p,.boundary-note dd { color:#d7e1dc; }.boundary-note dl { margin:0; }.boundary-note dt { color:#fff; font-weight:800; margin-top:16px; }.boundary-note dd { margin:4px 0 0; }
.customers-panel,.documents-panel { margin-top:24px; }.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; font-size:.9rem; } th,td { padding:12px 10px; text-align:left; border-bottom:1px solid #e4dfd4; white-space:nowrap; } th { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }.empty { color:var(--muted); margin-bottom:0; }.document { display:flex; gap:15px; padding:15px 0; border-bottom:1px solid #ddd; }.document small { margin-left:auto; color:var(--muted); }
small { color:var(--muted); } [hidden] { display:none !important; }
@media (max-width:760px) { .portal-header { min-height:76px; padding:14px 20px; gap:14px; }.portal-header img { width:112px; }.portal-header div { padding-left:14px; }.portal-header span { display:none; }.portal-header h1 { font-size:1rem; }.quiet-link { font-size:.85rem; }.account-auth-grid,.admin-grid,.form-row { grid-template-columns:1fr; }.auth-card,.panel { padding:24px; }.panel-heading { align-items:flex-start; } }
