:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#25241f;background:#f5f4ef;line-height:1.45}*{box-sizing:border-box}body{margin:0}.shell{max-width:1180px;margin:auto;padding:28px 20px 72px}.brandbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.brand{font-size:34px;font-weight:800;letter-spacing:-1.5px}.brand b{color:#3f8258}.brand small{font-size:14px;font-weight:700;margin-left:10px;letter-spacing:.08em;text-transform:uppercase;color:#666457}.card{background:#fff;border:1px solid #deddd5;border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 8px 30px rgba(35,33,28,.04)}.narrow{max-width:460px;margin:70px auto}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.compact{margin-top:16px}.stack{display:grid;gap:14px}.inline-form,.button-row,.section-head,.session{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.section-head{justify-content:space-between;align-items:center}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#3f8258;margin:0 0 4px}h1,h2,h3{margin:.1em 0 .5em}h1{font-size:28px}h2{font-size:20px}h3{font-size:16px}label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#4e4c43}input,select{width:100%;padding:10px 11px;border:1px solid #c9c7bd;border-radius:9px;background:#fff;font:inherit;color:#25241f}input:focus,select:focus{outline:3px solid rgba(63,130,88,.15);border-color:#3f8258}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}button{border:0;border-radius:9px;background:#3f8258;color:#fff;padding:10px 14px;font-weight:750;cursor:pointer}button.secondary{background:#edece6;color:#302f2a}button:disabled{opacity:.5;cursor:not-allowed}summary{cursor:pointer;font-weight:750;margin-top:14px}.muted{color:#6e6b61;font-size:13px}.message{min-height:22px;color:#8b352f;font-weight:650}.hidden{display:none!important}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #eceae3;white-space:nowrap}th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#777469}.input-row input{min-width:90px}.status-panel{margin-top:16px;border:1px solid #e2e0d8;border-radius:12px;background:#faf9f6;padding:16px;overflow:hidden}.status-grid,.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-item,.metric{background:#fff;border:1px solid #e7e5de;border-radius:10px;padding:12px}.status-label,.metric-label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#777469;font-weight:800;margin-bottom:4px}.status-value,.metric strong{font-size:14px;color:#25241f}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;text-transform:capitalize;background:#e7efe9;color:#2f6845}.status-pill.warn{background:#f7ecd5;color:#7a5a1f}.status-pill.neutral{background:#ecebe6;color:#5c5a52}.report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}.report-meta{font-size:12px;color:#6e6b61}.report-table th,.report-table td{padding:9px 7px}.money{text-align:right;font-variant-numeric:tabular-nums}.totals-row td{font-weight:800;border-top:2px solid #d9d7ce}.banner{border-radius:10px;padding:11px 12px;margin-bottom:12px;font-size:13px;font-weight:650}.banner.success{background:#e7efe9;color:#2f6845}.banner.warning{background:#f7ecd5;color:#7a5a1f}.issue-list{display:grid;gap:8px;margin-top:12px}.issue{background:#fff;border:1px solid #e7e5de;border-left:4px solid #b9802d;border-radius:8px;padding:10px}.issue.blocker{border-left-color:#a5483f}.issue-title{font-weight:800;font-size:12px}.issue-meta{font-size:11px;color:#777469;margin-top:2px}.empty-state{margin:0;color:#777469;font-size:13px}.exception-row td{background:#fff9ef}.section-note{margin:6px 0 0;color:#6e6b61;font-size:12px}@media(max-width:780px){.grid.two,.grid.three,.status-grid,.metric-grid{grid-template-columns:1fr}.brandbar{align-items:flex-start}.shell{padding:18px 12px}.narrow{margin:30px auto}}