:root{--bg:#07090d;--panel:#101721;--panel2:#0c1119;--line:#243244;--text:#e8f3ff;--muted:#8ea0b8;--green:#25f08a;--red:#ff4f64;--yellow:#ffd166;--cyan:#48d7ff;--blue:#7aa2ff;--shadow:0 18px 50px rgba(0,0,0,.38)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0%,#142235 0,#07090d 42%,#030406 100%);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;min-height:100vh}.scanline{position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 50%,rgba(0,0,0,0) 50%);background-size:100% 4px;mix-blend-mode:overlay;opacity:.25}.shell{width:min(1280px,94vw);margin:0 auto;padding:32px 0 60px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(16,23,33,.95),rgba(8,12,18,.93));box-shadow:var(--shadow);border-radius:22px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-140px;top:-140px;width:320px;height:320px;background:radial-gradient(circle,rgba(72,215,255,.22),transparent 65%);pointer-events:none;z-index:0}.hero>*{position:relative;z-index:1}.back{position:relative;z-index:2}.hero h1{margin:.1rem 0;font-size:clamp(2rem,5vw,4.2rem);letter-spacing:-.06em}.hero p,.muted{color:var(--muted)}.eyebrow{color:var(--cyan);text-transform:uppercase;font-weight:800;letter-spacing:.18em;font-size:.74rem}.clock{text-align:right;border:1px solid var(--line);padding:14px 18px;border-radius:16px;background:#060a10}.clock span{display:block;font-size:1.55rem;font-family:Consolas,monospace;color:var(--green)}.clock small{color:var(--muted);font-weight:800;letter-spacing:.16em}.overall{margin:22px 0;display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--line);background:rgba(7,11,17,.8);border-radius:20px}.overall h2{margin:0;font-size:1.5rem}.overall p{margin:4px 0 0;color:var(--muted)}.status-orb{width:34px;height:34px;border-radius:50%;box-shadow:0 0 22px currentColor}.status-orb.up{background:var(--green);color:var(--green)}.status-orb.down{background:var(--red);color:var(--red)}.status-orb.unknown{background:var(--yellow);color:var(--yellow)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--panel),var(--panel2));box-shadow:var(--shadow)}.stat span{display:block;font-size:2.3rem;font-weight:900;color:var(--cyan)}.stat label{color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;font-weight:800}.toolbar{display:flex;gap:12px;margin:20px 0}.toolbar button,.toolbar a,.back{border:1px solid var(--line);background:#111b28;color:var(--text);padding:10px 14px;border-radius:12px;text-decoration:none;cursor:pointer;font-weight:800}.toolbar button:hover,.toolbar a:hover,.back:hover{border-color:var(--cyan)}.groups{display:grid;gap:20px}.group{border:1px solid var(--line);border-radius:20px;background:rgba(12,17,25,.84);padding:18px}.group h3{margin:0 0 14px;color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.card{border:1px solid var(--line);background:linear-gradient(180deg,#111a26,#0b1119);border-radius:18px;padding:18px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--yellow)}.card.up:before{background:var(--green)}.card.down:before{background:var(--red)}.card.unknown:before{background:var(--yellow)}.card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.card h4{margin:0;font-size:1.1rem}.badge{padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.08em}.badge.up{background:rgba(37,240,138,.12);color:var(--green);border:1px solid rgba(37,240,138,.35)}.badge.down{background:rgba(255,79,100,.13);color:var(--red);border:1px solid rgba(255,79,100,.38)}.badge.unknown{background:rgba(255,209,102,.13);color:var(--yellow);border:1px solid rgba(255,209,102,.38)}.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.kv div{background:#070b11;border:1px solid #1b2939;border-radius:12px;padding:10px}.kv small{display:block;color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:800;letter-spacing:.12em}.kv b{font-family:Consolas,monospace}.spark{height:28px;margin-top:14px;display:flex;align-items:end;gap:2px}.spark i{display:block;flex:1;min-width:2px;background:var(--green);opacity:.85;border-radius:2px}.spark i.down{background:var(--red)}.spark i.unknown{background:var(--yellow)}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.panel{border:1px solid var(--line);border-radius:20px;background:rgba(12,17,25,.84);padding:18px}.panel h3{margin-top:0;color:var(--cyan)}.event,.incident{padding:10px 0;border-bottom:1px solid #182437;color:var(--muted)}.event b,.incident b{color:var(--text)}.incident-table{width:100%;border-collapse:collapse}.incident-table th,.incident-table td{padding:12px;border-bottom:1px solid #1d2a3a;text-align:left}.incident-table th{color:var(--cyan);text-transform:uppercase;font-size:.75rem;letter-spacing:.13em}@media(max-width:780px){.hero,.overall{align-items:flex-start;flex-direction:column}.stats,.bottom-grid{grid-template-columns:1fr}.clock{text-align:left;width:100%}}

/* v2.1 admin/public fixes */
.hero:after { pointer-events: none; z-index: 0; }
.hero > * { position: relative; z-index: 1; }
.back, .toolbar a, .toolbar button { position: relative; z-index: 2; }
.login-shell { max-width: 900px; }
.login-panel { max-width: 520px; margin: 0 auto; }
.login-panel form { display: grid; gap: 14px; }
.login-panel label { color: var(--cyan); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 800; }
.login-panel input { background: rgba(5,10,18,.85); border: 1px solid rgba(74,210,255,.25); border-radius: 12px; color: var(--text); padding: 14px 16px; font-size: 18px; outline: none; }
.login-panel input:focus { border-color: rgba(74,210,255,.75); box-shadow: 0 0 0 3px rgba(74,210,255,.12); }
.login-panel button { border: 1px solid rgba(74,210,255,.35); background: rgba(74,210,255,.13); color: var(--text); border-radius: 12px; padding: 12px 16px; font-weight: 900; cursor: pointer; }
.login-error { color: #ffb3b3; background: rgba(255,64,64,.1); border: 1px solid rgba(255,64,64,.25); padding: 12px 14px; border-radius: 12px; }
.toolbar button:disabled { opacity: .55; cursor: wait; }


/* v2.2 admin service manager */
.hero-toolbar { margin: 0; flex-wrap: wrap; justify-content: flex-end; }
.flash-list { display: grid; gap: 10px; margin: 20px 0; }
.flash { border-radius: 12px; padding: 12px 14px; border: 1px solid rgba(74,210,255,.25); background: rgba(74,210,255,.09); color: var(--text); font-weight: 800; }
.flash.error { border-color: rgba(255,79,100,.35); background: rgba(255,79,100,.12); color: #ffb9c2; }
.flash.success { border-color: rgba(37,240,138,.35); background: rgba(37,240,138,.10); color: #b6ffd6; }
.service-form-panel h3 { margin-top: 0; color: var(--cyan); }
.service-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; align-items: end; }
.service-form label { display: block; color: var(--cyan); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 900; margin-bottom: 7px; }
.service-form input, .service-form select { width: 100%; background: rgba(5,10,18,.85); border: 1px solid rgba(74,210,255,.25); border-radius: 12px; color: var(--text); padding: 12px 13px; font-size: 16px; outline: none; }
.service-form input:focus, .service-form select:focus { border-color: rgba(74,210,255,.75); box-shadow: 0 0 0 3px rgba(74,210,255,.12); }
.service-form .checkline { display: flex; align-items: center; gap: 9px; color: var(--text); text-transform: none; letter-spacing: 0; font-size: 14px; margin: 0; }
.service-form .checkline input { width: auto; }
.service-form button, .service-table button { border: 1px solid rgba(74,210,255,.35); background: rgba(74,210,255,.13); color: var(--text); border-radius: 12px; padding: 12px 16px; font-weight: 900; cursor: pointer; }
.service-table form { margin: 0; }
.service-table button.danger { border-color: rgba(255,79,100,.35); background: rgba(255,79,100,.12); color: #ffd5da; }
@media(max-width:780px){.hero-toolbar{justify-content:flex-start}.service-table{font-size:.86rem}.service-table th:nth-child(2),.service-table td:nth-child(2){display:none}}

/* v2.4 admin logs and maintenance */
.table-panel { overflow-x: auto; }
.panel-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.panel-title-row h3, .danger-zone h3 { margin:0 0 6px 0; color:var(--cyan); }
.inline-form { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.inline-form select { background: rgba(5,10,18,.85); border: 1px solid rgba(74,210,255,.25); border-radius: 12px; color: var(--text); padding: 10px 12px; }
.inline-form button, .button-row button, .danger-zone button { border: 1px solid rgba(74,210,255,.35); background: rgba(74,210,255,.13); color: var(--text); border-radius: 12px; padding: 10px 14px; font-weight: 900; cursor: pointer; }
.button-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.button-row form { margin:0; }
button.danger, .button-row button.danger, .danger-zone button.danger { border-color: rgba(255,79,100,.42); background: rgba(255,79,100,.14); color:#ffd3d9; }
.log-view { min-height: 320px; max-height: 620px; overflow:auto; white-space: pre-wrap; background: rgba(0,0,0,.38); border:1px solid rgba(74,210,255,.15); border-radius:16px; padding:16px; color:#dbeafe; font-size:13px; line-height:1.45; }
.danger-zone { border-color: rgba(255,79,100,.22); }
.muted { color: var(--muted); }
