:root{color:#e7edf7;font-synthesis:none;text-rendering:optimizelegibility;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -20%,#173053 0,#07111f 42%);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a{color:inherit}.app-shell{grid-template:72px 1fr/228px 1fr;min-height:100vh;display:grid}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#07111fdb;border-bottom:1px solid #223148;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{color:#04101b;background:linear-gradient(135deg,#5eead4,#2f7df4);border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.brand strong,.brand small{display:block}.brand small{color:#8394ac;margin-top:3px;font-size:.72rem}.topbar-actions{align-items:center;gap:18px;display:flex}.system-status{color:#a8b6c9;font-size:.85rem}.system-status i,.notice-dot{background:#48d597;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 12px #48d597}.current-user{color:#c9d7e9;font-size:.84rem}.logout-button{color:#d9e5f7;cursor:pointer;background:#14233a;border:1px solid #344763;border-radius:9px;padding:7px 11px}.sidebar{background:#0a1626b8;border-right:1px solid #223148;flex-direction:column;justify-content:space-between;padding:22px 16px;display:flex}.sidebar nav{gap:6px;display:grid}.sidebar nav a{color:#91a2ba;border-radius:10px;padding:11px 14px;text-decoration:none;transition:all .16s}.sidebar nav a:hover{color:#fff;background:#14253d}.sidebar nav a.active{color:#d9fff8;background:linear-gradient(90deg,#143f45,#112b43);box-shadow:inset 2px 0 #5eead4}.sidebar-note{color:#63748b;font-size:.72rem;line-height:1.5}.content{min-width:0;padding:44px clamp(24px,5vw,72px)}.page-stack{gap:30px;width:min(1120px,100%);margin:0 auto;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.page-header h1,.centered-page h1,.fatal-error h1{letter-spacing:-.035em;margin:5px 0 9px;font-size:clamp(2rem,4vw,3rem)}.page-header>div>p:last-child,.centered-page>p,.fatal-error>p{color:#92a3ba;max-width:730px;margin:0;line-height:1.65}.eyebrow{color:#5eead4;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:800}.primary-button,.secondary-button{white-space:nowrap;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:42px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button{color:#03101a;background:#5eead4}.secondary-button{color:#cfe0f6;background:#182a42}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric-card,.empty-card,.notice-card{background:linear-gradient(145deg,#122238eb,#0a1728e0);border:1px solid #253750;border-radius:16px;box-shadow:0 18px 50px #00000024}.metric-card{gap:8px;padding:22px;display:grid}.metric-card span,.metric-card small{color:#8092aa}.metric-card strong{font-size:2.2rem}.empty-card,.notice-card{align-items:center;gap:20px;padding:26px;display:flex}.empty-card h2,.notice-card h2{margin:0 0 7px;font-size:1.04rem}.empty-card p,.notice-card p{color:#8799b1;margin:0;line-height:1.5}.empty-card>div:nth-child(2),.notice-card>div{flex:1}.empty-icon{color:#5eead4;background:#12383d;border-radius:13px;flex:0 0 46px;place-items:center;height:46px;font-size:1.35rem;display:grid}.notice-dot{background:#f7b955;flex:none;width:10px;height:10px;box-shadow:0 0 12px #f7b955}.loading-screen{color:#9aabc0;place-content:center;justify-items:center;min-height:100vh;display:grid}.loading-screen span{border:3px solid #263c57;border-top-color:#5eead4;border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}.loading-inline{color:#8fa1b8}.setup-page,.auth-page{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.setup-panel{width:min(920px,100%)}.setup-brand{justify-content:center;align-items:center;gap:11px;margin-bottom:24px;display:flex}.stepper{grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.stepper li{color:#677990;justify-items:center;gap:6px;font-size:.74rem;display:grid;position:relative}.stepper li:before{content:"";z-index:-1;background:#26384f;width:100%;height:1px;position:absolute;top:14px;right:50%}.stepper li:first-child:before{display:none}.stepper li>span{background:#0b1828;border:1px solid #31455f;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.stepper li.current,.stepper li.done{color:#c9fdf4}.stepper li.current>span,.stepper li.done>span{background:#143b42;border-color:#5eead4}.wizard-card,.auth-card{background:linear-gradient(145deg,#112136f5,#081423f5);border:1px solid #273b55;border-radius:22px;box-shadow:0 30px 90px #0000004d}.wizard-card{grid-template-rows:1fr auto;min-height:480px;padding:clamp(28px,5vw,60px);display:grid}.wizard-copy{width:min(650px,100%);margin:0 auto}.wizard-copy h1,.auth-card h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(2rem,5vw,3.2rem)}.wizard-copy>p:not(.eyebrow):not(.field-hint),.auth-card>p:not(.eyebrow):not(.form-notice){color:#91a2b9;line-height:1.65}.feature-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px;display:grid}.feature-row span{color:#a9dacf;background:#10273a;border-radius:11px;padding:14px;font-size:.8rem}label{color:#b9c8da;gap:7px;margin-top:18px;font-size:.84rem;font-weight:650;display:grid}input,textarea,select{color:#ecf3fb;resize:vertical;background:#09182a;border:1px solid #324863;border-radius:10px;outline:none;width:100%;padding:11px 12px}input:focus,textarea:focus,select:focus{border-color:#5eead4;box-shadow:0 0 0 3px #5eead41a}.field-hint,.setup-security-note{color:#6e8199;font-size:.76rem;line-height:1.5}.choice-card{background:#10283a;border:1px solid #345269;border-radius:13px;align-items:center;gap:14px;margin-top:30px;padding:20px;display:flex}.choice-card small,.choice-card strong{display:block}.choice-card small{color:#8398af;margin-top:5px}.choice-radio{border:5px solid #5eead4;border-radius:50%;width:18px;height:18px}.wizard-actions,.form-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.text-button{color:#9fb0c4;cursor:pointer;background:0 0;border:0;padding:10px}.form-error,.form-notice,.form-success{border-radius:9px;padding:12px 14px;line-height:1.45}.form-error{color:#ffc1c1;background:#421f2a;border:1px solid #713347}.form-notice{color:#ffe3ac;background:#3c2f17;border:1px solid #6b5427}.form-success{color:#b6f6d8;background:#143728;border:1px solid #286044}.setup-security-note{text-align:center}.auth-card{width:min(440px,100%);padding:38px}.auth-card form{display:grid}.auth-card .primary-button{width:100%;margin-top:24px}.editor-card{background:#102339;border:1px solid #31516b;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:24px;display:grid}.editor-card>div:first-child{grid-column:1/-1}.editor-card h2{margin:0 0 5px}.editor-card p{color:#8799b1;margin:0}.editor-card .form-actions,.editor-card>.form-error,.editor-card>.form-success{grid-column:1/-1}.settings-form{max-width:720px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.resource-card{background:#0e2035;border:1px solid #263a54;border-radius:15px;flex-direction:column;justify-content:space-between;min-height:180px;padding:22px;display:flex}.resource-card h2{margin:12px 0 5px}.resource-card p{color:#8295ad;margin:0}.resource-card>a{color:#5eead4;align-self:flex-start;margin-top:20px}.resource-card footer{justify-content:flex-end;gap:14px;margin-top:22px;display:flex}.resource-card footer button{color:#9fb3cb;cursor:pointer;background:0 0;border:0}.resource-card footer .danger-link{color:#ff9d9d}.status-pill{color:#aebed0;text-transform:uppercase;background:#26364a;border-radius:99px;padding:4px 8px;font-size:.7rem;display:inline-flex}.status-pill.online{color:#aff3d2;background:#174031}.status-pill.offline,.status-pill.degraded{color:#ffd0a1;background:#49301d}.status-pill.running{color:#b9ddff;background:#173a5b}.task-error{color:#ffc1c1;background:#421f2a;border:1px solid #713347;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.task-list{gap:14px;display:grid}.task-card{background:#0e2035;border:1px solid #263a54;border-radius:15px;padding:20px 22px}.task-card header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.task-card h2{overflow-wrap:anywhere;margin:5px 0 0;font-size:1rem}.task-action{color:#5eead4;letter-spacing:.04em;font-size:.76rem;font-weight:750}.task-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:20px 0 0;display:grid}.task-card dl div{min-width:0}.task-card dt{color:#71859e;margin-bottom:5px;font-size:.72rem}.task-card dd{color:#b7c7da;overflow-wrap:anywhere;margin:0;font-size:.84rem}.task-card .task-error-code dd{color:#ffb7b7}.gateway-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.gateway-status-grid .metric-card strong{overflow-wrap:anywhere;font-size:1.15rem}.evidence-state.succeeded{color:#7ce5b4}.evidence-state.failed,.evidence-state.rejected{color:#ff9d9d}.evidence-state.pending,.evidence-state.unknown{color:#f7c56d}.gateway-actions{background:#0e2035;border:1px solid #263a54;border-radius:15px;justify-content:space-between;align-items:center;gap:22px;padding:22px;display:flex}.gateway-actions h2,.section-heading h2{margin:4px 0 5px}.gateway-actions p{color:#8295ad;margin:0}.gateway-actions>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:13px;display:flex}.observation-list{gap:8px;display:grid}.observation-list>div{background:#0e2035;border:1px solid #263a54;border-radius:11px;grid-template-columns:minmax(110px,1fr) auto minmax(220px,2fr);align-items:center;gap:14px;padding:14px 16px;display:grid}.observation-list small{color:#8295ad}.status-pill.succeeded{color:#aff3d2;background:#174031}.status-pill.failed,.status-pill.rejected{color:#ffc1c1;background:#421f2a}.status-pill.queued,.status-pill.pending,.status-pill.unknown{color:#ffe3ac;background:#3c2f17}.gateway-editor>.form-notice{grid-column:1/-1}.agent-panel{background:linear-gradient(145deg,#102b38,#0b2031);border:1px solid #2d5b67;border-radius:16px;padding:24px}.agent-panel>header,.agent-status-row,.management-device{justify-content:space-between;align-items:center;gap:16px;display:flex}.agent-panel h2{margin:5px 0 0}.gateway-assignment-panel{gap:18px;display:grid}.assignment-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.assignment-facts>div{background:#0c1c2c;border:1px solid #29455b;border-radius:12px;padding:14px}.assignment-facts dt{color:#8295ad;font-size:.76rem}.assignment-facts dd{overflow-wrap:anywhere;margin:6px 0 0}.tunnel-section{border-top:1px solid #29455b;gap:14px;padding-top:18px;display:grid}.tunnel-section>header,.tunnel-list article,.tunnel-list article footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.tunnel-section h3,.tunnel-section p{margin:0}.tunnel-section p,.tunnel-list small{color:#8295ad}.tunnel-form{background:#0c1c2c;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.tunnel-form .form-actions,.tunnel-form .confirm-public{grid-column:1/-1}.confirm-public{align-items:center;display:flex;flex-direction:row!important}.confirm-public input{width:auto}.tunnel-list{gap:10px;display:grid}.tunnel-list article{border:1px solid #29455b;border-radius:12px;padding:14px}.tunnel-list article>div{gap:5px;display:grid}.tunnel-list article footer button{color:#9fb3cb;cursor:pointer;background:0 0;border:0}.agent-status-row{justify-content:flex-start;margin:20px 0}.agent-status-row p{color:#9fb1c5;margin:0}.management-device{background:#112f3a;border-radius:10px;margin-bottom:18px;padding:13px}.management-device span{color:#8ea3b8;font-size:.8rem}.agent-plan ul{color:#98aabd;padding-left:20px;line-height:1.8}.agent-commands dl{gap:9px;display:grid}.agent-commands dl div{grid-template-columns:110px 1fr;gap:12px;display:grid}.agent-commands dt{color:#8196ad}.agent-commands dd{min-width:0;margin:0}.agent-commands ol{gap:10px;padding-left:24px;display:grid}.agent-commands code{overflow-wrap:anywhere;color:#b8f5e9}button:disabled{opacity:.55;cursor:wait}@keyframes spin{to{transform:rotate(360deg)}}.centered-page,.fatal-error{text-align:center;width:min(620px,100% - 40px);margin:14vh auto}.centered-page .primary-button,.fatal-error button{margin-top:24px}.fatal-error details{color:#91a2ba;margin:20px 0}.fatal-error code{overflow-wrap:anywhere;margin-top:10px;display:block}.fatal-error button{color:#03101a;cursor:pointer;background:#5eead4;border:0;border-radius:10px;min-height:42px;padding:0 18px;font-weight:800}@media (width<=760px){.app-shell{grid-template:64px 1fr 64px/1fr}.topbar{padding:0 18px}.brand small,.system-status,.sidebar-note,.current-user{display:none}.sidebar{z-index:10;background:#0a1626;border:1px solid #223148;grid-row:3;padding:7px 8px;position:sticky;bottom:0}.sidebar nav{grid-template-columns:repeat(6,1fr);gap:2px}.sidebar nav a{text-align:center;padding:10px 4px;font-size:.72rem}.sidebar nav a.active{box-shadow:inset 0 -2px #5eead4}.content{grid-row:2;padding:28px 18px}.page-header{display:grid}.page-header .primary-button{width:100%}.metric-grid,.gateway-status-grid,.resource-grid,.editor-card,.feature-row{grid-template-columns:1fr}.editor-card>div:first-child,.editor-card .form-actions,.editor-card>.form-error,.editor-card>.form-success{grid-column:auto}.stepper small{display:none}.empty-card{flex-wrap:wrap;align-items:flex-start}.empty-card .secondary-button{width:100%}.task-card dl{grid-template-columns:1fr}.task-error,.gateway-actions{flex-direction:column;align-items:stretch}.gateway-actions>div:last-child{justify-content:flex-start}.observation-list>div{grid-template-columns:1fr auto}.observation-list small{grid-column:1/-1}}
