:root{font-family:Inter,system-ui,sans-serif;color:#162033;background:#f3f6fb}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1200px;margin:0 auto;padding:30px 18px 60px}header{background:linear-gradient(135deg,#132b57,#2457a6);color:#fff;padding:30px;border-radius:18px;margin-bottom:20px;box-shadow:0 12px 30px #17356722}h1{margin:8px 0 4px}h2{font-size:1.15rem;margin-top:0}.badge{display:inline-block;background:#d7f7e5;color:#086b37;padding:5px 9px;border-radius:99px;font-size:.75rem;font-weight:800}.card{background:#fff;border:1px solid #dfe6f1;border-radius:16px;padding:22px;margin:16px 0;box-shadow:0 5px 18px #192d4d0d}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.wide{grid-column:1/-1}label{font-size:.84rem;font-weight:700;color:#3a4960}input,select{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #cbd5e4;border-radius:8px;background:#fff;color:#162033}.actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}button{border:0;border-radius:9px;background:#1e55a5;color:#fff;padding:11px 15px;font-weight:750;cursor:pointer}.secondary{background:#e8eef8;color:#234a82}.danger{background:#fff0f0;color:#a32929}.alert{padding:13px 16px;border-radius:10px;margin:12px 0}.error{background:#feecec;color:#8e2020}.ok{background:#e8f8ef;color:#12643a}.muted{color:#64748b}.rules{display:grid;gap:8px}.rule{display:grid;grid-template-columns:1.3fr 1fr 1.3fr .7fr;gap:8px}.rule input,.rule select{margin:0}.head{font-size:.78rem;font-weight:800;color:#64748b;padding:0 4px}.inline{display:flex;align-items:center;gap:12px;margin-top:16px}.inline input{width:120px;margin:0}.table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.83rem;white-space:nowrap}th,td{text-align:left;padding:10px;border-bottom:1px solid #e4e9f1}th{background:#f6f8fc;position:sticky;top:0}.bad{background:#fff2f2}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.rule{grid-template-columns:1fr 1fr}.head{display:none}}@media(max-width:520px){.grid{grid-template-columns:1fr}.rule{grid-template-columns:1fr}.actions button{width:100%}}
