:root{--bg-primary: #070A0F;--bg-secondary: #0D1118;--bg-card: #111620;--bg-card-alt: #0F1420;--bg-input: #151D2B;--bg-hover: rgba(0, 229, 255, .04);--text-primary: #D4E0F0;--text-secondary: #8A9AB5;--text-muted: #5A7090;--text-dim: #3A4F6A;--accent: #00E5FF;--accent-hover: #00C8E0;--accent-dim: rgba(0, 229, 255, .12);--accent-glow: rgba(0, 229, 255, .25);--magenta: #FF2D78;--magenta-dim: rgba(255, 45, 120, .12);--purple: #9D7FFF;--purple-dim: rgba(157, 127, 255, .12);--success: #00FF9C;--success-dim: rgba(0, 255, 156, .12);--danger: #FF4D6A;--danger-hover: #E8365A;--danger-dim: rgba(255, 77, 106, .12);--warning: #FFB830;--warning-dim: rgba(255, 184, 48, .12);--border: #1A2235;--border-light: #243050;--radius: 10px;--radius-lg: 14px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-display: "Syne", "Rajdhani", sans-serif;--font-body: "DM Sans", "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:230px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:var(--spacing-lg) 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-sidebar__title{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--accent);padding:0 var(--spacing-lg);margin-bottom:var(--spacing-xs);letter-spacing:.04em;text-shadow:0 0 20px var(--accent-glow)}.admin-sidebar__subtitle{font-size:.65rem;font-family:var(--font-mono);color:var(--text-dim);padding:0 var(--spacing-lg);margin-bottom:var(--spacing-lg);letter-spacing:.08em;text-transform:uppercase}.admin-sidebar__nav{display:flex;flex-direction:column;gap:2px;flex:1;padding:0 var(--spacing-sm)}.admin-sidebar__link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:8px;transition:all .15s ease}.admin-sidebar__link:hover{background:var(--bg-hover);color:var(--text-secondary)}.admin-sidebar__link--active{background:var(--accent-dim);color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.admin-sidebar__logout{margin-top:auto;padding:var(--spacing-sm) var(--spacing-lg)}.admin-main{flex:1;padding:var(--spacing-xl);overflow-y:auto;min-height:100vh}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,rgba(0,229,255,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(255,45,120,.04) 0%,transparent 60%)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);width:100%;max-width:400px;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--magenta),var(--purple))}.login-card h1{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--accent);margin-bottom:var(--spacing-xs);text-align:center;letter-spacing:.03em;text-shadow:0 0 30px var(--accent-glow)}.login-card__subtitle{text-align:center;font-size:.75rem;font-family:var(--font-mono);color:var(--text-dim);margin-bottom:var(--spacing-lg);letter-spacing:.08em;text-transform:uppercase}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:.7rem;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.08em}.form-input{width:100%;padding:10px var(--spacing-md);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-input::placeholder{color:var(--text-dim)}.form-select{width:100%;padding:10px var(--spacing-md);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;cursor:pointer;transition:border-color .2s}.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:10px var(--spacing-md);border:none;border-radius:8px;font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn--primary{background:var(--accent);color:#070a0f}.btn--primary:hover{background:var(--accent-hover);box-shadow:0 0 16px var(--accent-dim)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{background:var(--danger-hover);box-shadow:0 0 16px var(--danger-dim)}.btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn--ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.btn--full{width:100%}.btn--sm{padding:6px var(--spacing-sm);font-size:.78rem}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;position:relative;overflow:hidden;transition:border-color .2s}.stat-card:hover{border-color:var(--border-light)}.stat-card:after{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle at top right,var(--accent-dim),transparent 70%);border-radius:0 var(--radius-lg) 0 80%;pointer-events:none}.stat-card__label{font-size:.7rem;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.stat-card__value{font-size:2rem;font-weight:700;font-family:var(--font-display);color:var(--accent);margin-top:6px;text-shadow:0 0 20px var(--accent-dim)}.data-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.data-table-toolbar{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--bg-card-alt)}.data-table-toolbar .form-input,.data-table-toolbar .form-select{max-width:250px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px var(--spacing-md);font-size:.68rem;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.data-table td{padding:10px var(--spacing-md);font-size:.875rem;border-bottom:1px solid var(--border)}.data-table tr:hover td{background:var(--bg-hover)}.data-table__actions{display:flex;gap:var(--spacing-xs)}.data-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-top:1px solid var(--border);font-size:.8rem;font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;gap:var(--spacing-sm);background:var(--bg-card-alt)}.data-table-pagination__info{display:flex;align-items:center;gap:var(--spacing-md)}.data-table-pagination__limit{width:auto;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.data-table-pagination__buttons{display:flex;gap:4px;align-items:center}.data-table-pagination__ellipsis{padding:0 var(--spacing-xs);color:var(--text-dim)}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em}.badge--active,.badge--online{background:var(--success-dim);color:var(--success)}.badge--inactive,.badge--offline{background:var(--danger-dim);color:var(--danger)}.badge--warning,.badge--late,.badge--stale{background:var(--warning-dim);color:var(--warning)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--purple))}.modal--wide{max-width:800px}.modal h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.modal__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.page-header{margin-bottom:var(--spacing-xl)}.page-header h1{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;font-size:.875rem;margin-bottom:var(--spacing-md)}.alert--error{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(255,77,106,.25)}.alert--success{background:var(--success-dim);color:var(--success);border:1px solid rgba(0,255,156,.25)}.toast{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:9999;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;font-size:.875rem;font-weight:600;box-shadow:0 8px 32px #00000080;animation:toastSlideIn .3s ease-out}.toast--success{background:#00ff9c26;color:var(--success);border:1px solid rgba(0,255,156,.3)}.toast--error{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(255,77,106,.3)}.toast__close{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;opacity:.7;padding:0 0 0 var(--spacing-sm);line-height:1}.toast__close:hover{opacity:1}@keyframes toastSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.spinner{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-muted);font-family:var(--font-mono);font-size:.85rem}.monitoring-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);margin-bottom:var(--spacing-lg)}.monitoring-banner--healthy{background:var(--success-dim);border:1px solid rgba(0,255,156,.2)}.monitoring-banner--warning{background:var(--warning-dim);border:1px solid rgba(255,184,48,.2)}.monitoring-banner--critical{background:var(--danger-dim);border:1px solid rgba(255,77,106,.2)}.monitoring-banner__icon{font-size:1.5rem}.monitoring-banner__title{font-size:.95rem;font-weight:700}.monitoring-banner--healthy .monitoring-banner__title{color:var(--success)}.monitoring-banner--warning .monitoring-banner__title{color:var(--warning)}.monitoring-banner--critical .monitoring-banner__title{color:var(--danger)}.monitoring-banner__details{font-size:.78rem;color:var(--text-muted);margin-top:2px}.monitoring-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media (max-width: 900px){.monitoring-grid{grid-template-columns:1fr}}.monitoring-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.monitoring-card__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border);background:var(--bg-card-alt)}.monitoring-card__header h2{font-family:var(--font-display);font-size:.95rem;font-weight:700}.monitoring-card__body{padding:var(--spacing-lg)}.monitoring-kpi-row{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-md)}.monitoring-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md)}.monitoring-kpi-item{text-align:center}.monitoring-kpi-label{font-size:.65rem;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.monitoring-kpi-value{font-size:1.4rem;font-weight:700;font-family:var(--font-display);color:var(--accent);margin-top:2px;text-shadow:0 0 12px var(--accent-dim)}.monitoring-kpi-value--danger{color:var(--danger);text-shadow:0 0 12px var(--danger-dim)}.monitoring-progress{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.monitoring-progress__bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease;box-shadow:0 0 8px var(--accent-dim)}.monitoring-progress__bar--warning{background:var(--warning);box-shadow:0 0 8px var(--warning-dim)}.monitoring-progress__bar--danger{background:var(--danger);box-shadow:0 0 8px var(--danger-dim)}.monitoring-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-dim);font-size:.875rem}.monitoring-row--open td{background:var(--danger-dim)}.auto-refresh{font-size:.7rem;font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.04em}.range-selector{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);align-items:center;flex-wrap:wrap}.range-btn--active{background:var(--accent)!important;color:#070a0f!important;border-color:var(--accent)!important;box-shadow:0 0 12px var(--accent-dim)}.detail-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-lg);margin:var(--spacing-md) 0 var(--spacing-lg)}.detail-panel h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.section-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);color:var(--text-primary)}.collapsible{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-secondary);padding:var(--spacing-md);border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;border:1px solid var(--border)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
