:root{color-scheme:light;--border:#e2e2e2;--muted:#666;--accent:#0f5132;--bg-alt:#fafafa}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:#fff}a{color:var(--accent)}nav.topnav{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border)}nav.topnav .brand{font-weight:700}nav.topnav .spacer{flex:1 1}main{padding:1.5rem;max-width:1100px;margin:0 auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:var(--bg-alt);border:1px solid var(--border)}.badge.status-success{color:#0f5132;border-color:#badbcc;background:#d1e7dd}.badge.status-failed{color:#842029;border-color:#f5c2c7;background:#f8d7da}.badge.status-running{color:#664d03;border-color:#ffecb5;background:#fff3cd}.badge.status-submitted{color:#084298;border-color:#b6d4fe;background:#cfe2ff}.badge.status-reviewing{color:#664d03;border-color:#ffecb5;background:#fff3cd}.badge.status-quoted{color:#41007a;border-color:#d5b8f5;background:#ecdaf9}.badge.status-accepted{color:#0f5132;border-color:#badbcc;background:#d1e7dd}.badge.status-declined{color:#842029;border-color:#f5c2c7;background:#f8d7da}.badge.status-closed,.badge.status-draft{color:#495057;border-color:#d3d6d8;background:#e9ecef}.badge.status-issued{color:#084298;border-color:#b6d4fe;background:#cfe2ff}.badge.status-in_fulfillment{color:#664d03;border-color:#ffecb5;background:#fff3cd}.badge.status-delivered,.badge.status-invoiced{color:#41007a;border-color:#d5b8f5;background:#ecdaf9}.badge.status-cancelled{color:#842029;border-color:#f5c2c7;background:#f8d7da}.badge.status-active{color:#0f5132;border-color:#badbcc;background:#d1e7dd}.badge.status-completed{color:#495057;border-color:#d3d6d8;background:#e9ecef}.badge.status-terminated{color:#842029;border-color:#f5c2c7;background:#f8d7da}.badge.status-edited{color:#664d03;border-color:#ffecb5;background:#fff3cd}.badge.status-approved{color:#084298;border-color:#b6d4fe;background:#cfe2ff}.badge.status-sent{color:#0f5132;border-color:#badbcc;background:#d1e7dd}.badge.status-skipped{color:#495057;border-color:#d3d6d8;background:#e9ecef}.badge.sector-government{color:#084298;border-color:#b6d4fe;background:#cfe2ff}.badge.sector-ngo{color:#664d03;border-color:#ffecb5;background:#fff3cd}.badge.sector-private{color:#41007a;border-color:#d5b8f5;background:#ecdaf9}.card{border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:320px;padding:2rem;border:1px solid var(--border);border-radius:8px}.login-card input,.login-card select{width:100%;padding:.5rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:4px;font:inherit}.login-card button{width:100%;padding:.6rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.error-text{color:#842029;font-size:.85rem;margin-bottom:.5rem}.muted{color:var(--muted);font-size:.85rem}.link-button{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:inherit}