:root{--blue:#1d5fbf;--blue2:#0f4e9d;--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#718096;--border:#e3e8ef;--danger:#b42318;--green:#18794e}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#0d2444;color:#dbe7f5;padding:24px 18px}.brand{font-size:22px;font-weight:800;color:white}.brand small{display:block;font-size:11px;color:#8fa8c5;letter-spacing:.12em;margin-top:3px}.nav{margin-top:28px;display:grid;gap:7px}.nav a{color:#dbe7f5;padding:10px 12px;border-radius:10px}.nav a:hover{background:#15365f}.main{padding:28px 34px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.userchip{background:white;border:1px solid var(--border);padding:8px 12px;border-radius:999px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 8px 26px rgba(30,60,90,.05)}.metric b{font-size:26px}.metric span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);font-size:14px}.table th{color:#5d6b7d;font-size:12px;text-transform:uppercase}.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:var(--blue);color:white;cursor:pointer}.btn.secondary{background:#eef3f9;color:#24415f}.btn.danger{background:#fff0ef;color:var(--danger)}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd8e3;border-radius:10px;background:white;font:inherit}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.messages{display:grid;gap:8px;margin-bottom:15px}.message{padding:10px 12px;border-radius:10px;background:#eaf4ff}.loginpage{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 15%,#dceeff 0,transparent 32%),linear-gradient(135deg,#f8fbff,#eef4fb)}.loginbox{width:min(430px,92vw);background:white;border:1px solid var(--border);border-radius:22px;padding:30px;box-shadow:0 24px 70px rgba(30,70,120,.14)}.loginbrand{text-align:center;margin-bottom:24px}.loginbrand h1{margin:6px 0;font-size:25px}.loginbrand p{margin:0;color:var(--muted)}.field{margin:12px 0}.actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef4fb;color:#315b86;font-size:12px}.danger{color:var(--danger)}.muted{color:var(--muted)}
body.dark{--bg:#101722;--card:#172231;--text:#edf4fb;--muted:#9fb0c2;--border:#2a3a4d}body.dark input,body.dark select,body.dark textarea{background:#0f1823;color:white;border-color:#34465b}body.dark .userchip{background:#172231}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px}.grid4{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}}@media(max-width:560px){.grid4{grid-template-columns:1fr}}
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.pagehead h1{margin:0 0 4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px}.span2{grid-column:span 2}.actions{display:flex;gap:8px;flex-wrap:wrap}.full{width:100%;margin-top:8px}.small{padding:7px 10px;font-size:12px}.compact th,.compact td{padding:8px}.right{text-align:right}.section{margin-top:16px}.dangerzone{border-color:#f3c7c2}.narrow{max-width:620px}.narrow label,.card>form>label{display:grid;gap:6px;margin:10px 0}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.top-actions{display:flex;align-items:center;gap:10px}.company-switch{display:flex;gap:6px;flex-wrap:wrap}.pill{padding:7px 10px;border-radius:999px;background:#edf3fa;color:#315b86;font-size:12px}.pill.active{background:var(--blue);color:white}.inline-form{display:flex;gap:6px;align-items:center;margin-top:8px}.inline-form input{min-width:150px}.public{background:radial-gradient(circle at top left,#dcecff,transparent 35%),var(--bg)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,94vw);background:white;border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:0 24px 70px rgba(30,70,120,.14)}.login-card label{display:grid;gap:6px;margin:12px 0}.login-brand{text-align:center;font-size:24px;font-weight:800;margin-bottom:20px}.login-brand small{display:block;font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--muted);margin-top:4px}.center{text-align:center}.portal{max-width:1100px;margin:0 auto;padding:32px}.message.success{background:#eaf8f0}.message.error{background:#fff0ef}.message.warning{background:#fff8e8}
@media(max-width:900px){.grid2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.pagehead{align-items:flex-start;flex-direction:column}.top-actions{align-items:flex-end;flex-direction:column}.inline-form{flex-direction:column;align-items:stretch}}
