@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--brand-500:#173ef2;--brand-700:#0c207d;--surface-0:#fff;--surface-50:#fafbfe;--surface-100:#f1f4fa;--border-strong:#14266f1a;--text-strong:#232528;--text-soft:#667086;--text-muted:#8b93a6;--success:#059669;--warning:#ea580c;--shadow-soft:0 8px 22px #0e1d4f0a, 0 2px 6px #0e1d4f08;--font-body:"IBM Plex Sans", sans-serif;--font-heading:"IBM Plex Sans", sans-serif;color:var(--text-strong);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f8fc;font-size:14px;font-weight:400;line-height:1.42}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.15}h1{max-width:none;margin:0;font-size:clamp(1.55rem,2.1vw,1.95rem)}h2{font-size:clamp(1rem,1.2vw,1.2rem)}h3{font-size:.92rem}p{margin:0}strong{color:var(--text-strong);font-weight:600}.app-shell{background:#f3f6fb;min-height:100vh}.topbar{z-index:30;background:linear-gradient(#0f1725,#111c2d);border-bottom:1px solid #ffffff14;position:sticky;top:0}.topbar__inner{grid-template-columns:232px minmax(0,1fr);align-items:center;min-height:3.75rem;display:grid}.topbar__content,.topbar__brand,.topbar__actions{align-items:center;gap:.75rem;display:flex}.topbar__content{grid-column:2;justify-content:space-between;min-height:100%;padding:0 1.25rem}.topbar__actions{justify-content:flex-end}.topbar__user{color:#ffffffe6;font-size:.82rem;font-weight:600}.topbar__context{color:#ffffffb8;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.brand-mark{color:#f8fbff;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand-mark__dot{background:var(--brand-500);border-radius:50%;width:.6rem;height:.6rem;box-shadow:0 0 0 .22rem #173ef22e}.brand-mark__text{align-items:baseline;gap:.26rem;font-size:.9rem;font-weight:600;display:flex}.console-shell{grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 3.75rem);display:grid}.sidebar{border-right:1px solid var(--border-strong);background:#fbfcff;align-content:start;gap:1.25rem;padding:1rem .85rem;display:grid}.sidebar__section{gap:.6rem;display:grid}.sidebar__section-title,.subtle-note,.metric-label,.sidebar__card-label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.sidebar__nav{gap:.25rem;display:grid}.sidebar__link{color:var(--text-soft);border:1px solid #0000;border-radius:.65rem;padding:.65rem .75rem;font-size:.86rem;font-weight:500;text-decoration:none;display:block}.sidebar__link:hover,.sidebar__link--active{color:var(--text-strong);background:#173ef20f;border-color:#173ef21f}.sidebar__card{background:var(--surface-0);border:1px solid var(--border-strong);box-shadow:var(--shadow-soft);border-radius:.8rem;gap:.45rem;padding:.85rem;display:grid}.page-shell{min-width:0;padding:1.1rem 1.25rem 2rem}.page-hero{margin-bottom:1rem}.page-hero__copy{gap:.35rem;padding:.15rem 0;display:grid}.portal-layout{display:grid}.page-stack{gap:.9rem;display:grid}.auth-shell{background:radial-gradient(circle at 0 0,#173ef21a,#0000 28%),linear-gradient(#eff3fa 0%,#f6f8fc 100%);place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-panel{border:1px solid var(--border-strong);background:#fffffff5;border-radius:1rem;gap:1.25rem;width:min(100%,420px);padding:1.5rem;display:grid;box-shadow:0 18px 50px #0e1d4f14}.auth-panel--loading{text-align:left}.auth-panel__brand,.auth-panel__copy,.auth-form{gap:.85rem;display:grid}.auth-panel__brand{justify-content:start}.auth-form{gap:1rem}.field{gap:.45rem;display:grid}.field__label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.field__input{border:1px solid var(--border-strong);background:var(--surface-0);min-height:2.7rem;color:var(--text-strong);border-radius:.65rem;padding:.72rem .85rem}.field__input:focus{border-color:#173ef24d;outline:2px solid #173ef22e}.auth-form__error{color:#b42318;font-size:.82rem}.auth-form__submit{min-height:2.65rem}.page-intro{gap:.28rem;max-width:52rem;display:grid}.eyebrow{color:var(--brand-500);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.panel{border:1px solid var(--border-strong);background:var(--surface-0);box-shadow:var(--shadow-soft);border-radius:.8rem}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.summary-tile{gap:.28rem;padding:.9rem;display:grid}.summary-tile strong{font-size:1.1rem}.console-layout{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:.9rem;display:grid}.console-layout--details{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.deploy-layout{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);align-items:start;gap:.9rem;display:grid}.deploy-insights{gap:.8rem;display:grid}.console-section,.catalog-card,.section-card,.dashboard-card,.deploy-command,.state-banner{gap:.8rem;padding:.95rem;display:grid}.console-section__header,.catalog-card__header,.section-card__header,.dashboard-card__header,.card-actions{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.75rem;display:flex}.card-actions--inventory{flex-wrap:nowrap;justify-content:flex-start;align-items:center}.card-actions--inventory .button{justify-content:center;min-width:100px}.catalog-card__body{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.catalog-grid,.dashboard-grid,.stack-list,.info-grid{gap:.8rem;display:grid}.dashboard-grid{grid-template-columns:1fr}.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.signal-card{border:1px solid var(--border-strong);background:var(--surface-50);border-radius:.7rem;gap:.5rem;padding:.85rem;display:grid}.signal-card strong{font-size:1.02rem}.dashboard-card--grafana{gap:1rem}.dashboard-card__title-group{gap:.24rem;display:grid}.dashboard-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.grafana-embed-shell{border:1px solid var(--border-strong);background:var(--surface-50);border-radius:.7rem;min-height:720px;overflow:hidden}.grafana-embed-shell--skeleton{min-height:260px}.grafana-embed,.grafana-embed-skeleton{border:0;width:100%;min-height:720px;display:block}.grafana-embed-skeleton{gap:.8rem;min-height:260px;padding:.9rem;display:grid}.grafana-embed-skeleton__toolbar{width:12rem;height:2rem}.grafana-embed-skeleton__chart{flex:1;min-height:0;display:grid}.grafana-embed-skeleton__surface{border-radius:.7rem;width:100%;height:180px}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.info-grid--deploy{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-command{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem}.deploy-command__copy,.deploy-command__meta,.deploy-command__actions,.state-banner__copy{gap:.8rem;display:grid}.deploy-command__status{gap:.45rem;display:grid}.deploy-command__header,.state-banner{justify-content:space-between;align-items:start;gap:1rem;display:flex}.deploy-command__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-command__actions{align-content:start;justify-items:stretch;min-width:180px}.power-switch-card,.meta-pair,.endpoint-list{gap:.45rem;display:grid}.power-switch-card{border:1px solid var(--border-strong);background:var(--surface-50);border-radius:.7rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.8rem}.power-switch-card__copy{gap:.18rem;display:grid}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a61;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border-strong);background:var(--surface-0);border-radius:.9rem;gap:.9rem;width:min(100%,28rem);padding:1rem;display:grid;box-shadow:0 24px 60px #0f172a2e}.modal-card__header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.modal-card__actions{flex-wrap:wrap;gap:.6rem;display:flex}.switch{cursor:pointer;background:#d7deeb;border:1px solid #0f172a1a;border-radius:999px;width:3.3rem;height:1.9rem;transition:background-color .14s,border-color .14s;position:relative}.switch:disabled{cursor:not-allowed;opacity:.6}.switch--on{background:#173ef238;border-color:#173ef23d}.switch__track{border-radius:999px;position:absolute;inset:0}.switch__thumb{background:#fff;border-radius:50%;width:1.45rem;height:1.45rem;transition:transform .14s;position:absolute;top:.17rem;left:.2rem;box-shadow:0 3px 10px #0f172a29}.switch--on .switch__thumb{background:var(--brand-500);transform:translate(1.34rem)}.compact-block{background:var(--surface-50);border:1px solid var(--border-strong);border-radius:.7rem;gap:.28rem;padding:.8rem;display:grid}.compact-block__links{gap:.35rem;display:grid}.compact-block__link{color:var(--brand-500);word-break:break-all;font-size:.9rem;font-weight:600;text-decoration:none}.compact-block__link:hover{text-decoration:underline}.plain-list{color:var(--text-soft);margin:0;padding-left:1rem;font-size:.86rem;line-height:1.5}.meta-pair span,.meta-pair strong,.endpoint-list span,.endpoint-list p{display:block}.meta-pair strong{word-break:break-word;line-height:1.35}.endpoint-list__items{gap:.4rem;display:grid}.endpoint-link{color:var(--brand-500);word-break:break-all;font-size:.84rem;font-weight:600;text-decoration:none}.endpoint-link:hover{text-decoration:underline}.resource-table{border:1px solid var(--border-strong);border-radius:.7rem;display:grid;overflow:hidden}.console-section--resource-tree{min-height:100%}.resource-table--scroll{overflow:auto}.resource-table__head,.resource-row{grid-template-columns:minmax(110px,.75fr) minmax(220px,1.45fr) minmax(110px,.7fr) minmax(110px,.7fr);align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.resource-table--scroll .resource-table__head,.resource-table--scroll .resource-row{min-width:700px}.resource-table__head--blueprints,.resource-row--blueprints{grid-template-columns:minmax(260px,1.8fr) minmax(90px,.6fr) minmax(180px,1fr) minmax(140px,.8fr) minmax(170px,.9fr) minmax(180px,1fr)}.resource-table__head{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:#f8fafe;font-size:.68rem;font-weight:700}.resource-table__body{display:grid}.resource-row{border-top:1px solid var(--border-strong);background:var(--surface-0);font-size:.86rem}.sparkline{align-items:end;gap:.28rem;min-height:68px;display:flex}.skeleton{background:linear-gradient(90deg,#cfd9e9b3 0%,#e2e9f4f2 50%,#cfd9e9b3 100%) 0 0/200% 100%;border-radius:999px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-stack{gap:.4rem;width:100%;min-width:0;display:grid}.skeleton--label,.skeleton--eyebrow{width:6rem;height:.68rem}.skeleton--metric{width:3.25rem;height:1.35rem}.skeleton--title{width:14rem;max-width:100%;height:1.05rem}.skeleton--title-short{width:9rem}.skeleton--value{width:9rem;max-width:100%;height:.95rem;margin-top:.3rem}.skeleton--text{width:100%;height:.82rem}.skeleton--text-wide{width:84%}.skeleton--badge{width:8rem;height:1.9rem}.skeleton--badge-wide{width:14rem;max-width:100%}.skeleton--row-short{width:5.5rem;height:.86rem}.skeleton--row-long{width:15rem;max-width:100%;height:.86rem}.sparkline--skeleton span{border-radius:8px 8px 0 0;width:100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sparkline span{background:linear-gradient(#173ef2c7,#173ef233);border-radius:999px 999px 0 0;flex:1;min-height:10px}.button{background:var(--brand-500);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:.45rem;justify-content:center;align-items:center;min-height:2rem;padding:.42rem .8rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.button__content,.inline-loader{align-items:center;gap:.5rem;display:inline-flex}.button__spinner,.inline-loader__spinner{border:2px solid #ffffff57;border-top-color:currentColor;border-radius:50%;width:.9rem;height:.9rem;animation:.8s linear infinite button-spin}.inline-loader{color:var(--text-strong);font-size:.84rem;font-weight:600}.inline-loader__spinner{border-color:#173ef22e;border-top-color:var(--brand-500)}.button--ghost{color:var(--text-strong);border-color:var(--border-strong);background:0 0}.button--topbar{color:#ffffffe6;border-color:#ffffff24}.button--topbar:hover{background:#ffffff0f}.button--danger{color:#9f1239;border-color:#be185d29}.button:disabled{opacity:.55;cursor:not-allowed}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge,.status-pill{border-radius:999px;justify-content:center;align-items:center;min-height:1.6rem;padding:.08rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge{color:var(--text-strong);background:#1f29370f}.badge--positive,.status-pill--live{color:var(--success);background:#0596691a}.badge--warning{color:var(--warning);background:#ea580c1a}.badge--neutral,.status-pill{color:var(--brand-700);background:#173ef214}.muted{color:var(--text-soft)}@media (width<=1180px){.summary-strip,.dashboard-grid,.signal-grid,.dashboard-meta-grid,.catalog-card__body,.info-grid,.info-grid--deploy,.deploy-command,.deploy-command__meta,.console-layout,.console-layout--details,.deploy-layout{grid-template-columns:1fr}.power-switch-card{grid-template-columns:1fr;justify-items:start}}@media (width<=960px){.console-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border-strong)}}@media (width<=760px){.topbar__inner,.topbar__actions,.console-section__header,.catalog-card__header,.section-card__header,.dashboard-card__header,.card-actions{justify-content:stretch;display:grid}.topbar__inner{grid-template-columns:1fr}.topbar__content{grid-column:auto;padding-inline:.9rem}.page-shell{padding-inline:.9rem}.resource-table{overflow-x:auto}.resource-table__head,.resource-row{min-width:680px}.resource-table__head--blueprints,.resource-row--blueprints{min-width:1120px}}
