:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#18211c;font-synthesis:none;text-rendering:optimizelegibility;background:#eef1f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}code{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.login-shell{background:linear-gradient(120deg,#18705f1f,#1b548a14),#eef1f3;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d6dde2;border-radius:8px;gap:16px;width:min(420px,100%);padding:32px;display:grid;box-shadow:0 18px 52px #1921271f}.login-card h1,.topbar h1,.data-section h2,.form-panel h2,.side-panel h2{letter-spacing:0;margin:0}.brand-mark{color:#fff;background:#18705f;border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.brand-mark.compact{width:42px;height:42px}.login-card label,.form-panel,.stack-form{gap:9px;display:grid}input,select,textarea{color:#18211c;background:#fff;border:1px solid #cbd5dc;border-radius:6px;width:100%;padding:10px 11px}textarea{resize:vertical;min-height:78px}.app-shell{grid-template-columns:258px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{color:#eef6f2;background:#17211d;border-right:1px solid #d6dde2;grid-template-rows:auto 1fr auto;height:100vh;display:grid;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;min-height:78px;padding:18px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{color:#a7b9b1;font-size:.84rem}.sidebar-nav{align-content:start;gap:6px;padding:14px 10px;display:grid}.nav-item{color:#cfe0d8;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 10px;display:flex}.nav-item svg{width:18px;height:18px}.nav-item.active{color:#fff;background:#23524a;border-color:#ffffff24}.nav-item:hover{background:#ffffff14}.sidebar-footer{border-top:1px solid #ffffff14;gap:10px;padding:14px;display:grid}.sidebar-footer span{overflow-wrap:anywhere;color:#a7b9b1;font-size:.82rem}.app-main{align-content:start;gap:18px;min-width:0;padding:24px;display:grid}.topbar{border-bottom:1px solid #d6dde2;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;display:flex}.eyebrow{color:#64727b;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:800}.topbar-actions,.row-actions,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.release-tabs{background:#fff;border:1px solid #cbd5dc;border-radius:8px;flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:inline-flex}.release-tab-button{color:#40505a;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:7px 12px;font-weight:800;display:inline-flex}.release-tab-button.active{color:#fff;background:#18705f}.release-tab-count{color:#155c50;background:#eef8f5;border-radius:999px;min-width:24px;padding:2px 7px;font-size:.8rem}.release-tab-button.active .release-tab-count{color:#155c50;background:#fff}.release-action-panel{background:#f7faf9;border:1px solid #d6dde2;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:end;gap:14px;padding:14px;display:grid}.release-action-panel h3,.release-action-panel p{margin:0}.release-action-panel p{color:#60707a;margin-top:5px}.primary-button,.secondary-button,.ghost-button,.row-actions button,.side-panel header button,.token-box button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#18705f}.secondary-button,.row-actions button,.token-box button{color:#155c50;background:#eef8f5;border-color:#b8d6cf}.ghost-button,.side-panel header button{color:#2f3b43;background:#fff;border-color:#cbd5dc}.compact-button{min-height:34px}.full{width:100%}.message,.status-panel{border-radius:7px;padding:11px 13px;font-size:.92rem}.message.success{color:#0c5132;background:#dff5e8}.message.error{color:#842029;background:#f8d7da}.message.info{color:#23405a;background:#d9ecfb}.status-panel{background:#fff;border:1px solid #d6dde2;align-items:flex-start;gap:10px;display:flex}.status-panel.good{color:#0d533b;background:#ecf9f1;border-color:#b9e4cc}.status-panel.warn{color:#715000;background:#fff7df;border-color:#f1d483}.status-panel.neutral{color:#34424a;background:#fff;border-color:#d6dde2}.content-stack,.data-section{gap:16px;display:grid}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.metric{background:#fff;border:1px solid #d6dde2;border-radius:8px;min-height:118px;padding:16px}.metric-icon{color:#18705f;background:#e4f3ef;border-radius:8px;place-items:center;width:36px;height:36px;margin-bottom:12px;display:grid}.metric.good .metric-icon{color:#0d633f;background:#ddf5e8}.metric.warn .metric-icon{color:#8a5d00;background:#fff1c7}.metric svg{width:20px;height:20px}.metric span{color:#5f6d76;font-size:.84rem;display:block}.metric strong{letter-spacing:0;margin-top:5px;font-size:1.28rem;display:block}.forms-grid{grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;display:grid}.forms-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel{background:#fff;border:1px solid #d6dde2;border-radius:8px;align-content:start;padding:18px}.form-panel.wide{gap:12px}.form-heading{gap:3px;display:grid}.form-heading span{color:#60707a;font-size:.9rem}.inline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.inline-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.checkline{color:#3e4741;align-items:center;gap:8px;font-size:.9rem;display:flex}.checkline input,.module-item input{width:16px;height:16px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading h2,.section-heading p,.panel-title h3,.panel-title p{margin:0}.section-heading p,.panel-title p,.hint-text{color:#60707a}.table-wrap{background:#fff;border:1px solid #d6dde2;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:980px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf1f3;padding:12px 13px}th{color:#4d5b64;text-transform:uppercase;background:#f6f8f9;font-size:.77rem}td strong,td span{display:block}td span{color:#62717a;font-size:.86rem}td a{color:#155c50;align-items:center;gap:5px;font-weight:800;text-decoration:none;display:inline-flex}td a:hover{text-decoration:underline}.module-cell{overflow-wrap:anywhere;min-width:180px;max-width:300px}.environment-action-cell{gap:6px;min-width:190px;display:grid}.environment-action-cell>span{display:block}.compact-actions{gap:5px}.compact-actions button{min-width:34px;padding-inline:8px}.status-button,.table-detail-button{white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:5px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.status-button.good{color:#0d533b;background:#dff5e8}.status-button.warn{color:#745000;background:#fff0c1}.status-button.bad{color:#842029;background:#f8d7da}.status-button.neutral{color:#49524c;background:#eceff1}.table-detail-button{color:#155c50;background:#eef8f5;border:1px solid #b8d6cf}.badge{border-radius:999px;max-width:260px;padding:4px 8px;font-size:.76rem;font-weight:800;display:inline-flex}td .badge+.badge{margin-top:6px}.badge.good{color:#0d533b;background:#dff5e8}.badge.warn{color:#745000;background:#fff0c1}.badge.bad{color:#842029;background:#f8d7da}.badge.neutral{color:#49524c;background:#eceff1}.empty-state{color:#60707a;background:#fff;border:1px dashed #bfcad2;border-radius:8px;padding:18px}.version-distribution{background:#fff;border:1px solid #d6dde2;border-radius:8px;gap:10px;padding:16px;display:grid}.version-distribution-row{grid-template-columns:minmax(90px,160px) minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.version-distribution-label{color:#18211c;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.version-distribution-track{background:#eef1f3;border-radius:999px;height:16px;overflow:hidden}.version-distribution-fill{background:#18705f;border-radius:999px;height:100%}.version-distribution-count{color:#4d5b64;text-align:right;font-size:.86rem;font-weight:800}.matrix-legend{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.matrix-cell{gap:5px;display:grid}.matrix-cell .badge{width:fit-content}.matrix-divergence-badge{align-items:center;gap:4px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.client-block{background:#fff;border:1px solid #d6dde2;border-radius:8px;gap:14px;padding:18px;display:grid}.client-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.client-heading h3,.client-heading p{margin:0}.client-heading p{color:#60707a}.detail-list{gap:10px;margin:0;display:grid}.detail-list div{gap:3px;display:grid}.detail-list dt{color:#60707a;text-transform:uppercase;font-size:.78rem;font-weight:800}.detail-list dd{margin:0}.flow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.flow-grid article{background:#fff;border:1px solid #d6dde2;border-radius:8px;align-content:start;gap:7px;min-height:126px;padding:15px;display:grid}.flow-icon{color:#1b548a;background:#e7f0fb;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.flow-grid span{color:#60707a;font-size:.9rem;line-height:1.45}.bootstrap-layout{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:14px;display:grid}.installer-panel{background:#fff;border:1px solid #d6dde2;border-radius:8px;align-content:start;gap:14px;padding:18px;display:grid}.panel-title{align-items:flex-start;gap:10px;display:flex}.panel-title svg{color:#18705f;flex:none}.environment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.environment-summary span{color:#60707a;background:#f7fafb;border:1px solid #e0e7eb;border-radius:6px;min-width:0;padding:9px 10px}.environment-summary strong{overflow-wrap:anywhere;color:#18211c;display:block}.command-panel{min-width:0}.command-box{color:#edf8f2;white-space:pre;background:#17211b;border:1px solid #25342d;border-radius:8px;max-height:360px;margin:0;padding:14px;font-size:.82rem;line-height:1.55;overflow:auto}.compact-command{max-height:220px;font-size:.76rem}.secondary-link{color:#1b548a;background:#edf5fd;border:1px solid #c7d4df;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-flex}.hint-text{margin:0;font-size:.9rem}.overlay{z-index:20;background:#17211b61;justify-content:flex-end;display:flex;position:fixed;inset:0}.side-panel{background:#fff;align-content:start;gap:18px;width:min(480px,100%);min-height:100%;max-height:100vh;padding:24px;display:grid;overflow-y:auto;box-shadow:-18px 0 52px #1f272224}.side-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.help-content{gap:14px;display:grid}.help-content section{background:#f8fafb;border:1px solid #e0e7eb;border-radius:8px;padding:14px}.help-content h3,.help-content p,.help-content ul{margin:0}.help-content ul{gap:7px;margin-top:9px;padding-left:20px;display:grid}.module-list{gap:8px;display:grid}.module-item{border:1px solid #e0e7eb;border-radius:8px;align-items:center;gap:11px;padding:11px;display:flex}.module-item small{color:#60707a;display:block}.deployment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.live-indicator{color:#155c50;background:#eef8f5;border-radius:999px;align-items:center;min-height:34px;padding:6px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.deployment-timeline{background:#fff;border:1px solid #e0e7eb;border-radius:8px;gap:0;display:grid}.deployment-step{grid-template-columns:20px minmax(0,1fr);gap:10px;padding:14px;display:grid;position:relative}.deployment-step+.deployment-step{border-top:1px solid #edf1f3}.deployment-step-marker{background:#fff;border:2px solid #b8c4cc;border-radius:999px;width:12px;height:12px;margin-top:4px}.deployment-step.done .deployment-step-marker{background:#0d633f;border-color:#0d633f}.deployment-step.active .deployment-step-marker{background:#1b548a;border-color:#1b548a;box-shadow:0 0 0 4px #1b548a1f}.deployment-step.bad .deployment-step-marker{background:#842029;border-color:#842029}.deployment-step strong,.detail-block h3{color:#18211c;margin:0;display:block}.deployment-step p,.detail-block p{color:#4c5a63;margin:5px 0 0;line-height:1.45}.deployment-step small{color:#60707a;margin-top:6px;display:block}.detail-block{gap:8px;display:grid}.log-box{white-space:pre-wrap;max-height:300px}.stack-form{gap:11px}.stack-form.nested{background:#f7faf9;border:1px solid #d6dde2;border-radius:8px;padding:12px}.inline-fields{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.token-box{background:#f6f8f9;border:1px solid #d6dde2;border-radius:8px;gap:10px;padding:12px;display:grid}.token-box code{overflow-wrap:anywhere;font-size:.84rem}@media (width<=1280px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.app-shell{grid-template-columns:1fr}.app-sidebar{height:auto;position:static}.sidebar-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.release-action-panel{grid-template-columns:1fr}.sidebar-footer{display:none}.forms-grid.two,.bootstrap-layout,.client-grid{grid-template-columns:1fr}}@media (width<=760px){.app-main{padding:16px}.topbar,.client-heading,.section-heading{flex-direction:column;align-items:flex-start}.sidebar-nav,.metrics-grid,.flow-grid,.inline-grid,.inline-grid.three,.inline-grid.two-cols,.inline-fields,.environment-summary{grid-template-columns:1fr}.version-distribution-row{grid-template-columns:minmax(0,1fr);gap:4px}.version-distribution-count{text-align:left}.topbar-actions,.release-tabs{width:100%}.release-tab-button{flex:140px}.primary-button,.secondary-button,.ghost-button,.row-actions button,.secondary-link{width:100%}}
