*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#1f2937;font:14px Arial,sans-serif}header{background:#172033;color:#fff;padding:14px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}header>a{color:#fff;text-decoration:none;font-size:20px;font-weight:700}header small{background:#2563eb;padding:3px 6px;border-radius:5px}nav{display:flex;gap:6px;flex-wrap:wrap}header nav a,header span a{color:#dbeafe;text-decoration:none;padding:7px}.container,main{max-width:1400px;margin:25px auto;padding:0 18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.card,.form,.result{background:#fff;border:1px solid #dbe2ea;border-radius:10px;padding:18px}.stat{font-size:30px;font-weight:bold}.muted{color:#64748b}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.btn,button{border:0;border-radius:7px;background:#2563eb;color:#fff;padding:9px 14px;text-decoration:none;cursor:pointer}.success{background:#059669}.table-wrap{overflow:auto;border:1px solid #dbe2ea;border-radius:10px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}th{background:#eef2f7}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;font-weight:600}input,select,textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}textarea{min-height:90px}.full{grid-column:1/-1}.alert{padding:12px;border-radius:8px;margin-bottom:14px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.login{max-width:430px;margin:70px auto}footer{text-align:center;color:#64748b;padding:30px}@media(max-width:700px){.row{grid-template-columns:1fr}header{display:block}nav{margin:12px 0}}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:18px;margin:0 0 18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.muted{color:#666}.small{font-size:.85rem;padding:5px 8px}.btn.danger,button.danger{background:#b42318;color:#fff}.btn{display:inline-block}.card hr{border:0;border-top:1px solid #ddd;margin:18px 0}@media(max-width:1100px){.grid3{grid-template-columns:1fr}} 

.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase}.badge.up{background:#dcfce7;color:#166534}.badge.down{background:#fee2e2;color:#991b1b}.badge.unknown{background:#fef3c7;color:#92400e}.badge.off{background:#e5e7eb;color:#374151}.kpi-down{color:#b42318}.kpi-up{color:#047857}.kpi-unknown{color:#92400e}.muted-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:10px 12px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.nowrap{white-space:nowrap}.hint{color:#64748b;font-size:12px;margin-top:4px}.form-inline{display:inline}.monitoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #dbe2ea;border-radius:10px;padding:16px}.stat-card .label{color:#64748b}.stat-card .value{font-size:28px;font-weight:700;margin-top:4px}.stat-card.up .value{color:#047857}.stat-card.down .value{color:#b42318}.stat-card.warn .value{color:#92400e}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.status-dot.up{background:#16a34a}.status-dot.down{background:#dc2626}.status-dot.unknown{background:#d97706}

.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.module-card{display:block;background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:20px;text-decoration:none;color:#172033;box-shadow:0 1px 2px rgba(0,0,0,.04)}.module-card:hover{border-color:#2563eb;transform:translateY(-1px)}.module-icon{font-size:30px}.module-card h2{margin:8px 0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:9px 12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;text-decoration:none;color:#172033}.kpi{font-size:28px;font-weight:700}