:root{--navy:#17366d;--navy2:#102651;--gold:#d89527;--bg:#f4f6f9;--text:#182033;--muted:#687086;--border:#dfe4ec;--green:#1f8a59;--yellow:#b87a08;--red:#bf3d45;--white:#fff;--shadow:0 12px 30px rgba(28,45,78,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--navy);text-decoration:none}.topbar{height:70px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:19px;color:var(--navy)}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--gold);color:#fff;display:grid;place-items:center}.topbar nav{display:flex;gap:16px;align-items:center}.container{width:min(1120px,calc(100% - 32px));margin:34px auto 70px}.footer{text-align:center;color:var(--muted);padding:25px;font-size:13px}h1{font-size:31px;margin:0 0 8px}h2{font-size:21px;margin:0 0 18px}.lead{color:var(--muted);margin-top:0}.card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-weight:700;font-size:14px;margin:0 0 7px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cfd6e2;border-radius:11px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(216,149,39,.18);border-color:var(--gold)}.field{margin-bottom:17px}.hint{font-size:13px;color:var(--muted);margin-top:6px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 17px;background:var(--navy);color:#fff;font-weight:750;cursor:pointer;font:inherit}.button:hover,button:hover{background:var(--navy2)}.button.gold{background:var(--gold)}.button.ghost{background:#eef2f8;color:var(--navy)}.button.small{padding:9px 12px;border-radius:9px;font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.badge.blue{background:#e8eef9;color:var(--navy)}.badge.green{background:#e5f5ed;color:var(--green)}.badge.yellow{background:#fff2d2;color:var(--yellow)}.badge.red{background:#fde8ea;color:var(--red)}.flash{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-weight:650}.flash.success{background:#e7f7ef;color:#176c47}.flash.error{background:#fde8ea;color:#9d2b34}.flash.info{background:#e9eff9;color:var(--navy)}.login-wrap{min-height:65vh;display:grid;place-items:center}.login-card{width:min(430px,100%)}.kpi{padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff}.kpi strong{font-size:28px;display:block;margin-bottom:4px;color:var(--navy)}.kpi span{font-size:13px;color:var(--muted)}.meta{display:grid;grid-template-columns:160px 1fr;gap:10px 18px}.meta dt{color:var(--muted)}.meta dd{margin:0;font-weight:650}pre.report{white-space:pre-wrap;background:#111827;color:#eef3ff;border-radius:14px;padding:18px;overflow:auto;line-height:1.55}.report-entry{border-left:5px solid var(--border);padding:12px 14px;margin:10px 0;background:#fafbfc;border-radius:8px}.report-entry.green{border-color:var(--green)}.report-entry.yellow{border-color:var(--yellow)}.report-entry.red{border-color:var(--red)}.empty{text-align:center;padding:50px 20px;color:var(--muted)}code{background:#eef2f8;padding:2px 6px;border-radius:6px}@media(max-width:760px){.grid.two,.grid.three{grid-template-columns:1fr}.topbar{padding:0 16px}.topbar nav a:not(.button){display:none}.container{width:min(100% - 20px,1120px);margin-top:20px}.meta{grid-template-columns:1fr;gap:3px}}
