:root{--bg: #f6f7fb;--card: #ffffff;--ink: #101828;--muted: #667085;--line: #e4e7ec;--brand: #4f46e5;--brand-soft: #eef2ff;--ok: #067647;--ok-soft: #ecfdf3;--warn: #b54708;--warn-soft: #fffaeb;--bad: #b42318;--bad-soft: #fef3f2;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1040px;margin:0 auto;padding:0 20px}.topbar{background:var(--card);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{text-align:left}.brand strong{font-size:17px;letter-spacing:-.2px}.brand span{display:block;font-size:12px;color:var(--muted)}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{padding:8px 14px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:500}.nav a:hover{text-decoration:none;background:var(--bg);color:var(--ink)}.nav a.active{background:var(--brand-soft);color:var(--brand)}main{padding:32px 0 64px}h1{font-size:24px;letter-spacing:-.4px;margin:0 0 4px}.subtitle{color:var(--muted);margin:0 0 24px;font-size:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px}.card h2{font-size:16px;margin:0 0 14px}.grid{display:grid;gap:16px}.grid.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:26px;font-weight:700;letter-spacing:-.5px;margin-top:2px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge.neutral{background:var(--bg);color:var(--muted)}.badge.info{background:var(--brand-soft);color:var(--brand)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:var(--card);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.field{margin-bottom:14px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.row{grid-template-columns:1fr}}button,.btn{display:inline-block;padding:10px 18px;border-radius:10px;border:none;background:var(--brand);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}button:hover,.btn:hover{filter:brightness(1.07)}button.secondary{background:var(--bg);color:var(--ink);border:1px solid var(--line)}button.small{padding:6px 12px;font-size:13px}.notice{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:18px}.notice.ok{background:var(--ok-soft);color:var(--ok)}.notice.bad{background:var(--bad-soft);color:var(--bad)}.empty{color:var(--muted);font-size:14px;padding:24px 0;text-align:center}.login-wrap{min-height:70vh;display:grid;place-items:center}.login-card{width:100%;max-width:420px}
