@import url("https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700&family=Josefin+Sans:wght@600;700&display=swap");
:root{--green:#24563f;--green-dark:#113823;--orange:#f58220;--gray:#6e787a;--bg:#ebebe8;--ink:#231f20;--white:#fff;--border:#d7d9d5;--danger:#a7352a;--radius:10px;--shadow:0 6px 24px rgba(17,56,35,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Fira Sans",Arial,sans-serif}.topbar{height:76px;background:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:22px;text-decoration:none;color:var(--green-dark);font-family:"Josefin Sans",Arial,sans-serif;font-weight:700;letter-spacing:.08em}.brand img{width:164px;height:auto}.user-area{display:flex;gap:18px;align-items:center;color:var(--gray);font-size:14px}.user-area form{margin:0}.link-button{border:0;background:none;color:var(--green);font:inherit;font-weight:600;cursor:pointer}.module-nav{height:50px;background:var(--green-dark);display:flex;align-items:center;padding:0 32px;gap:28px}.module-nav a{color:white;text-decoration:none;font-weight:600;height:50px;display:flex;align-items:center;border-bottom:3px solid var(--orange)}.module-nav .future{color:#bdc9c2;font-size:13px}.page-shell{max-width:1380px;margin:0 auto;padding:34px 32px 60px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.heading-actions{display:flex;gap:10px}.eyebrow{font-family:"Josefin Sans",Arial,sans-serif;color:var(--orange);font-weight:700;letter-spacing:.1em;font-size:12px;margin:0 0 6px}.page-heading h1,.login-card h1{font-family:"Josefin Sans",Arial,sans-serif;color:var(--green-dark);text-transform:uppercase;margin:0;font-size:32px}.muted{color:var(--gray)}.button{min-height:44px;border-radius:6px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;text-decoration:none;font-weight:600;cursor:pointer}.primary{background:var(--orange);color:#fff}.primary:hover{background:#d96d12}.secondary{background:#fff;color:var(--green);border-color:var(--border)}.filters{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}.filters label,.stack-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--green-dark)}input,select{height:44px;border:1px solid #c8ceca;border-radius:6px;padding:0 12px;font:inherit;background:#fff;outline:none}input:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(245,130,32,.15)}.table-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%}th{text-align:left;font-family:"Josefin Sans",Arial,sans-serif;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--green-dark);background:#f6f7f5;padding:14px 16px;border-bottom:1px solid var(--border)}td{padding:16px;border-bottom:1px solid #e7e8e5;vertical-align:middle}td small{display:block;color:var(--gray);margin-top:4px}.status{display:inline-block;border-radius:999px;padding:6px 10px;background:#edf0ed;font-size:12px;font-weight:600;color:var(--green-dark)}.status-needs_review{background:#fff1e4;color:#9b4d0c}.status-reviewed,.status-approved{background:#e6f3eb;color:#24633f}.status-rejected{background:#f8e8e6;color:var(--danger)}.table-link{color:var(--green);font-weight:600}.empty-state{text-align:center;padding:54px!important}.empty-state span{display:block;color:var(--gray);margin-top:8px}.source-note{font-size:12px;color:var(--gray);margin-top:16px}.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.narrow-card{max-width:720px}.upload-form{display:grid;gap:18px}.drop-zone{border:2px dashed #b8c3bc;border-radius:10px;padding:42px 24px;display:grid;gap:8px;text-align:center;color:var(--green-dark);cursor:pointer}.drop-zone span{color:var(--gray);font-size:14px}.drop-zone input{height:auto;border:0;margin:16px auto 0;max-width:100%}.form-actions{display:flex;justify-content:flex-end;gap:12px}.review-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);gap:20px}.document-panel{min-height:520px;background:#dfe2de;border:1px solid var(--border);border-radius:var(--radius);display:grid;place-items:center;overflow:hidden}.document-preview{width:100%;height:680px;border:0;background:#fff}.document-image{display:block;max-width:100%;max-height:760px;object-fit:contain;padding:18px}.document-placeholder{text-align:center;color:var(--gray);display:grid;gap:8px}.form-card h2{font-family:"Josefin Sans",Arial,sans-serif;color:var(--green-dark);text-transform:uppercase}.metadata{display:grid;gap:0;margin-top:24px}.metadata div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e7e8e5}.metadata dt{color:var(--gray)}.metadata dd{margin:0;font-weight:600;text-align:right}.review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.field-grid label{display:grid;gap:6px;color:var(--green-dark);font-size:13px;font-weight:600}.field-grid textarea{border:1px solid #c8ceca;border-radius:6px;padding:12px;font:inherit;resize:vertical}.full-field{grid-column:1/-1}.field-error{color:var(--danger)}.login-card{width:min(430px,100%);margin:8vh auto;background:#fff;padding:38px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stack-form{display:grid;gap:12px;margin-top:26px}.stack-form .button{margin-top:8px}.messages{margin-bottom:18px}.message{padding:12px 14px;border-radius:6px;background:#e6f3eb;color:#24633f}.message.error{background:#f8e8e6;color:var(--danger)}@media(max-width:760px){.topbar{padding:0 18px}.brand span,.module-nav .future{display:none}.brand img{width:140px}.page-shell{padding:24px 16px}.page-heading{align-items:flex-start;gap:18px}.filters{grid-template-columns:1fr}.table-card{overflow-x:auto}table{min-width:760px}}
