*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #21242f;--bg-hover: #2a2d3a;--text-primary: #e4e6eb;--text-secondary: #9ca3af;--text-muted: #6b7280;--border: #2d3140;--accent: #3b82f6;--accent-hover: #2563eb;--green: #22c55e;--green-bg: rgba(34, 197, 94, .1);--red: #ef4444;--red-bg: rgba(239, 68, 68, .1);--yellow: #eab308;--yellow-bg: rgba(234, 179, 8, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:380px}.login-card h1{text-align:center;margin-bottom:24px;font-size:1.5rem}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card input{padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.login-card input:focus{border-color:var(--accent)}.login-card button{padding:12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.login-card button:hover{background:var(--accent-hover)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--red);font-size:13px;text-align:center}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.logo{padding:0 20px;font-size:1.1rem;font-weight:700;margin-bottom:32px;color:var(--accent)}.nav-links{display:flex;flex-direction:column;gap:2px;flex:1}.nav-links a{padding:10px 20px;color:var(--text-secondary);text-decoration:none;font-size:14px;transition:all .2s}.nav-links a:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-links a.active{background:#3b82f61a;color:var(--accent);border-right:3px solid var(--accent)}.logout-btn{margin:0 12px;padding:10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.content{margin-left:220px;flex:1;padding:24px 32px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-header h2{font-size:1.3rem}.last-update{color:var(--text-muted);font-size:13px}.regions-grid{display:flex;flex-direction:column;gap:24px}.region-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.region-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.region-header h3{display:flex;align-items:center;gap:10px;font-size:1rem}.region-indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.region-indicator.up{background:var(--green);box-shadow:0 0 8px #22c55e66}.region-indicator.down{background:var(--red);box-shadow:0 0 8px #ef444466}.region-count{color:var(--text-muted);font-size:13px}.services-list{display:flex;flex-direction:column}.service-card{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);transition:background .2s}.service-card:last-child{border-bottom:none}.service-card:hover{background:var(--bg-hover)}.service-card.down{background:var(--red-bg)}.service-main{display:flex;align-items:center;gap:12px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.up{background:var(--green)}.status-dot.down{background:var(--red);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.service-info{display:flex;flex-direction:column}.service-name{font-weight:600;font-size:14px}.service-url{color:var(--text-muted);font-size:12px;font-family:monospace}.service-metrics{display:flex;gap:24px}.metric{display:flex;flex-direction:column;align-items:flex-end}.metric-value{font-size:14px;font-weight:600;font-family:monospace}.metric-label{font-size:11px;color:var(--text-muted)}.uptime-excellent,.uptime-good{color:var(--green)}.uptime-warning{color:var(--yellow)}.uptime-critical{color:var(--red)}.incidents-page{max-width:100%}.incidents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.incidents-header h2{font-size:1.3rem}.incidents-header select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:13px;outline:none}.incidents-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.incidents-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-card);border-bottom:1px solid var(--border)}.incidents-table td{padding:12px 16px;font-size:13px;border-bottom:1px solid var(--border)}.incidents-table tr:last-child td{border-bottom:none}.incidents-table tr.ongoing{background:var(--red-bg)}.badge{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600}.badge.resolved{background:var(--green-bg);color:var(--green)}.badge.active{background:var(--red-bg);color:var(--red)}.error-cell{color:var(--text-muted);font-family:monospace;font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px}.pagination button{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--bg-hover)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{color:var(--text-secondary);font-size:13px}.loading,.empty{text-align:center;padding:40px;color:var(--text-muted)}.error-banner{background:var(--red-bg);color:var(--red);padding:12px 16px;border-radius:8px;margin-bottom:16px}@media(max-width:768px){.sidebar{width:60px}.logo,.nav-links a span,.logout-btn{display:none}.content{margin-left:60px;padding:16px}.service-metrics{gap:12px}}
