:root{--ink:#17211b;--muted:#657068;--paper:#fbfaf5;--card:#fff;--line:#dfe4dc;--green:#315c45;--green-dark:#204532;--red:#9a352d;--shadow:0 12px 36px rgba(30,50,39,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.site-header{min-height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));background:var(--green-dark);display:flex;align-items:center;gap:28px;color:#fff}.brand{font-family:Georgia,serif;font-weight:700;color:#fff;text-decoration:none;font-size:20px;white-space:nowrap}.site-header nav{display:flex;gap:18px;flex:1}.site-header nav a,.link-button{color:#e8f2eb;text-decoration:none;background:none;border:0;padding:8px 0;font:inherit}.site-header nav a:hover,.link-button:hover{text-decoration:underline}.logout{margin:0}.shell{width:min(1180px,calc(100% - 32px));margin:38px auto 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}h1,h2{font-family:Georgia,serif}h1{font-size:clamp(32px,5vw,48px);line-height:1.05;margin:3px 0}h2{font-size:22px;margin:0 0 16px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:var(--green);margin:0}.muted,small{color:var(--muted)}small{display:block}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:24px}.stats article,.panel,.auth-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stats article{padding:22px}.stats span{display:block;color:var(--muted)}.stats strong{font:700 36px Georgia,serif;color:var(--green-dark)}.panel{padding:22px;margin-bottom:22px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}.row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.row:last-child{border-bottom:0}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf3ee;color:var(--green-dark);font-size:12px;text-transform:capitalize;white-space:nowrap}.notice,.error,.warning{padding:13px 16px;border-radius:10px;margin:0 0 20px}.notice{background:#e6f2e9;border:1px solid #b9d7c0}.error{background:#fbe9e7;border:1px solid #e4b5b0;color:#792820}.warning{background:#fff4d8;border:1px solid #e6c87e;color:#6c5014}.auth-card{max-width:460px;margin:8vh auto;padding:34px}.stack{display:grid;gap:18px}label{font-weight:700;display:grid;gap:6px}input,select,textarea{width:100%;border:1px solid #bdc7be;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(49,92,69,.18);border-color:var(--green)}button,.button{border:0;border-radius:8px;padding:10px 15px;background:var(--green);color:#fff;font-weight:750;font:inherit;text-decoration:none;cursor:pointer;display:inline-block}button:hover,.button:hover{background:var(--green-dark)}.secondary{background:#e8efe9;color:var(--green-dark)}.danger{background:var(--red)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search{display:flex;gap:10px;margin-bottom:20px}.search input{flex:1}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f5f7f3}td a{color:var(--green-dark);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.compact{margin-top:18px}.balance{color:var(--green-dark)}.positive{color:#20733d;font-weight:700}.negative{color:var(--red);font-weight:700}address{font-style:normal}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}details summary{font-weight:800;cursor:pointer}@media(max-width:800px){.site-header{padding:14px 18px;align-items:flex-start;flex-wrap:wrap}.site-header nav{order:3;width:100%;overflow-x:auto}.shell{margin-top:24px}.stats,.two-column,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.page-heading{align-items:flex-start}.stats{gap:10px}}
