body{background:#0b0f14}.navbar{background:#0e141b}.brand-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:#5b9cff;box-shadow:0 0 18px #5b9cff}.page-head{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:.72rem;letter-spacing:.16em;color:#6f7c8c;font-weight:700}.card{background:#111821;border-color:#202a35}.metric{font-size:1.8rem;font-weight:700}.metric-label{font-size:.78rem;color:#8290a1;text-transform:uppercase;letter-spacing:.08em}.status-dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block;margin-right:.45rem}.ok{background:#37c978}.warn{background:#f0ad4e}.off{background:#687483}.bad{background:#dc5b67}.table>:not(caption)>*>*{background:transparent}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.small-muted{font-size:.82rem;color:#7f8b99}.server-card:hover{border-color:#34465a}.pill{display:inline-block;padding:.18rem .45rem;border-radius:.4rem;background:#192330;font-size:.75rem}.section-title{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#7e8b9b;font-weight:700}
.login-body{min-height:100vh;background:radial-gradient(circle at 50% 20%,#142237 0,#0b0f14 42%,#080b0f 100%);display:grid;place-items:center}
.login-shell{width:100%;max-width:470px;padding:24px}
.login-card{background:rgba(17,24,33,.96);border:1px solid #273444;border-radius:18px;padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}
.login-brand .brand-dot{width:13px;height:13px}
.security-label{font-size:.7rem;letter-spacing:.17em;color:#6e8fb8;font-weight:700}
.login-card .form-control{background:#0c1219;border-color:#2a3745}
.login-card .form-control:focus{background:#0c1219}
.login-foot{text-align:center;color:#657180;font-size:.75rem;margin-top:28px}

.bob-nav-logo{width:116px;height:auto;display:block}.navbar-brand{display:flex;align-items:center;gap:.7rem}.cc-wordmark{font-size:.88rem;color:#8c98a7;border-left:1px solid #35404d;padding-left:.7rem;white-space:nowrap}
.login-brand-stack{text-align:center;margin-bottom:34px}.bob-login-logo{width:min(100%,285px);height:auto}.login-product{margin-top:10px;color:#8e9baa;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase}
.empty-state{border:1px dashed #2c3947;border-radius:10px;padding:18px;color:#7f8b99;background:#0d131a}.preview-metric{background:#0d131a;border:1px solid #222e3a;border-radius:10px;padding:12px;text-align:center}.preview-metric strong{display:block;font-size:1.35rem}.preview-metric span{display:block;font-size:.7rem;color:#7f8b99;text-transform:uppercase;letter-spacing:.05em}
.compaction-days{max-height:260px;overflow:auto}

.review-box{border:1px solid #6d5420;background:#18150e;border-radius:10px;padding:14px}

.maintenance-scroll{max-height:420px;overflow:auto}
.coverage-grid{display:flex;flex-wrap:wrap;gap:.45rem;max-height:360px;overflow:auto;padding-top:.5rem}
.coverage-grid .pill{font-size:.72rem}

.gap-summary{border:1px solid #263340;background:#0d131a;border-radius:10px;padding:10px;text-align:center}
.gap-summary strong{display:block;font-size:1.15rem}
.gap-summary span{display:block;color:#7f8b99;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}
.gap-badge{display:inline-block;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;border:1px solid #35404d}
.gap-isolated{background:#10241b}.gap-short{background:#27210f}.gap-extended{background:#2b1518}

.outage-scroll{max-height:600px;overflow:auto}

.adjusted-coverage{border:1px solid #29455a;background:#0d1820;border-radius:10px;padding:12px}
.adjusted-coverage strong{font-size:1.25rem}
.known-outage{border:1px solid #394653;background:#10161c;border-radius:9px;padding:10px 12px;margin-bottom:8px}

.job-health{display:inline-block;border:1px solid #344150;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;white-space:nowrap}
.job-ok{background:#10251b}.job-bad{background:#2a1518}.job-running{background:#17243a}.job-unknown{background:#171b20}
.job-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #27313b;background:#0e141a;border-radius:10px;padding:12px}

.pipeline-matrix td{min-width:120px}.pipeline-matrix td:first-child{min-width:170px;position:sticky;left:0;background:#111820;z-index:1}

.cycle-card{border-color:#2a3948}.cycle-title{font-size:1.12rem;font-weight:700;margin-top:.25rem}.cycle-jobs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.cycle-job{border:1px solid #27313b;background:#0e141a;border-radius:10px;padding:11px 12px;min-width:0}.cycle-job-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.86rem}.cycle-job-head .status-dot{margin-right:0;flex:0 0 auto}.cycle-time{font-size:.72rem;color:#657383;margin-top:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cycle-ok{border-color:#214a35}.cycle-bad{border-color:#5b2930}.cycle-running{border-color:#31486a}.cycle-partial{border-color:#514624}@media(max-width:991.98px){.cycle-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.cycle-jobs{grid-template-columns:1fr}}

/* Admin v2 */
.navbar{backdrop-filter:blur(14px);background:rgba(14,20,27,.96)}
.dropdown-menu{background:#111821;border-color:#273442;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.dropdown-item{color:#c6d0dc}.dropdown-item:hover,.dropdown-item:focus{background:#182330;color:#fff}
.live-badge{background:#132a20;color:#69d99b;border:1px solid #245239;letter-spacing:.08em}
.quick-card{text-decoration:none;color:inherit}.quick-card .card{transition:transform .15s ease,border-color .15s ease}.quick-card:hover .card{transform:translateY(-2px);border-color:#344b62}
.admin-table td,.admin-table th{vertical-align:middle}.admin-table .sub{display:block;font-size:.76rem;color:#778596}
.action-bar{display:flex;gap:.5rem;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-item{background:#0d131a;border:1px solid #222e3a;border-radius:10px;padding:12px}.detail-item span{display:block;color:#7f8b99;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.detail-item strong{display:block;margin-top:.25rem;word-break:break-word}
.code-area{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;background:#0c1219!important}.danger-zone{border-color:#5a2b31!important}.soft-divider{border-top:1px solid #202a35}.user-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:767.98px){.detail-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:1rem}.page-head .badge{margin-top:.15rem}}
