:root{--ink:#17202a;--muted:#667085;--line:#d9dee7;--surface:#fff;--canvas:#f5f7fb;--brand:#1e4ed8;--danger:#b42318}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,sans-serif;line-height:1.5}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.primary-button,.secondary-button,.danger-button{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:8px;padding:.7rem 1rem;display:inline-block}button:disabled{cursor:wait;opacity:.6}.primary-button{background:var(--brand);color:#fff}.secondary-button{background:var(--surface);border-color:var(--line);color:var(--ink)}.danger-button{color:var(--danger);background:#fff;border-color:#f0b8b3}.link-button{color:var(--brand);background:0 0;border:0;padding:0}.site-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem max(1.25rem,50vw - 550px);display:flex}.site-header nav{align-items:center;gap:1rem;display:flex}.brand{color:var(--ink);font-size:1.2rem;font-weight:800}.user-email{color:var(--muted);font-size:.9rem}.page-container{max-width:1100px;margin:0 auto;padding:3rem 1.25rem}.hero{text-align:center;max-width:700px;margin:10vh auto}.hero h1{margin:.5rem 0 1rem;font-size:clamp(2.5rem,7vw,5rem);line-height:1}.lead{color:var(--muted);font-size:1.2rem}.actions{justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.narrow-page{max-width:480px;margin:0 auto}.page-heading,.section-heading,.card-topline{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-heading{margin-bottom:1.5rem}h1{margin:.35rem 0;font-size:clamp(2rem,5vw,3rem);line-height:1.1}h2{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.form-stack{gap:1rem;display:grid}label{margin-bottom:.35rem;font-size:.9rem;font-weight:700;display:block}input,select{color:var(--ink);background:#fff;border:1px solid #b8c0cc;border-radius:7px;width:100%;padding:.65rem .7rem}input:focus,select:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #9db8ff}.field-error{color:var(--danger);margin-top:.25rem;font-size:.85rem;display:block}.muted{color:var(--muted)}.alert{border-radius:8px;padding:.75rem 1rem}.error{color:var(--danger);background:#fff0ef}.document-grid,.report-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.document-card{color:var(--ink);gap:.5rem;display:grid}.document-card:hover{border-color:var(--brand);text-decoration:none}.document-card h2{font-size:1.15rem}.document-card strong{font-size:1.5rem}.status{text-transform:capitalize;border-radius:99px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.status-draft{color:#3730a3;background:#eef2ff}.status-finalized{color:#167343;background:#e8f7ee}.empty-state{text-align:center;margin-top:1rem}.editor-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:1rem;display:grid}.editor-main{gap:1rem;display:grid}.totals{gap:.85rem;display:grid;position:sticky;top:1rem}.total-row{justify-content:space-between;gap:1rem;display:flex}.total-grand{border-top:1px solid var(--line);padding-top:.85rem;font-size:1.2rem}.full-width{width:100%}.back-link{margin-bottom:1rem;display:inline-block}.line-form{border-top:1px solid var(--line);gap:.8rem;padding-top:1rem;display:grid}.line-form-grid{grid-template-columns:2fr repeat(5,1fr);gap:.7rem;display:grid}.line-actions{gap:.5rem;display:flex}.line-readonly{border-top:1px solid var(--line);grid-template-columns:2fr 1fr 1fr;align-items:center;gap:.5rem;padding:1rem 0;display:grid}.date-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem;margin-bottom:1.25rem;display:grid}.metric{gap:.5rem;display:grid}.metric strong{font-size:1.8rem}.sr-only{width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (max-width:760px){.site-header{flex-direction:column;align-items:start;gap:.75rem}.site-header nav{flex-wrap:wrap}.editor-layout{grid-template-columns:1fr}.totals{position:static}.line-form-grid,.date-form{grid-template-columns:1fr 1fr}.date-form .primary-button{grid-column:1/-1}}@media (max-width:480px){.page-container{padding-top:2rem}.page-heading{flex-direction:column;align-items:start}.line-form-grid{grid-template-columns:1fr}.actions{flex-direction:column}}
