:root{--bg:#070912;--surface:#0d1120;--surface2:#12172a;--line:#222b4a;--text:#f4f7ff;--muted:#8d9abc;--blue:#3d8bff;--violet:#895cff;--pink:#dc5cff;--amber:#ffbd54;--green:#35dfa0;--red:#ff5b78;--cyan:#42d7ff;--shadow:0 24px 70px rgba(0,0,0,.42)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,rgba(55,98,255,.11),transparent 32%),radial-gradient(circle at 90% 80%,rgba(183,66,255,.08),transparent 30%),var(--bg);overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}.hidden,.viewer .admin-only{display:none!important}.ambient{position:fixed;border-radius:50%;filter:blur(120px);opacity:.18;pointer-events:none}.ambient-one{width:420px;height:420px;background:#245cff;left:-180px;top:-160px}.ambient-two{width:360px;height:360px;background:#c048ff;right:-140px;bottom:-120px}.eyebrow{margin:0 0 8px;color:#7184b5;font-size:.72rem;font-weight:800;letter-spacing:.18em}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(1040px,100%);min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;background:rgba(12,16,29,.86);border:1px solid rgba(117,139,205,.2);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);backdrop-filter:blur(22px)}.login-brand{position:relative;padding:55px 62px;background:linear-gradient(145deg,rgba(23,31,62,.86),rgba(7,9,18,.55));border-right:1px solid var(--line);overflow:hidden}.login-brand:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(88,126,255,.16);border-radius:50%;left:-170px;bottom:-170px;box-shadow:0 0 0 45px rgba(98,76,255,.035),0 0 0 90px rgba(98,76,255,.025)}.logo-orbit{width:152px;height:152px;border-radius:50%;display:grid;place-items:center;margin-bottom:32px;background:radial-gradient(circle,rgba(82,93,255,.16),transparent 65%);box-shadow:0 0 70px rgba(66,100,255,.14)}.logo-orbit img{width:185px;height:185px;object-fit:cover;border-radius:50%}.login-brand h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.055em;margin:10px 0 24px}.login-brand h1 span{background:linear-gradient(90deg,var(--blue),var(--violet),var(--pink));-webkit-background-clip:text;color:transparent}.brand-copy{max-width:500px;color:#a6b2cf;font-size:1.05rem;line-height:1.7}.signal-row{display:flex;align-items:center;gap:9px;margin-top:50px;color:#66749a}.signal-row span{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 16px var(--blue)}.signal-row span:nth-child(2){background:var(--violet)}.signal-row span:nth-child(3){background:var(--amber)}.signal-row small{margin-left:6px;letter-spacing:.15em}.login-form{padding:70px 62px;display:flex;flex-direction:column;justify-content:center;gap:20px}.login-form h2,.modal h2{font-size:1.8rem;margin:0 0 8px}.login-form>div>p:not(.eyebrow){color:var(--muted);margin:0}.login-form label,.form-grid label{display:flex;flex-direction:column;gap:8px;color:#c9d2e9;font-size:.88rem;font-weight:700}.login-form input,.form-grid input,.form-grid select{width:100%;height:50px;border:1px solid #283353;border-radius:12px;background:#090d19;color:var(--text);padding:0 14px;outline:none;transition:.2s}.login-form input:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(137,92,255,.13)}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.reveal{position:absolute;right:10px;top:8px;height:34px;border:0;background:transparent;color:#91a4d2;font-weight:700}.primary-button,.secondary-button,.danger-button{border:0;border-radius:11px;padding:12px 17px;font-weight:800;color:white}.primary-button{background:linear-gradient(100deg,#357ff3,#7655f4 55%,#a54ee5);box-shadow:0 10px 25px rgba(92,75,238,.2)}.primary-button:hover{filter:brightness(1.12)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.wide{width:100%;height:52px;display:flex;align-items:center;justify-content:space-between}.secondary-button{background:#181e34;border:1px solid #313b60;color:#cbd5ef}.danger-button{background:linear-gradient(100deg,#d53c5b,#f06468)}.secure-note{text-align:center;color:#71809f;font-size:.78rem}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);margin-right:6px}.form-error{color:#ff879c;min-height:18px;margin:0;font-size:.83rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:24px 16px;background:rgba(9,12,23,.94);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5;backdrop-filter:blur(20px)}.side-brand{display:flex;align-items:center;gap:10px;padding:0 10px 24px;border-bottom:1px solid var(--line)}.side-brand img{width:50px;height:50px;object-fit:cover;border-radius:50%}.side-brand strong{display:block;font-size:1.18rem;letter-spacing:.16em}.side-brand small{color:#69799e;font-size:.62rem;letter-spacing:.13em}.sidebar nav{display:flex;flex-direction:column;gap:6px;margin-top:24px;flex:1}.sidebar nav button{border:0;background:transparent;color:#8897b8;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:9px;text-align:left;padding:12px 13px;border-radius:11px;font-size:.9rem}.sidebar nav button:hover{background:#11172b;color:white}.sidebar nav button.active{background:linear-gradient(90deg,rgba(61,139,255,.18),rgba(137,92,255,.11));color:#fff;box-shadow:inset 2px 0 var(--blue)}.sidebar nav i{font-style:normal;color:#8097d0;font-size:1.05rem}.sidebar nav b{font-size:.7rem;background:#1e2745;padding:3px 7px;border-radius:20px}.danger-count:not(:empty){background:rgba(255,91,120,.15)!important;color:#ff7890}.side-footer{border-top:1px solid var(--line);padding:18px 8px 0}.guard-state{display:flex;align-items:center;gap:10px;margin-bottom:15px}.guard-state strong{display:block;font-size:.82rem}.guard-state small{color:var(--muted);font-size:.7rem}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#70809e;box-shadow:0 0 0 4px rgba(112,128,158,.08)}.status-dot.healthy{background:var(--green);box-shadow:0 0 11px rgba(53,223,160,.6)}.status-dot.down,.status-dot.unhealthy{background:var(--red);box-shadow:0 0 11px rgba(255,91,120,.5)}.status-dot.degraded,.status-dot.checking{background:var(--amber)}.logout-button{width:100%;background:#111629;border:1px solid #252e4e;color:#9dacca;border-radius:10px;padding:9px}.main-area{grid-column:2;min-width:0;padding:0 38px 45px}.topbar{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(39,48,79,.72);margin-bottom:28px}.topbar h1{margin:0;font-size:1.65rem}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{width:42px;height:42px;border-radius:11px;background:#11172a;border:1px solid #283252;color:#b8c6e8;font-size:1.3rem}.user-chip{display:flex;gap:10px;align-items:center;background:#101528;border:1px solid #242e4e;border-radius:12px;padding:7px 12px 7px 7px}.user-chip>span{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;font-weight:800}.user-chip strong{display:block;font-size:.8rem}.user-chip small{color:var(--muted);font-size:.68rem}.view{display:none}.active-view{display:block}.hero-strip{min-height:190px;border:1px solid #263052;border-radius:22px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(112deg,rgba(28,39,80,.72),rgba(13,17,32,.75) 60%,rgba(69,30,95,.25));position:relative;overflow:hidden}.hero-strip:after{content:"G";position:absolute;right:170px;top:-92px;font-size:260px;font-weight:900;color:rgba(104,107,255,.045)}.hero-strip h2{font-size:2rem;margin:0 0 8px}.hero-strip>div>p:last-child{color:var(--muted);margin:0}.availability-ring{width:128px;height:128px;position:relative;z-index:1}.availability-ring svg{width:100%;transform:rotate(-90deg)}.availability-ring circle{fill:none;stroke-width:8}.ring-bg{stroke:#1d2745}.ring-value{stroke:var(--green);stroke-linecap:round;stroke-dasharray:307.9;stroke-dashoffset:307.9;transition:stroke-dashoffset .7s}.availability-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.availability-ring strong{font-size:1.35rem}.availability-ring small{font-size:.64rem;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.metric{display:flex;gap:14px;align-items:center;background:rgba(14,18,34,.88);border:1px solid #222b48;border-radius:16px;padding:20px}.metric-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;font-weight:900}.metric-icon.cyan{background:rgba(66,215,255,.1);color:var(--cyan)}.metric-icon.violet{background:rgba(137,92,255,.12);color:#a882ff}.metric-icon.green{background:rgba(53,223,160,.1);color:var(--green)}.metric-icon.red{background:rgba(255,91,120,.1);color:var(--red)}.metric small{color:var(--muted);display:block}.metric strong{font-size:1.65rem}.metric p{color:#657393;font-size:.68rem;margin:2px 0 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel,.data-panel{background:rgba(13,17,32,.9);border:1px solid #222b48;border-radius:18px;overflow:hidden}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.panel h3{margin:0}.text-button{border:0;background:transparent;color:#8ca7ff}.compact-list{display:flex;flex-direction:column}.compact-row{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:13px 3px;border-top:1px solid rgba(37,46,76,.7)}.compact-row strong{font-size:.87rem}.compact-row small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}.compact-row>span:last-child{font-size:.75rem;color:#a9b6d5}.empty-state{padding:35px 15px;text-align:center;color:var(--muted)}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-toolbar h2{margin:0 0 5px}.section-toolbar p{margin:0;color:var(--muted)}.legend{display:flex;gap:20px;color:var(--muted);font-size:.78rem}.legend span{display:flex;align-items:center;gap:7px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{background:linear-gradient(145deg,rgba(17,22,42,.96),rgba(10,13,25,.96));border:1px solid #263051;border-radius:18px;padding:20px;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent,var(--blue))}.project-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.project-title{display:flex;gap:12px;align-items:center}.project-letter{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(61,139,255,.18),rgba(137,92,255,.12));color:#a8baff;font-weight:900}.project-title h3{margin:0;text-transform:uppercase}.project-title small{color:var(--muted)}.status-pill{border-radius:20px;padding:5px 9px;font-size:.68rem;font-weight:800;text-transform:uppercase}.status-pill.running,.status-pill.healthy,.status-pill.resolved{background:rgba(53,223,160,.1);color:var(--green)}.status-pill.stopped,.status-pill.down,.status-pill.open,.status-pill.unhealthy{background:rgba(255,91,120,.1);color:var(--red)}.status-pill.degraded,.status-pill.checking,.status-pill.unknown{background:rgba(255,189,84,.1);color:var(--amber)}.container-list{border-top:1px solid #242d4b;border-bottom:1px solid #242d4b;padding:8px 0;margin-bottom:16px}.container-row{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:7px 0;font-size:.75rem}.container-row small{color:#7887a8}.project-actions{display:flex;gap:7px}.action-button{flex:1;border:1px solid #2c375b;background:#11172b;color:#aebcdf;padding:8px;border-radius:9px;font-size:.72rem;font-weight:700}.action-button:hover{border-color:#5d71b2;color:white}.action-button.stop{color:#ff8598}.action-button.logs{flex:0 0 38px}.readonly-note{font-size:.72rem;color:#7f8ca9}.data-panel{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{text-align:left;color:#7383a9;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:14px 18px;background:#10162a}.data-table td{padding:15px 18px;border-top:1px solid #222a46;font-size:.82rem;vertical-align:middle}.data-table td small{display:block;color:var(--muted);margin-top:4px}.table-actions{display:flex;gap:6px}.mini-button{border:1px solid #2b3659;background:#12182c;color:#aab8d8;border-radius:8px;padding:6px 9px;font-size:.7rem}.mini-button.danger{color:#ff8298}.modal{width:min(610px,calc(100% - 28px));border:1px solid #313c62;border-radius:20px;background:#0d1222;color:var(--text);padding:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(2,4,10,.78);backdrop-filter:blur(8px)}.modal form,.logs-modal{padding:26px}.modal-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:22px}.close-button{border:0;background:#171d32;color:#aab7d3;width:35px;height:35px;border-radius:9px;font-size:1.4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}.form-grid small{font-weight:400;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.confirm-modal{width:min(430px,calc(100% - 28px));text-align:center}.confirm-symbol{margin:0 auto 15px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,91,120,.12);color:var(--red);font-size:1.4rem;font-weight:900}.confirm-modal p{color:var(--muted);line-height:1.55}.confirm-modal .modal-actions{justify-content:center}.logs-modal{width:min(900px,calc(100% - 28px))}.logs-modal pre{background:#05070d;border:1px solid #202946;border-radius:12px;padding:18px;color:#aebbd4;max-height:520px;overflow:auto;white-space:pre-wrap;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.toast{position:fixed;right:25px;bottom:25px;z-index:20;background:#151c32;border:1px solid #334063;border-radius:12px;padding:13px 17px;color:white;box-shadow:var(--shadow);transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}.toast.error{border-color:rgba(255,91,120,.5)}.loading-lines{min-height:180px;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.025) 40%,transparent 60%);background-size:200% 100%;animation:loading 1.4s infinite}@keyframes loading{to{background-position:-200% 0}}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.login-card{grid-template-columns:1fr}.login-brand{display:none}.login-form{padding:45px 30px}.app-shell{display:block}.sidebar{position:fixed;width:100%;height:68px;inset:auto 0 0;flex-direction:row;padding:7px;z-index:10;border-right:0;border-top:1px solid var(--line)}.side-brand,.side-footer{display:none}.sidebar nav{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));width:100%;gap:3px}.sidebar nav button{display:flex;flex-direction:column;gap:2px;justify-content:center;text-align:center;padding:5px;font-size:.58rem}.sidebar nav i{font-size:1rem}.sidebar nav b{display:none}.main-area{padding:0 15px 90px}.topbar{height:82px;margin-bottom:20px}.topbar .eyebrow{display:none}.user-chip div{display:none}.hero-strip{padding:24px}.hero-strip h2{font-size:1.4rem}.hero-strip:after{display:none}.availability-ring{width:95px;height:95px}.split-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.section-toolbar{align-items:flex-start;gap:14px}.legend{display:none}}
@media(max-width:520px){.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:14px;gap:9px}.metric-icon{display:none}.metric strong{font-size:1.35rem}.hero-strip{display:block}.availability-ring{margin-top:20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.topbar h1{font-size:1.3rem}.section-toolbar{flex-direction:column}.primary-button{width:100%}}
.project-letter,.project-logo{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(61,139,255,.18),rgba(137,92,255,.12));color:#a8baff;font-weight:900;overflow:hidden;flex:none}.project-logo img{width:100%;height:100%;object-fit:cover}.project-logo b{display:none}.project-logo.image-error img{display:none}.project-logo.image-error b{display:block}.project-title small{font-size:.7rem}.project-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-pill{white-space:nowrap}.status-pill.maintenance{background:rgba(255,189,84,.1);color:var(--amber)}.status-pill.off{background:rgba(112,128,158,.1);color:#8d9abc}.open-platform{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.platform-card{background:linear-gradient(145deg,rgba(17,22,42,.96),rgba(10,13,25,.96));border:1px solid #263051;border-radius:18px;padding:20px;position:relative;overflow:hidden}.platform-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent)}.platform-card-head{display:flex;gap:14px;align-items:center;min-height:68px}.platform-card-head h3{margin:0 0 4px}.platform-card-head p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.35}.platform-logo{width:62px;height:62px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:#080b15;flex:none}.platform-logo img{width:100%;height:100%;object-fit:cover}.platform-logo b{display:none;font-size:1.35rem}.platform-logo.image-error img{display:none}.platform-logo.image-error b{display:block}.platform-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;padding:15px 0;border-top:1px solid #242d4b;border-bottom:1px solid #242d4b}.platform-facts>div{min-width:0}.platform-facts .full{grid-column:1/-1}.platform-facts small{display:block;color:#7180a2;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.platform-facts strong{display:block;color:#c7d1e9;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.platform-pending{color:#6f7d9c;font-size:.72rem}
.suite-showcase{margin:0 0 18px}.suite-logo-grid{display:grid;grid-template-columns:repeat(9,minmax(72px,1fr));gap:12px;min-height:0}.suite-badge{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 5px;border:1px solid transparent;border-radius:14px;color:#aebbd8;text-decoration:none;transition:.2s}.suite-badge:hover{background:#11172b;border-color:#2a365b;color:#fff;transform:translateY(-2px)}.suite-badge>strong{max-width:100%;font-size:.63rem;letter-spacing:.06em;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suite-orb{width:58px;height:58px;border-radius:15px;position:relative;display:grid;place-items:center;overflow:hidden;background:#080b15;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 42%,transparent),0 8px 25px rgba(0,0,0,.28)}.suite-orb img{width:100%;height:100%;object-fit:cover}.suite-orb b{display:none;font-size:1.2rem}.suite-orb.image-error img{display:none}.suite-orb.image-error b{display:block}.suite-state{position:absolute;right:4px;bottom:4px;width:8px;height:8px;border:2px solid #090d18;border-radius:50%;background:#70809e}.suite-state.healthy,.suite-state.active{background:var(--green);box-shadow:0 0 8px var(--green)}.suite-state.down{background:var(--red);box-shadow:0 0 8px var(--red)}.suite-state.maintenance{background:var(--amber)}.suite-state.off,.suite-state.unknown,.suite-state.checking{background:#7787aa}
@media(max-width:1100px){.platform-grid{grid-template-columns:repeat(2,1fr)}.suite-logo-grid{grid-template-columns:repeat(6,minmax(70px,1fr))}}
@media(max-width:820px){.platform-grid{grid-template-columns:1fr}.suite-logo-grid{grid-template-columns:repeat(4,minmax(62px,1fr))}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));}.sidebar nav button{font-size:.54rem}}
.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.refresh-view{white-space:nowrap}.refreshing{pointer-events:none;opacity:.68}.icon-button.refreshing,.refresh-view.refreshing{animation:refresh-pulse .8s ease-in-out infinite alternate}@keyframes refresh-pulse{to{filter:brightness(1.45);box-shadow:0 0 16px rgba(80,132,255,.3)}}
