@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&display=swap";/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--bg: #f4f2ea;--panel: #fffdf8;--ink: #1d1a12;--accent: #d65a31;--accent-2: #2d4059;--danger: #b22727;--border: #ddd3bf}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--ink);min-height:100vh;background:radial-gradient(1200px 700px at 80% 12%,rgba(60,78,130,.35),transparent 60%),linear-gradient(180deg,#12182a,#111729 55%,#101526);background-attachment:fixed}.auth-shell,.dashboard{width:min(1100px,92vw);margin:2rem auto}.console-shell{width:min(1380px,98vw);margin:1rem auto;min-height:95vh;display:grid;grid-template-columns:84px 1fr;background:#0f121b;border:1px solid #2b3140;border-radius:22px;overflow:hidden;box-shadow:0 20px 70px #00000073}.console-sidebar{background:linear-gradient(180deg,#101523,#0d111c);border-right:1px solid #262c38;display:grid;grid-auto-rows:min-content;justify-items:center;gap:1rem;padding:1rem .5rem}.console-logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#141922;background:linear-gradient(130deg,#ff4f9b,#ff6d6d);margin-bottom:.5rem}.console-nav-dot{width:36px;height:36px;border-radius:11px;background:#1f2532;border:1px solid #32384a}.console-nav-dot.active{background:linear-gradient(130deg,#2a9bff,#8a6fff);border-color:transparent}.console-main{padding:1rem 1.2rem 1.4rem;background:radial-gradient(circle at top right,rgba(138,111,255,.14),transparent 28%),#11151f}.console-header{display:flex;justify-content:space-between;gap:.9rem;align-items:center;margin-bottom:1rem}.console-search{width:min(520px,100%);border:1px solid #313a4f;background:#1a2030;color:#d8deed;border-radius:12px;padding:.65rem .85rem}.console-search::placeholder{color:#8f9ab4}.space-plans-wrap{margin-top:1.1rem}.space-plans-head h2{margin:0;color:#ecf1ff}.space-plans-head p{margin:.35rem 0 .7rem}.space-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.space-plan-card{border:1px solid #343b4e;border-radius:16px;padding:.9rem;background:linear-gradient(165deg,#1a202d,#171c27);color:#e7ecfb;display:grid;gap:.28rem}.space-plan-card.disabled{opacity:.58;filter:grayscale(.35)}.space-plan-icon{width:42px;height:42px;border-radius:12px;background:#2a3142;display:grid;place-items:center;margin-bottom:.2rem}.space-plan-icon img{width:26px;height:26px;object-fit:contain}.space-plan-card h3{margin:.1rem 0 .2rem}.space-plan-spec{margin:0;color:#c9d5f3;font-size:.92rem}.space-plan-use{margin:.4rem 0 .1rem;color:#9bb3df;min-height:38px}.space-plan-price{margin:.1rem 0 .55rem;color:#8df1d8;font-weight:700}.space-plan-btn{margin-top:auto;border-radius:12px;padding:.58rem .8rem;font-weight:700;background:transparent;color:#b8c8ee;border:1px solid #3a4a69}.space-plan-btn:hover:not(:disabled){background:#3a4a6933}.space-selected-plan{margin-top:.55rem;margin-bottom:.65rem;border:1px solid #35415d;border-radius:12px;background:linear-gradient(165deg,#1a2235,#171f32);padding:.65rem .75rem}.space-selected-plan p{margin:.15rem 0}.billing-profile-section{margin-top:.7rem;border:1px solid #35415d;border-radius:14px;background:#121a2bb8;padding:.75rem}.billing-profile-section h4{margin:0 0 .25rem;color:#ecf1ff}.billing-profile-section .muted{margin:0 0 .65rem}.billing-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.service-template-grid{margin-top:.7rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem}.service-template-card{border:1px solid #33405e;background:linear-gradient(165deg,#1a2235,#171f32);color:#e7ecfb;border-radius:12px;padding:1rem .75rem;display:grid;justify-items:center;min-height:96px}.service-template-card:hover{background:linear-gradient(165deg,#22304c,#1b2740)}.service-template-icon{font-size:3.6rem;line-height:1}.service-template-icon-image{width:84px;height:84px;object-fit:contain}.auth-shell.auth-theme{width:min(700px,95vw);min-height:92vh;display:grid;place-items:center}.auth-panel{width:100%;min-height:82vh;border-radius:28px;overflow:hidden;background:#1d2338;box-shadow:0 30px 80px #14193273;display:grid;grid-template-columns:1fr}.auth-hero{background:linear-gradient(140deg,#1c2239,#1a2035 80%);color:#eef1ff;padding:2.4rem 3rem;display:flex;align-items:center;justify-content:center}.auth-nav{display:flex;align-items:center;gap:1.25rem;color:#93a0bd}.auth-nav strong{color:#eef1ff;margin-right:auto;letter-spacing:.01em}.brand-dot{width:20px;height:20px;border-radius:50%;background:#2a9bff;box-shadow:0 0 20px #2a9bffa6}.brand-logo{width:56px;height:56px;object-fit:contain}.auth-content{align-self:center;justify-self:center;max-width:520px;width:100%}.auth-top-logo{width:118px;height:auto;display:block;margin:0 0 1.15rem}.auth-content h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.04;margin:.4rem 0 .8rem;color:#f4f6ff}.auth-switch-line{color:#99a9ca;margin-bottom:1.15rem}.linklike{background:none;color:#2a9bff;padding:0;border:0;border-radius:0}.auth-form{display:grid;gap:.8rem}.auth-form label{color:#9cadce;margin-bottom:0}.auth-field{position:relative;display:grid;gap:.28rem;padding:.42rem 3rem .52rem .95rem;border:1px solid #2d3653;background:#252d46;color:#eff3ff;border-radius:16px;box-shadow:inset 0 1px #ffffff08}.auth-field-label{font-size:.75rem;color:#9ca9c7;line-height:1}.auth-form input{border:0;background:transparent;color:#eff3ff;border-radius:0;padding:0;font-weight:600}.auth-form input:focus{outline:none}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus,.auth-form input:-webkit-autofill:active{-webkit-text-fill-color:#eff3ff;box-shadow:0 0 0 1000px #252d46 inset;-webkit-box-shadow:0 0 0 1000px #252d46 inset;transition:background-color 9999s ease-in-out 0s}.auth-field:focus-within{border-color:#2a9bff;box-shadow:0 0 0 2px #2a9bff33}.auth-field-icon{position:absolute;right:.95rem;top:50%;transform:translateY(-25%);color:#a8b5d4;opacity:.9;font-size:.9rem}.auth-icon-btn{background:transparent;border:0;padding:0;color:#a8b5d4;cursor:pointer}.auth-actions{margin-top:.7rem;display:grid;grid-template-columns:1fr;gap:.9rem}.auth-actions button{border-radius:18px;padding:.8rem 1rem;background:linear-gradient(120deg,#2196ff,#187ae0)}.auth-inline-error{display:flex;align-items:center;gap:.55rem}.auth-inline-error .error{margin:0}.auth-inline-link{border:0;background:transparent;color:#2e8dff;padding:0;font-weight:700;font-size:.98rem;cursor:pointer}.auth-inline-link:disabled{opacity:.72;cursor:default}h1,h2,h3{margin:0 0 .5rem}p{margin:.2rem 0}.card{background:linear-gradient(150deg,#181d28,#141a25);border:1px solid #2c3345;border-radius:14px;padding:1rem;box-shadow:0 10px 35px #00000038;color:#e7ecfb}label,input,textarea,button{font:inherit}label{display:grid;gap:.35rem;margin-bottom:.8rem}input,textarea,select{border:1px solid #2f374b;border-radius:10px;padding:.65rem .75rem;background:#1b2132;color:#ebf0ff}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#ebf0ff;box-shadow:0 0 0 1000px #1b2132 inset;-webkit-box-shadow:0 0 0 1000px #1b2132 inset;transition:background-color 9999s ease-in-out 0s}textarea{resize:vertical}button{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:.65rem .9rem;font-weight:700;cursor:pointer}button.ghost{background:#2d4059}button.danger{background:#b22727}button.danger-outline{background:transparent;color:#ff9ca6;border:1px solid #a53a49}button.danger-outline:hover{background:#a53a4924}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#3bc2ff,#4d8bff 34%,#5b63ff 62%,#7b4bff)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-primary:active:not(:disabled){filter:brightness(.98)}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dashboard-logo{height:42px;width:auto;object-fit:contain}.user-menu-wrap{position:relative}.user-icon-btn{width:44px;height:44px;border-radius:999px;background:#222a3a;border:1px solid #38425a;color:#eaf0ff;padding:0;display:grid;place-items:center;font-size:1.2rem}.user-menu{position:absolute;right:0;top:calc(100% + .55rem);width:min(320px,88vw);background:linear-gradient(150deg,#1a2232,#141c2a);border:1px solid #303a52;border-radius:14px;padding:.8rem;box-shadow:0 16px 40px #00000073;z-index:50}.user-menu-top{display:grid;justify-items:center;gap:.3rem;padding:.2rem .2rem .65rem;border-bottom:1px solid #2d3750;margin-bottom:.65rem}.user-menu-avatar{width:74px;height:74px;border-radius:999px;background:#232d41;border:1px solid #3a4763;display:grid;place-items:center;font-size:2rem}.user-menu-name{font-weight:700;color:#eef3ff}.user-menu-email{color:#9ca9c7;font-size:.92rem;word-break:break-all}.user-menu-action{width:100%}.user-menu-action+.user-menu-action{margin-top:.5rem}.user-menu-action.ghost{background:transparent;color:#b8c8ee;border:1px solid #3a4a69}.user-menu-action.ghost:hover{background:#3a4a6933}.user-menu-action.danger{background:transparent;color:#ff9ca6;border:1px solid #a53a49}.user-menu-action.danger:hover{background:#a53a4924}.user-menu-delete{border-color:#d1465a;color:#ffc4cc}.user-menu-delete:hover{background:#d1465a29}.user-menu-delete:disabled{opacity:.7;cursor:not-allowed}.user-menu-version{margin-top:.6rem;text-align:center;font-size:.78rem;color:#8e9aba}.row{display:flex;gap:.6rem}.row input{flex:1}.service-form .row,.modal-card .row{justify-content:flex-end;margin-top:.55rem}.grid{margin-top:1rem;display:grid;grid-template-columns:1fr;gap:1rem}.project-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center;width:min(978px,100%);margin:0 auto}.project-head-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.space-name-title{margin:0;font-size:2rem;line-height:1.05;letter-spacing:.01em}.project-delete-btn{border-radius:12px;padding:.52rem .82rem;font-weight:600}.project-export-btn{border-radius:12px;padding:.52rem .82rem;font-weight:600;background:transparent;color:#b8c8ee;border:1px solid #3a4a69}.project-export-btn:hover{background:#3a4a6933}.project-icon-btn{width:42px;min-width:42px;height:42px;padding:0;border-radius:12px;display:grid;place-items:center;font-size:1.1rem;line-height:1}.project-delete-btn.project-icon-btn{padding:0}.project-volumes-icon{width:20px;height:20px;fill:none;stroke:#d8deed;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.project-volumes-icon circle{fill:#d8deed;stroke:none}.services-capacity{margin-top:.95rem;margin-bottom:.9rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;width:min(978px,100%);margin-left:auto;margin-right:auto}.services-capacity-col{display:grid;gap:.28rem}@media (max-width: 760px){.services-capacity{grid-template-columns:1fr}}.service-list{margin:.8rem 0;display:grid;gap:.5rem}.service-list{grid-template-columns:repeat(3,320px);grid-auto-rows:360px;justify-content:center;gap:.9rem;width:fit-content;margin-left:auto;margin-right:auto}.service-metric-card{border:1px solid #343b4e;border-radius:18px;padding:1rem;background:linear-gradient(165deg,#1a202d,#171c27);width:320px;height:100%;position:relative;display:grid;grid-template-rows:auto auto auto auto 1fr;gap:.32rem;min-width:0;overflow:hidden}.service-top-actions{position:absolute;top:.62rem;right:.62rem;display:flex;align-items:center;gap:.22rem}.service-top-btn{min-width:26px;width:26px;height:26px;padding:0;border-radius:999px;display:grid;place-items:center;background:transparent;border:1px solid #3a4a69;font-size:.72rem}.service-top-btn svg{width:14px;height:14px}.service-guide-btn,.service-build-btn{color:#b8c8ee}.service-build-btn.is-updating{border-color:#7aa7ff;background:#7aa7ff24}.service-update-spin{animation:serviceUpdateSpin .8s linear infinite}@keyframes serviceUpdateSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.service-files-btn{color:#e5e7eb}.service-files-icon{width:14px;height:14px;fill:none;stroke:#e5e7eb;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-top-btn:hover{background:#3a4a6933}.service-top-btn:disabled{opacity:.45}.metric-icon{width:42px;height:42px;border-radius:12px;background:#2a3142;display:grid;place-items:center}.metric-logo img{width:28px;height:28px;object-fit:contain}.service-metric-card h4{margin:.3rem 0 0;font-size:1.5rem;padding-right:5.8rem;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-resource-stack{position:absolute;right:1rem;top:7rem;text-align:right;color:#c9d5f3;font-size:.92rem;line-height:1.25}.service-resource-stack p{margin:.06rem 0}.replica-control{margin-top:.22rem;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:.06rem}.replica-line{display:inline-flex;align-items:center;gap:.32rem}.replica-count{min-width:1ch;text-align:center;font-size:.82rem;font-weight:700;color:#d6def3}.replica-label{font-size:.56rem;font-weight:700;letter-spacing:.08em;color:#95a2c8}.replica-btn{border:0;background:transparent;padding:0;margin:0;width:12px;height:12px;line-height:12px;font-size:.72rem;font-weight:700;color:#9cb0db;cursor:pointer}.replica-btn:hover:not(:disabled){color:#d8e5ff}.replica-btn:disabled{color:#4f5f86;cursor:not-allowed}.service-status{margin:.1rem 0 .2rem;width:fit-content;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.service-status-running{color:#73f2b7;background:#1db57029;border-color:#1db5705c}.service-status-deploying{color:#8fc3ff;background:#2a9bff2e;border-color:#2a9bff66}.service-status-pending,.service-status-unknown{color:#ffd587;background:#c48d252b;border-color:#c48d255c}.service-status-error,.service-status-failed,.service-status-not_found{color:#ff9ca6;background:#b4272733;border-color:#b4272761}.service-status-terminated{color:#b6c5ea;background:#7184b133;border-color:#7184b15c}.metric-big{font-size:3rem;font-weight:700;line-height:1}.metric-sub{color:#89f0d0;margin:0;line-height:1.15}.metric-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-dns a{color:#8fb7ff;text-decoration:none;display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-dns{min-height:0;margin:0;line-height:1.12}.metric-actions{margin-top:.55rem;display:flex;gap:.55rem;align-items:center;width:100%;min-width:0}.icon-btn{min-width:42px;width:42px;height:42px;flex:0 0 42px;padding:0;display:grid;place-items:center;font-size:1.05rem}.metric-actions .icon-btn.ghost{background:transparent;border:1px solid #3a4a69;color:#b8c8ee}.metric-actions .icon-btn.ghost:hover{background:#3a4a6933}.metric-actions .icon-btn.danger{background:transparent;border:1px solid #a53a49;color:#ff9ca6;margin-left:auto}.metric-actions .icon-btn.danger:hover{background:#a53a4929}.add-service-btn{margin-top:.35rem;border-radius:12px;padding:.62rem 1rem;font-weight:700;background:transparent;color:#b8c8ee;border:1px solid #3a4a69}.add-service-btn:hover{background:#3a4a6933}.service-form{margin-top:.8rem;display:grid;gap:.85rem;overflow-x:visible}.notched-field{position:relative;border:1px solid #2f374b;border-radius:14px;background:#1a2131;padding:.34rem .58rem .28rem}.notched-field-label{position:absolute;top:-.36rem;left:.8rem;padding:0 .4rem;background:transparent;color:#6f7788;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;z-index:2}.notched-field-label:before{content:"";position:absolute;left:-.26rem;right:-.26rem;top:50%;height:4px;transform:translateY(-50%);background:#1a2131;z-index:-1}.notched-field>input,.notched-field>select,.notched-field>textarea{width:100%;border:0;background:transparent;padding:0;color:#e8efff;outline:none}.notched-field>input,.notched-field>select{height:32px}.notched-field>textarea{min-height:96px}.notched-field:focus-within{border-color:#3a4a69;box-shadow:0 0 0 2px #3a4a6933}.ticket-modal-card{width:min(1040px,94vw)}.ticket-modal-head,.ticket-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.ticket-modal-actions{display:flex;justify-content:flex-end;margin-top:1rem}.ticket-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr);gap:1rem;min-height:520px}.ticket-list,.ticket-main,.ticket-messages{min-width:0}.ticket-list{display:grid;align-content:start;gap:.55rem;border-right:1px solid #2f374b;padding-right:.8rem}.ticket-list-item{display:grid;gap:.2rem;text-align:left;border:1px solid #2f374b;border-radius:12px;background:#171f2f;color:#e8efff;padding:.65rem}.ticket-list-item.active{border-color:#4b6fa8;background:#1d2b43}.ticket-thread{display:grid;gap:.85rem}.ticket-messages{display:grid;gap:.7rem;max-height:430px;overflow:auto;padding-right:.3rem}.ticket-message{border:1px solid #2f374b;border-radius:14px;background:#171f2f;padding:.75rem}.ticket-message.admin{background:#18293a;border-color:#31506e}.ticket-message p{white-space:pre-wrap}.ticket-attachments{display:flex;flex-wrap:wrap;gap:.45rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin:.2rem 0}.checkbox-row input[type=checkbox]{width:16px;height:16px}.warning-text{color:#ffd18a;font-size:.85rem;margin:.15rem 0}.field-with-help{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.32rem;min-width:0}.field-with-help>input,.field-with-help>textarea,.field-with-help>select{flex:1;min-width:0;width:100%}.field-with-help>.notched-field{min-width:0;width:100%}.field-with-help-textarea{align-items:flex-start}.custom-domain-row{display:grid;grid-template-columns:minmax(110px,.7fr) auto minmax(220px,1.3fr);gap:.55rem;align-items:center;min-width:0}.custom-domain-frame{position:relative;display:grid;gap:.5rem;border:1px solid #3a4561;border-radius:12px;background:#1923388c;padding:.6rem}.custom-domain-title,.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.modal-title-row{margin-bottom:.75rem}.modal-title-row h3{margin-bottom:0}.custom-subdomain-input{text-align:right}.custom-domain-dot{font-weight:700;color:#9fb1da;line-height:1}.custom-domain-select{min-width:0}.help-tip{width:20px;height:20px;border-radius:999px;border:1px solid #4b5a79;color:#bcd0ff;background:#202b40;font-size:.72rem;font-weight:700;display:inline-grid;place-items:center;cursor:help;-webkit-user-select:none;user-select:none;position:relative}.help-tip-popover{position:fixed;max-height:min(70vh,520px);overflow-y:auto;padding:.5rem .6rem;border-radius:10px;border:1px solid #3a4a69;background:#121a2a;color:#dce6ff;font-size:.78rem;font-weight:500;line-height:1.3;white-space:pre-line;box-shadow:0 12px 30px #00000059;z-index:3000;pointer-events:none}.help-tip-popover-arrow{position:absolute;top:-6px;transform:rotate(45deg);width:10px;height:10px;background:#121a2a;border-left:1px solid #3a4a69;border-top:1px solid #3a4a69}.advanced-toggle-btn{justify-self:start;padding:.45rem .7rem;border-radius:10px}.advanced-section{display:grid;gap:.65rem;padding:0;border:0;background:transparent;min-width:0}.command-args-frame,.registry-auth-frame{display:grid;gap:.7rem;padding:.8rem;border:1px solid #3a4561;border-radius:10px;background:#1923388c;min-width:0}.storage-frame{display:grid;gap:.95rem;padding:.8rem;border:1px solid #3a4561;border-radius:10px;background:#1923388c;min-width:0}.storage-mount-row{display:grid;gap:.7rem;padding-bottom:.7rem;border-bottom:1px solid rgba(58,69,97,.45);min-width:0}.storage-mount-row:last-of-type{border-bottom:0;padding-bottom:0}.storage-mount-remove-btn{justify-self:end;width:42px;min-width:42px;height:42px;padding:0;border-radius:12px;display:grid;place-items:center;font-size:1rem;line-height:1}.public-dns-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin:.2rem 0}.public-dns-row .help-tip{margin-left:auto}.error{color:#ff7f9e;font-weight:600}.success{color:#7ef0b8;font-weight:600}.project-toast{position:fixed;right:20px;bottom:20px;z-index:1200;padding:10px 14px;border-radius:10px;background:#132844;border:1px solid #2f5c8a;color:#d9ecff;font-weight:600}.project-toast-error{background:#381620;border-color:#8a2f45;color:#ffd9e3}.project-toast-warning{background:#3a2b12;border-color:#a97928;color:#ffe7b8}.muted{color:#9aa4bd}.global{margin:.8rem 0}html:has(.modal-overlay),body:has(.modal-overlay){overflow:hidden}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a10b3;display:grid;place-items:center;z-index:30}.modal-card{width:min(560px,92vw);background:linear-gradient(150deg,#1c2332,#161c28);border:1px solid #30384b;border-radius:16px;padding:1rem;color:#e7ecfb;box-shadow:0 20px 60px #00000073;max-height:90vh;overflow-y:auto;overflow-x:visible}.account-settings-modal{width:min(760px,94vw)}.settings-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0 .9rem}.settings-tabs button{min-height:38px}.danger-zone{border:1px solid rgba(209,70,90,.5);border-radius:12px;padding:.85rem;background:#6618261f}.twofa-qr{width:220px;height:220px;max-width:100%;border-radius:10px;border:1px solid #2f3850}.logs-modal-card{width:min(900px,94vw)}.service-security-modal{width:min(560px,92vw)}.security-switch-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;color:#e7ecfb;font-weight:600}.security-switch-wrap{display:inline-flex;align-items:center;gap:.5rem}.security-switch-state{font-size:.82rem;color:#a8b8d8;min-width:62px;text-align:right}.security-switch{position:relative;width:50px;height:28px;display:inline-flex}.security-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.security-switch-track{position:relative;width:100%;height:100%;border-radius:999px;background:#2a3550;border:1px solid #3a4a69;transition:all .2s ease}.security-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#d8e7ff;transition:transform .2s ease}.security-switch.is-on .security-switch-track{background:linear-gradient(135deg,#2ba8ff,#6d5cff);border-color:#6fa3ff}.security-switch.is-on .security-switch-track:after{transform:translate(22px)}.secrets-modal-card{width:min(760px,94vw)}.secrets-modal-card .notched-field{margin-top:.7rem}.secrets-modal-card .service-form input{padding:.5rem .65rem;font-size:.9rem}.secrets-modal-card select{min-width:0;width:100%}.secret-entry-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.45rem;align-items:center;margin-top:.35rem}.secret-entry-row input{min-width:0}.secrets-modal-card .ci-history-row{gap:.45rem}.secrets-modal-card .ci-history-list{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid #2a3347}.secrets-modal-card .ci-history-row p{margin:0;overflow-wrap:anywhere}.analytics-wrap{margin-top:.45rem;display:grid;gap:.9rem}.usage-dials{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:.35rem}.usage-dial-card{position:relative;border:none;background:transparent;padding:.05rem .1rem .1rem;min-width:0}.usage-dial-graph{position:relative}.usage-dial-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;color:#bcd0f3;font-size:.62rem;pointer-events:none}.usage-dial-label strong{display:block;margin-top:.1rem;font-size:.74rem;color:#edf3ff;line-height:1.15}.usage-dial-label small{display:block;color:#91a8d1;font-size:.62rem}.analytics-toolbar{margin:.4rem 0 .2rem}.analytics-toolbar label{display:inline-grid;gap:.25rem;color:#aebcdf;font-size:.9rem}.analytics-toolbar select{min-width:140px}.analytics-kpis{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:.6rem}.analytics-kpi{border:1px solid #2f3d59;border-radius:12px;background:#101b3073;padding:.55rem .7rem;display:grid;gap:.2rem}.analytics-kpi span{color:#9db0d5;font-size:.8rem}.analytics-kpi strong{color:#f2f6ff;font-size:1.05rem}.analytics-charts{display:grid;grid-template-columns:240px 1fr;gap:.9rem;align-items:center}.analytics-donut-block{display:grid;place-items:center}.analytics-donut{width:185px;height:185px;border-radius:50%;display:grid;place-items:center;border:1px solid #2f3d59}.analytics-donut-hole{width:118px;height:118px;border-radius:50%;background:#121d33;border:1px solid #334a74;display:grid;place-items:center;text-align:center}.analytics-donut-hole strong{font-size:1.18rem}.analytics-donut-hole span{color:#9aa8c4;font-size:.78rem}.analytics-bars{display:grid;gap:.55rem}.analytics-bar-row{display:grid;gap:.25rem}.analytics-bar-head{display:flex;justify-content:space-between;color:#ced8ef;font-size:.87rem}.analytics-bar-track{height:10px;border-radius:999px;background:#1b263f;border:1px solid #334867;overflow:hidden}.analytics-bar-fill{display:block;height:100%}.analytics-bar-fill.ok{background:linear-gradient(90deg,#2cca8b,#26b073)}.analytics-bar-fill.redirect{background:linear-gradient(90deg,#5b91ff,#4f7fe0)}.analytics-bar-fill.warn{background:linear-gradient(90deg,#efbf59,#dcab41)}.analytics-bar-fill.error{background:linear-gradient(90deg,#ef607f,#d84f6d)}.analytics-timeseries{border:1px solid #2f3d59;border-radius:12px;background:#101b3073;padding:.55rem .65rem .75rem}.analytics-timeseries h4{margin:0 0 .4rem;font-size:.95rem}.analytics-line-chart{width:100%;height:220px;display:block}.analytics-axis{stroke:#44597b;stroke-width:1}.analytics-grid{stroke:#2f3f5f;stroke-width:1;stroke-dasharray:3 3}.analytics-line{fill:none;stroke:#57a0ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.analytics-tick-label{fill:#9fb0d2;font-size:10px}.analytics-axis-label{fill:#c7d2ea;font-size:11px}.logs-filter-input{width:100%;margin:.45rem 0 .2rem}.logs-filter-row{display:grid;grid-template-columns:minmax(90px,130px) repeat(2,minmax(180px,1fr));gap:.65rem;margin:.45rem 0 .2rem}.logs-filter-row label{display:grid;gap:.25rem;color:#aebcdf;font-size:.9rem}.logs-filter-row input,.logs-filter-row select{width:100%}.logs-console{margin:.7rem 0;min-height:360px;max-height:60vh;overflow:auto;background:#0d1320;color:#d9e5ff;border:1px solid #2e3a54;border-radius:12px;padding:.85rem;white-space:pre-wrap;word-break:break-word}.terminal-console{background:#0a101b;color:#d6f3d9;font-family:Consolas,Courier New,monospace;white-space:pre-wrap}.terminal-host{padding:.2rem}.terminal-host .xterm{height:100%}.ci-guide-modal{width:min(860px,94vw)}.resource-modal-card{width:min(760px,94vw)}.resource-top-bars{display:grid;gap:.7rem;margin:.65rem 0 .85rem}.resource-bar-label{display:flex;justify-content:space-between;color:#b9c7e9;font-size:.9rem;margin-bottom:.28rem}.resource-bar-track{height:10px;border-radius:999px;background:#1a2338;border:1px solid #334260;overflow:hidden}.resource-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#2a9bff,#4b6fff)}.resource-bar-fill-ram{background:linear-gradient(90deg,#4cd39d,#27c97b)}.resource-bar-fill-storage{background:linear-gradient(90deg,#e2b152,#c98b27)}.resource-service-list{display:grid;gap:.6rem;max-height:45vh;overflow:auto;padding-right:.1rem}.resource-service-row{border:1px solid #2f3850;border-radius:10px;background:#182033;padding:.55rem .65rem;display:grid;gap:.5rem}.resource-service-row label{margin:0;gap:.32rem}.resource-service-row input[type=range]{width:100%}.ci-steps{margin:.35rem 0 .85rem;padding-left:1.2rem}.ci-code{margin:.3rem 0 .9rem;background:#0d1320;color:#d9e5ff;border:1px solid #2e3a54;border-radius:10px;padding:.75rem;overflow:auto;white-space:pre}.ci-tabs{display:flex;gap:.5rem;margin:.35rem 0 .75rem}.ci-tab-active{border:1px solid #4b6fff;color:#d6e2ff}.ci-history-list{display:grid;gap:.6rem;margin-bottom:.8rem;margin-top:.9rem}.ci-history-row{border:1px solid #2f3850;border-radius:10px;background:#182033;padding:.6rem .7rem}.job-item-row{display:flex;flex-direction:column;min-height:190px}.job-item-actions{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem}.job-item-actions>.row{margin-top:0}.create-mode-tabs{display:flex;gap:.5rem;margin-top:.55rem}.import-preview{border:1px solid #2f3850;border-radius:10px;background:#182033;padding:.65rem;display:grid;gap:.55rem}.import-loader{margin-top:.6rem;border:1px solid #2f3850;border-radius:10px;background:#182033;padding:.7rem;display:flex;align-items:center;gap:.65rem}.import-loader-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(152,183,255,.3);border-top-color:#98b7ff;animation:importSpin .8s linear infinite;flex:0 0 auto}@keyframes importSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.import-service-row{border:1px solid #2f3850;border-radius:8px;background:#121a2b;padding:.55rem;display:grid;gap:.8rem;box-sizing:border-box;align-content:start}.import-service-row input,.import-service-row select,.import-service-row button{height:42px;width:100%;margin:0}.import-service-row .notched-field{padding:.34rem .58rem .28rem}.import-service-row .notched-field>input,.import-service-row .notched-field>select{height:32px;padding-top:0;padding-bottom:0}.import-service-row .notched-field>textarea{min-height:92px}.import-service-row textarea{height:120px;resize:vertical;width:100%;margin:0}.import-service-row input[type=checkbox]{min-height:auto;width:18px;height:18px}.import-service-row .checkbox{display:flex;align-items:center;gap:.5rem;margin:0}.import-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;align-items:stretch}.import-preview-scroll{max-height:58vh;overflow-y:auto;overflow-x:hidden;padding-right:.2rem}@media (max-width: 1100px){.import-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.import-preview-grid{grid-template-columns:1fr}}.api-token-created{margin-top:.9rem;padding:.65rem;border:1px solid #33415e;border-radius:10px;background:#121b2c}.api-token-created code{display:block;margin-top:.35rem;padding:.5rem .6rem;border-radius:8px;border:1px solid #3d4e72;background:#0d1422;color:#9ec0ff;overflow:auto}.api-keys-list{margin-top:.8rem;display:grid;gap:.55rem}.api-key-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:1px solid #2f3850;border-radius:10px;padding:.55rem .65rem;background:#182033}.domain-row{display:grid;grid-template-columns:1fr;gap:.6rem}.domain-row-content{min-width:0}.domain-row-action{width:100%;min-height:0;display:flex;justify-content:flex-start;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.domain-row-action .project-export-btn{width:100%;max-width:220px}.billing-page{display:grid;gap:1rem}.billing-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.billing-head h2{margin:0;color:#ecf1ff}.billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.billing-grid>.card{min-width:0}.billing-spaces-list{margin:.35rem 0 .55rem;padding:.45rem .55rem;border:1px solid #2f3850;border-radius:10px;background:#182033;max-height:180px;overflow:auto}.billing-spaces-list p{margin:.25rem 0;overflow-wrap:anywhere}.billing-table-wrap h3{margin-bottom:.7rem}.billing-table-wrap{min-width:0;overflow-x:auto}.billing-table{width:100%;min-width:640px;border-collapse:collapse}.billing-table th,.billing-table td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid #2f3850;color:#d6e0fa;white-space:nowrap}.billing-table th{color:#9fb1da;font-weight:600}.bill-status-row{align-items:center;gap:.5rem}.bill-refresh-btn{width:28px;height:28px;padding:0;border-radius:999px;border:1px solid #3f5479;background:#1b2a42;display:inline-flex;align-items:center;justify-content:center;color:#d7e4ff}.bill-refresh-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bill-refresh-btn:hover:not(:disabled){background:#253a59}.bill-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.legal-links{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.auth-legal-links{margin-top:1.3rem}.dashboard-legal-links{margin:1.4rem 0 0;padding:1rem 0 0;border-top:1px solid #263047;justify-content:center}.dashboard-legal-links .linklike{font-size:.78rem;font-weight:500;color:#8fa2cc}.legal-page{min-height:100vh}.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:start}.legal-nav{position:sticky;top:1rem;display:grid;gap:.32rem;border:1px solid #2f3850;border-radius:12px;padding:.7rem;background:#141c2c}.legal-nav-btn{justify-content:flex-start;text-align:left}.legal-nav-active{border-color:#3b82f6;color:#fff;background:#3b82f62e}.legal-doc{border:1px solid #2f3850;border-radius:14px;padding:1.2rem;background:#141c2c;color:#d6e0fa}.legal-doc h1{margin:.2rem 0 .8rem;color:#f4f7ff;font-size:2rem}.legal-doc h2{margin:1.35rem 0 .45rem;color:#f4f7ff;font-size:1.1rem}.legal-doc p{line-height:1.6;color:#b9c6e2}.legal-disclaimer{border:1px solid #3d4e72;border-radius:10px;padding:.7rem .8rem;background:#121b2c}.gloxlinx-wrap{display:grid;gap:.9rem}.gloxlinx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.logo-btn{background:transparent;border:0;padding:0;cursor:pointer}.gloxlinx-head h2{margin:0}.gloxlinx-head p{margin-bottom:0}.gloxlinx-canvas{position:relative;min-height:520px;border:1px solid #2f3850;border-radius:14px;background:radial-gradient(circle at 20% 20%,#18233a,#111a2d 70%);overflow:hidden}.gloxlinx-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.gloxlinx-line{stroke:#58a6ff;stroke-width:2.5;opacity:.9}.gloxlinx-line-preview{stroke:#9fd0ff;stroke-dasharray:6 5;opacity:.95}.gloxlinx-node{position:absolute;width:68px;height:68px;border-radius:14px;background:#1a253b;border:1px solid #395382;display:grid;place-items:center;cursor:move}.gloxlinx-node-icon{width:36px;height:36px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.gloxlinx-node-name{position:absolute;top:74px;left:50%;transform:translate(-50%);margin:0;font-size:.82rem;white-space:nowrap}.gloxlinx-tooltip{display:none;position:absolute;top:84px;left:0;z-index:20;min-width:190px;max-width:240px;padding:.55rem .65rem;border-radius:10px;border:1px solid #3e527c;background:#0f1728;box-shadow:0 10px 24px #00000059}.gloxlinx-node:hover .gloxlinx-tooltip{display:block}.gloxlinx-tooltip p{margin:.12rem 0;font-size:.82rem}.gloxlinx-node-link{position:absolute;top:-10px;right:-10px;width:22px;height:22px;border-radius:999px;border:1px solid #4f8acb;background:#153252;color:#dbeeff;cursor:crosshair}.gloxlinx-node-link.active{background:#2362a0}.gloxlinx-list{border:1px solid #2f3850;border-radius:12px;padding:.8rem}.gloxlinx-rule-editor{border:1px solid #2f3850;border-radius:12px;padding:.8rem;background:#121a2d}.gloxlinx-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem;align-items:start}.gloxlinx-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.4rem 0}.gloxlinx-bidirectional{display:inline-flex;align-items:center;gap:.5rem;margin:.45rem 0 .65rem}.gloxlinx-bidirectional input[type=checkbox]{margin:0}.gloxlinx-status{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.gloxlinx-status-synced{background:#28a74533;color:#8ef0a4}.gloxlinx-status-error{background:#dc354533;color:#ff9cac}.gloxlinx-status-pending{background:#ffc10733;color:#ffe18d}@media (max-width: 1100px){.gloxlinx-bottom-grid{grid-template-columns:1fr}}@media (max-width: 700px){.row{flex-direction:column}.secret-entry-row{grid-template-columns:1fr}.project-head{flex-direction:column}.project-head-actions{width:100%;display:grid;grid-template-columns:repeat(5,42px);grid-template-rows:repeat(2,42px);grid-auto-flow:row;justify-content:center;gap:.5rem;overflow:visible;padding-bottom:0}.billing-head{flex-direction:column;align-items:flex-start}.billing-grid,.legal-layout{grid-template-columns:1fr}.legal-nav{position:static}}@media (max-width: 980px){.auth-panel{grid-template-columns:1fr;min-height:auto}.console-shell{grid-template-columns:1fr}.console-sidebar{grid-auto-flow:column;grid-auto-columns:min-content;justify-content:start;padding:.6rem;border-right:0;border-bottom:1px solid #262c38}.service-list{grid-template-columns:repeat(2,320px)}}@media (max-width: 760px){.modal-card,.service-form,.service-form>*{min-width:0;max-width:100%}.field-with-help{grid-template-columns:minmax(0,1fr) 20px}.field-with-help>input,.field-with-help>textarea,.field-with-help>select{max-width:100%}.billing-profile-grid{grid-template-columns:1fr}.billing-grid{gap:.7rem}.secrets-modal-card label{min-width:0}.secrets-modal-card label>select{width:100%;max-width:100%}.usage-dials{grid-template-columns:1fr;gap:.55rem}.usage-dial-graph{max-width:260px;margin:0 auto}.analytics-bar-head{flex-direction:column;align-items:flex-start;gap:.18rem}.analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.analytics-kpi{padding:.45rem .5rem}.analytics-kpi span{font-size:.72rem}.analytics-kpi strong{font-size:.88rem}.analytics-charts{grid-template-columns:1fr;gap:.65rem}.analytics-donut-block{width:100%}.analytics-timeseries{width:100%;min-width:0}.logs-filter-row,.custom-domain-row{grid-template-columns:1fr}.custom-subdomain-input{text-align:left}.custom-domain-dot{display:none}.service-list{grid-template-columns:1fr}.service-metric-card{width:100%}.ticket-modal-card{width:min(96vw,560px);max-height:92vh;overflow-y:auto}.ticket-modal-head,.ticket-detail-head{flex-direction:column;align-items:stretch}.ticket-layout{grid-template-columns:1fr;min-height:0}.ticket-main{order:1}.ticket-list{order:2}.ticket-main .row{grid-template-columns:1fr}}
