:root { --ink:#19251f; --green:#185b3d; --cream:#f7f4ec; --line:#d9ded9; --danger:#a43030; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; border:0; border-radius:8px; padding:.72rem 1rem; color:#fff; background:var(--green); font-weight:700; }
button.secondary { background:#fff; color:var(--green); border:1px solid var(--green); }
.page-shell { width:min(100% - 2rem, 1080px); margin:0 auto; padding:2rem 0 4rem; }
.auth-card,.panel { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 5px 24px #18251b0d; }
.auth-card { max-width:420px; margin:10vh auto; padding:2rem; }
.panel { margin-top:1.25rem; padding:1.4rem; }
.app-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:1.25rem 0; }
.summary-grid article { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem; display:grid; gap:.25rem; }
.summary-grid span { color:#59645d; font-size:.82rem; }.summary-grid strong { color:var(--green); font-size:1.65rem; }
.tab-nav { display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.25rem; }.tab-nav button { background:#e4ebe6; color:#335544; white-space:nowrap; }.tab-nav button.active { color:#fff; background:var(--green); }
.two-col { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:1.25rem; align-items:start; }.two-col .panel { margin-top:1.25rem; }.narrow { max-width:520px; }.small { font-size:.84rem; margin-top:1rem; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:.25rem; } h2 { font-size:1.1rem; }
.eyebrow { color:var(--green); font-weight:800; letter-spacing:.1em; font-size:.72rem; margin-bottom:.35rem; }
.muted { color:#59645d; }
form { display:grid; gap:1rem; } label { display:grid; gap:.35rem; font-weight:650; }
input,select,textarea { width:100%; border:1px solid #afb9b1; border-radius:7px; padding:.65rem; background:#fff; }
input:focus,select:focus,textarea:focus { outline:3px solid #a9d9bd; border-color:var(--green); }
.form-error { color:var(--danger); font-size:.9rem; margin:0; }.notice { padding:1rem; margin:1rem 0; border-radius:8px; background:#e2f1e7; color:#174b31; }
.table-wrap { overflow-x:auto; } table { width:100%; border-collapse:collapse; text-align:left; } th,td { padding:.75rem; border-bottom:1px solid var(--line); white-space:nowrap; } th { font-size:.8rem; color:#526158; }
@media (max-width:720px) { .summary-grid { grid-template-columns:repeat(2,1fr); }.two-col { grid-template-columns:1fr; }.page-shell { width:min(100% - 1.25rem,1080px); padding-top:1.25rem; }.auth-card { margin:4vh auto; }.app-header { align-items:flex-start; } }
