:root{font-family:Segoe UI,Arial,sans-serif;color:#e8edf3;background:#0c1118}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#121a24;border-bottom:1px solid #253041}header b{font-size:20px}header small{display:block;color:#8da0b6;margin-top:3px}nav{display:flex;gap:10px;align-items:center}a{color:#7cc8ff;text-decoration:none}button,.primary{background:#1c72d6;color:white;border:0;border-radius:6px;padding:9px 14px;cursor:pointer}main{padding:22px;max-width:1500px;margin:auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.card{background:#141c27;border:1px solid #253041;border-radius:10px;padding:18px;margin-bottom:14px}.card h2,.card h3{margin-top:0}.big{font-size:28px;font-weight:700;margin:8px 0}.ok{color:#62d78b}.bad{color:#ff6b6b}.warn{color:#ffca63}.hidden{display:none!important}input,select{width:100%;background:#0e151e;color:#e8edf3;border:1px solid #344256;border-radius:5px;padding:9px;margin-top:5px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:12px 0}label{display:block;color:#b6c3d1}.hint{color:#8da0b6}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{padding:9px;border-bottom:1px solid #263344;text-align:left}#login,#setup{max-width:480px;margin:8vh auto}#login input,#setup input{margin-bottom:10px}
.testrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.teststatus{font-size:14px}.statusok{color:#62d78b}.statusbad{color:#ff6b6b}#msg{margin-left:10px}

nav a.active{font-weight:700;color:#fff}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.toolbar h2{margin-bottom:4px}.range{display:flex;gap:6px;flex-wrap:wrap}.range button{background:#202c3b;color:#c9d6e4}.range button.selected{background:#1c72d6;color:#fff}.chartgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chartcard{min-width:0}.chartcard canvas{width:100%;display:block}.legend{display:flex;gap:16px;flex-wrap:wrap;color:#aebdcb;font-size:13px;margin-top:8px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.summarygrid{display:flex;gap:35px;margin-top:15px}.summarygrid div{display:flex;flex-direction:column}.summarygrid b{font-size:26px}.summarygrid span{color:#8da0b6}.badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700}.badge-active{background:#5c2929;color:#ffb0b0}.badge-ok{background:#183d2a;color:#83e6aa}.tablewrap{overflow:auto}@media(max-width:900px){.chartgrid{grid-template-columns:1fr}.toolbar{flex-direction:column}}
.incidentRow{cursor:pointer}.incidentRow:hover{background:#1a2532}.incidentSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}.incidentSummary div{background:#0f1721;border:1px solid #273548;border-radius:8px;padding:12px}.incidentSummary b{display:block;font-size:20px}.incidentSummary span{display:block;color:#8da0b6;font-size:12px;margin-top:3px}


/* EXT v1.2 dashboard enhancement — scoped to new dashboard components. */
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:3px 0 22px}.dashboard-heading h1{font-size:30px;letter-spacing:-.6px;margin:5px 0}.dashboard-heading p{color:#96a8bd;margin:4px 0 0}.eyebrow{font-size:11px;font-weight:800;color:#83a5cc;letter-spacing:1.2px}.monitor-chip{color:#b6cbe1;border:1px solid #334256;border-radius:30px;padding:9px 13px;font-size:13px;white-space:nowrap}.chip-ok{color:#78dfa3;border-color:#1a684b}.chip-warn{color:#f7bd69;border-color:#735122}
.server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.server-panel{min-width:0;background:linear-gradient(150deg,#172537,#111c2b);border-color:#2e4157;padding:24px}.server-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.server-top h2{font-size:23px;margin:7px 0 0;letter-spacing:-.5px}.server-top h2 span{color:#a3b7cc;font-weight:500}.server-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #286e91;background:#0d3449;color:#66d5ff;border-radius:11px;font-weight:800}.ubuntu-icon{color:#ffb276;border-color:#875332;background:#3b281c}.server-state{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:16px 0 26px}.state-text{font-weight:800;font-size:17px}.server-state small{font-size:12px;color:#92a8bd;overflow-wrap:anywhere}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0;color:#b5c5d6;font-size:14px}.metric-label strong{font-size:18px;color:#65d2fb;font-variant-numeric:tabular-nums}.meter{height:9px;background:#293b4e;border-radius:8px;overflow:hidden}.meter-fill{height:100%;width:0%;border-radius:8px;transition:width .4s ease}.cpu-fill{background:#35bdf2}.disk-fill{background:#f3a35e}.metric-label .disk-percent{color:#ffc084}.ram-tile{margin:23px 0 21px;border:1px solid #31465b;background:#102033;border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.ram-tile span{font-size:13px;color:#a2b7cf}.ram-tile strong{font-size:26px;color:#f2f7ff}.disk-section h3{margin:0 0 14px;font-size:15px}.disk-bars{display:grid;gap:14px}.disk-row small{color:#8ea5bc;font-size:12px;display:block;margin-top:5px}.empty-hint{font-size:13px;color:#8ea5bc}.section-block{margin:12px 0 22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2{margin:0 0 14px}.section-heading span{font-size:12px;color:#829ab3}.details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{margin:0;min-width:0;display:flex;flex-direction:column;gap:7px;padding:17px}.stat-card span{color:#9eafc2;font-size:13px}.stat-card strong{font-size:21px;overflow-wrap:anywhere}.stat-card small{color:#93aabf;font-size:12px}main{max-width:1520px}.server-grid+.section-block{margin-top:12px}
@media(max-width:1020px){.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}header{flex-wrap:wrap;gap:10px}nav{flex-wrap:wrap}}
@media(max-width:680px){.server-grid{grid-template-columns:1fr}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-heading{align-items:flex-start;flex-direction:column}.server-panel{padding:18px}.server-top h2{font-size:21px}main{padding:14px}header{padding:14px}nav{gap:8px}nav a{font-size:13px}.stat-card strong{font-size:18px}}

/* v1.3: domain-specific services inside the server panels */
.server-panel{display:flex;flex-direction:column}
.service-section{border-top:1px solid #304257;margin-top:25px;padding-top:19px}
.service-section h3{font-size:16px;margin:0 0 15px;display:flex;align-items:center;gap:9px}
.section-dot{width:8px;height:8px;display:inline-block;background:#42c8ef;border-radius:50%}
.green-dot{background:#50d58b}.orange-dot{background:#f3a35e}
.service-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-stat{background:#0e1b2b;border:1px solid #30445b;border-radius:9px;padding:13px;min-width:0;display:flex;flex-direction:column;gap:7px}
.service-stat span{font-size:12px;color:#a4b7ca}.service-stat strong{font-size:19px;overflow-wrap:anywhere}
.service-overview{display:flex;align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:12px;padding:14px;background:#0e1b2b;border:1px solid #30445b;border-radius:9px}
.service-overview strong{color:#62d78b;font-size:20px}.service-overview small{color:#b0c0d3;font-size:13px}
.container-section-head{font-weight:700;font-size:14px;margin:18px 0 10px;display:flex;justify-content:space-between;gap:12px}
.container-section-head span{color:#83a5cc}
.worker-list{display:grid;gap:8px;max-height:330px;overflow:auto;padding-right:3px}
.worker-row{border-radius:8px;border:1px solid #30445b;background:#0d1b2b;padding:11px 12px;min-width:0}
.worker-header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.worker-name{font-size:12px;font-weight:650;overflow-wrap:anywhere}
.worker-status{font-size:10px;font-weight:800;flex-shrink:0;border-radius:5px;padding:3px 6px}
.worker-ok{color:#76e6aa;background:#113e2c}.worker-down{color:#ffc77b;background:#48311d}
.worker-metrics{font-size:12px;color:#a8bfd1;margin-top:7px}
.container-details{margin-top:15px;border-top:1px solid #304257;padding-top:12px}
.container-details summary{cursor:pointer;color:#a8d7f5;font-size:13px;font-weight:700;margin-bottom:12px}
.container-details summary span{font-weight:400;color:#90a6bc;margin-left:6px}
@media(max-width:880px){.server-grid{grid-template-columns:1fr}}
@media(max-width:500px){.service-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.server-panel{padding:16px}}

/* v1.4: searchable, full-height container list */
.container-toolbar{display:grid;gap:10px;margin-top:18px;padding:12px;border:1px solid #30445b;border-radius:10px;background:#0e2032}
.container-search-label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#c5d9ef}
.container-search-label input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #405b76;border-radius:8px;background:#101a29;color:#f0f8ff;padding:11px 12px;font:inherit;font-size:14px;outline:none}
.container-search-label input:focus{border-color:#42c8ef;box-shadow:0 0 0 2px #42c8ef33}
.container-search-label input::placeholder{color:#8198ae}
.container-toggle{display:flex;align-items:center;gap:9px;font-size:12px;color:#d4e5f4;cursor:pointer}
.container-toggle input{accent-color:#38bdf8;width:17px;height:17px;margin:0}
.worker-list{max-height:none;overflow:visible;padding-right:0}
.container-details{margin-top:15px}
.container-details summary{margin-bottom:12px}
