:root{--bg: #fbfbfc;--surface: #ffffff;--surface-hover: #f7f7f9;--sidebar: #ffffff;--border: #e6e8eb;--border-strong: #d7dbe0;--text: #14181f;--text-2: #5a6672;--text-3: #8a939f;--primary: #6c47ff;--primary-hover: #5b39e0;--primary-soft: #f0ecff;--green: #12a150;--green-soft: #e7f6ec;--amber: #c77700;--amber-soft: #fdf1de;--red: #d92d20;--red-soft: #fdecea;--gray: #667085;--gray-soft: #f1f2f4;--radius: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 14px rgba(16, 24, 40, .08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.muted{color:var(--text-2)}.small-text{font-size:12px}.error-text{color:var(--red);font-size:13px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:550;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--surface);border-color:var(--red);color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-soft)}.btn.full{width:100%;justify-content:center}.btn-sm{padding:5px 10px;font-size:12px}.icon-btn{background:transparent;border:none;color:var(--text-3);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.icon-btn:hover{color:var(--text)}.input{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-3)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.center-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:10px;padding:28px}.brand{display:inline-flex;align-items:center;gap:9px;font-size:20px;font-weight:700;letter-spacing:-.4px}.brand-mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--primary),#9b7bff);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:800}.login-card .brand{font-size:24px}.logo-lockup{display:inline-flex;align-items:center;gap:9px}.logo-lockup svg{display:block;flex-shrink:0}.logo-wordmark{font-weight:600;font-size:19px;letter-spacing:-.5px;line-height:1;color:var(--text)}.workspace .logo-wordmark{font-size:17px}.auth-logo{justify-content:center;margin-bottom:2px}.auth-logo .logo-wordmark{font-size:26px;letter-spacing:-.8px}.field-label{font-size:12.5px;font-weight:550;color:var(--text-2);margin-top:6px}.hint{font-size:12px;color:var(--text-3);margin:6px 0 0;text-align:center}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100%}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 12px;gap:6px;position:sticky;top:0;height:100vh}.workspace{display:flex;align-items:center;gap:9px;padding:8px 8px 12px;border-bottom:1px solid var(--border);margin-bottom:8px}.workspace .brand{font-size:16px}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;border:none;background:transparent;color:var(--text-2);font-size:13.5px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-item .nav-ico{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:4px}.sidebar-user{font-size:12px;color:var(--text-3);padding:0 8px}.sidebar-user strong{color:var(--text-2)}.main{min-width:0;display:flex;flex-direction:column}.main-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:24px 32px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.main-head h1{font-size:20px;margin:0 0 2px;letter-spacing:-.3px}.main-head .sub{color:var(--text-2);font-size:13px}.head-actions{display:flex;gap:10px}.main-body{padding:24px 32px;max-width:none;width:100%}.service-list{display:flex;flex-direction:column;gap:12px}.service-row{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.service-row:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.svc-icon{width:38px;height:38px;flex:0 0 auto;border-radius:9px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:17px}.svc-main{min-width:0;flex:1}.svc-name-row{display:flex;align-items:center;gap:10px}.svc-name{font-size:15px;font-weight:600;margin:0;letter-spacing:-.2px}.svc-type{font-size:11px;color:var(--text-3);background:var(--gray-soft);padding:1px 7px;border-radius:5px;font-weight:500}.svc-meta{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--text-2);font-size:12.5px;flex-wrap:wrap}.svc-meta .dot-sep{color:var(--border-strong)}.svc-url{display:inline-flex;align-items:center;gap:3px;color:var(--primary);text-decoration:none;font-weight:500}.svc-right{flex:0 0 auto;display:flex;align-items:center;gap:14px}.pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}.pill-green{color:var(--green);background:var(--green-soft)}.pill-amber{color:var(--amber);background:var(--amber-soft)}.pill-red{color:var(--red);background:var(--red-soft)}.pill-gray{color:var(--gray);background:var(--gray-soft)}.pill .status-dot.live{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 24px}.empty .empty-ico{width:46px;height:46px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:22px}.empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.placeholder{padding:48px 24px;text-align:center;color:var(--text-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:100%;max-width:480px;padding:24px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:0;font-size:18px;letter-spacing:-.3px}.modal-head .sub{color:var(--text-2);font-size:13px;margin-top:2px}.deploy-form{display:flex;flex-direction:column;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field-hint{color:var(--text-3);font-weight:400}.picker-aux{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}.input-loading{display:flex;align-items:center;cursor:default}.req{color:var(--red)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.5}.link-btn{background:none;border:none;color:var(--primary);font-size:12.5px;font-weight:550;cursor:pointer;padding:4px 0;align-self:flex-start}.link-btn:hover{text-decoration:underline}.env-section{border-top:1px solid var(--border);padding-top:14px}.info-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2);background:var(--primary-soft);border:1px solid rgba(108,71,255,.18);border-radius:8px;padding:9px 12px}.info-note code{background:#6c47ff1f;color:var(--primary);padding:1px 6px;border-radius:5px}.env-editor-head{display:flex;align-items:center;justify-content:space-between}.env-rows{display:flex;flex-direction:column;gap:8px;margin-top:8px}.env-row{display:grid;grid-template-columns:1fr 1.3fr auto auto;gap:8px;align-items:center}.env-remove{font-size:18px}.env-buildtime{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:550;color:var(--text-2);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.env-buildtime input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin:0}.env-buildtime-hint{margin:10px 0 0}.env-buildtime-hint code{background:#6c47ff1a;color:var(--primary);padding:0 4px;border-radius:4px}@media (max-width: 620px){.env-row{grid-template-columns:1fr auto auto}.env-row .input:nth-child(2){grid-column:1 / -1}}.env-paste{display:flex;flex-direction:column;gap:8px;margin-top:8px}.env-existing{display:flex;flex-direction:column;gap:6px}.env-existing-row{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--surface-hover);border:1px solid var(--border);border-radius:7px}.env-masked{color:var(--text-3);letter-spacing:1px;flex:1}.menu-wrap{position:relative}.menu-trigger{font-size:20px;line-height:1;padding:2px 6px;border-radius:6px}.menu-trigger:hover{background:var(--surface-hover)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:21;min-width:168px;background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;box-shadow:var(--shadow-md);padding:5px;display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border:none;background:transparent;color:var(--text);font-size:13px;text-align:left;border-radius:6px;cursor:pointer}.menu-item:hover{background:var(--surface-hover)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover{background:var(--red-soft)}.menu-sep{height:1px;background:var(--border);margin:4px 0}.service-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 32px 0}.svc-identity{display:flex;flex-direction:column;gap:6px;min-width:0}.svc-overline{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.svc-identity-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.svc-heading{margin:0;font-size:20px;font-weight:650;letter-spacing:-.3px}.svc-runtime{font-size:11.5px;font-weight:600;color:var(--text-2);background:var(--gray-soft);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.svc-id-row,.svc-meta,.svc-url-row{display:flex;align-items:center;gap:8px;min-width:0}.svc-meta{gap:16px;flex-wrap:wrap}.svc-id{color:var(--text-2);overflow-wrap:anywhere}.svc-meta-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);min-width:0}.svc-meta-item .mono{overflow-wrap:anywhere}.svc-url{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:13px;font-weight:550;text-decoration:none;overflow-wrap:anywhere}.svc-url:hover{text-decoration:underline}.copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px;border:none;background:transparent;color:var(--text-3);border-radius:5px;cursor:pointer}.copy-btn:hover{color:var(--text);background:var(--surface-hover)}.svc-header-actions{flex:0 0 auto}.service-actions{display:flex;gap:10px}.action-trigger{gap:7px}.action-menu{min-width:210px}.menu-item{justify-content:flex-start;width:100%}.menu-item .menu-tag{margin-left:auto}.menu-item:disabled,.menu-item.is-soon{color:var(--text-3);cursor:not-allowed}.menu-item:disabled:hover,.menu-item.is-soon:hover{background:transparent}.menu-tag{font-size:10.5px;font-weight:600;color:var(--text-3);background:var(--gray-soft);border:1px solid var(--border);border-radius:999px;padding:1px 7px;white-space:nowrap}.overview-hero{display:flex;flex-direction:column;gap:16px}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.hero-id{display:flex;flex-direction:column;gap:4px;min-width:0}.hero-name-row{display:flex;align-items:center;gap:8px}.hero-name{margin:0;font-size:20px;font-weight:650;letter-spacing:-.3px}.hero-url{display:inline-flex;align-items:center;color:var(--text-3);border-radius:5px;padding:2px}.hero-url:hover{color:var(--primary);background:var(--surface-hover)}.hero-domains{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:2px}.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:550;border-radius:999px;padding:4px 11px;border:1px solid var(--border)}.chip-on{color:var(--green);background:var(--green-soft);border-color:#12a15033}.chip-off{color:var(--text-3);background:var(--gray-soft)}.chip-muted{color:var(--text-2);background:var(--surface)}.card-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head-title{display:flex;align-items:center;gap:10px}.deploy-state{display:inline-flex;align-items:center;gap:7px;font-weight:550}.state-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.dot-green{background:var(--green)}.dot-amber{background:var(--amber)}.dot-red{background:var(--red)}.dot-gray{background:var(--gray)}.commit-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}.commit-msg{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.build-settings{overflow-wrap:anywhere}.link-inline{color:var(--primary);font-weight:550;text-decoration:none}.link-inline:hover{text-decoration:underline}.quicklinks{display:flex;flex-direction:column;gap:8px}.quicklink{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:9px;text-decoration:none;color:var(--text);transition:border-color .15s,background .15s}.quicklink:hover{background:var(--surface-hover);border-color:var(--border-strong)}.quicklink-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border-radius:8px;color:var(--primary);background:var(--primary-soft)}.quicklink-body{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.quicklink-label{font-weight:600}.quicklink>svg:last-child{color:var(--text-3);flex:0 0 auto}.logs-modal{max-width:760px}.logs-body{margin-top:4px;background:#0d1117;border:1px solid var(--border-strong);border-radius:8px;padding:14px 16px;height:340px;overflow:auto;color:#d7dce3}.logs-body pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.logs-foot{display:flex;align-items:center;gap:6px;margin-top:10px}.logs-foot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.2s ease-in-out infinite}.build-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--amber-soft);border:1px solid rgba(199,119,0,.25);border-radius:8px;padding:10px 14px;margin-bottom:12px}.build-steps{display:flex;align-items:center;gap:14px}.build-step{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-3);text-transform:capitalize}.build-step .step-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.build-step.done{color:var(--green)}.build-step.done .step-dot{background:var(--green)}.build-step.active{color:var(--amber)}.build-step.active .step-dot{background:var(--amber);animation:pulse 1.2s ease-in-out infinite}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.svc-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .1s}.svc-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.svc-card:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.svc-card-head{display:flex;align-items:center;gap:12px}.svc-card-title{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.svc-card-title .svc-type{align-self:flex-start}.svc-card-meta{display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:12.5px}.meta-line{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}.meta-line svg{color:var(--text-3);flex:0 0 auto}.detail-shell{display:grid;grid-template-columns:236px 1fr;min-height:100%}.detail-sidebar{gap:14px}.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--text-2);text-decoration:none;font-size:13px;font-weight:550;padding:4px 8px}.back-link:hover{color:var(--text)}.detail-svc{display:flex;align-items:center;gap:10px;padding:4px 8px 12px;border-bottom:1px solid var(--border)}.detail-svc-title{min-width:0;display:flex;flex-direction:column;gap:6px}.detail-svc-title .svc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-svc-title .pill{align-self:flex-start}.detail-main{min-width:0}.detail-main-full{grid-column:1 / -1}.detail-card{max-width:none}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.kv{display:flex;flex-direction:column;gap:5px;min-width:0}.kv-label{font-size:12px;font-weight:550;color:var(--text-3);text-transform:uppercase;letter-spacing:.4px}.kv .mono{word-break:break-word}.kv .pill{align-self:flex-start}.deploy-idle{display:flex;flex-direction:column}.section-title{font-size:14px;font-weight:600;margin:0 0 12px;letter-spacing:-.2px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.timeline-item:first-child{border-top:none;padding-top:0}.timeline-ico{width:26px;height:26px;flex:0 0 auto;border-radius:7px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.timeline-body{display:flex;flex-direction:column;gap:2px;min-width:0}.timeline-label{font-size:13.5px;font-weight:550;color:var(--text);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-row-top{display:flex;align-items:center;gap:10px}.timeline-row-top .pill{flex:0 0 auto}.deploy-source{font-size:12px;font-weight:550;color:var(--text-2)}.timeline-row-top .pill{padding:2px 9px;font-size:11.5px}.timeline-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.timeline-meta .dot-sep{color:var(--border-strong)}.timeline-commit{color:var(--text-3);font-size:12px}.timeline-item{flex-direction:column;align-items:stretch}.timeline-toggle{display:flex;align-items:flex-start;gap:12px;width:100%;padding:0;background:none;border:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.timeline-toggle:hover .timeline-label{color:var(--primary)}.timeline-caret{margin-left:auto;flex:0 0 auto;color:var(--text-3);display:grid;place-items:center;transition:transform .15s ease}.timeline-caret.open{transform:rotate(90deg);color:var(--primary)}.logview{margin:12px 0 4px 38px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.logview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.logview-head-left{display:flex;align-items:flex-start;gap:12px;min-width:0}.logview-head-left .pill{padding:3px 10px;font-size:11.5px}.logview-head-info{display:flex;flex-direction:column;gap:2px;min-width:0}.logview-head-title{font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logview-head-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.logview-head-sub .dot-sep{color:var(--border-strong)}.logview-commit{color:var(--primary);font-weight:550}.logview-commit-msg{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.logview-toolbar{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 12px;background:var(--surface-hover);border-bottom:1px solid var(--border)}.logview-search{display:flex;align-items:center;gap:7px;flex:1 1 auto;min-width:0;padding:6px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-3)}.logview-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.logview-search-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-size:13px;color:var(--text)}.logview-tools{display:flex;align-items:center;gap:4px;flex:0 0 auto}.logview-tail{display:inline-flex;align-items:center;gap:6px;margin-right:4px;font-size:11.5px;font-weight:600;color:var(--amber);text-transform:uppercase;letter-spacing:.4px}.logview-tail .status-dot{color:var(--amber)}.logview-tool-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:7px;font-size:0}.logview-tool-btn:hover{background:var(--surface)}.logview-body-wrap{position:relative}.logview-body{background:#0d1117;color:#d7dce3;height:340px;overflow:auto;padding:12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6}.logview-body.nowrap{overflow-x:auto}.logview-line{display:flex;gap:14px;padding:0 16px}.logview-line:hover{background:#ffffff08}.logview-ts{flex:0 0 auto;width:64px;text-align:right;color:#5b6672;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.logview-text{flex:1 1 auto;white-space:pre-wrap;word-break:break-word}.logview-body.nowrap .logview-text{white-space:pre;word-break:normal}.logview-body>.muted,.logview-body>.error-text{display:block;padding:2px 16px}.logview-jump{position:absolute;right:16px;bottom:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);cursor:pointer}.logview-jump:hover{background:var(--surface-hover);color:var(--primary)}.menu-check{display:inline-grid;place-items:center;width:16px;flex:0 0 auto;color:var(--primary)}.logview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1018288c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:24px;display:flex}.logview-overlay .logview{margin:0;flex:1 1 auto;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.logview-overlay .logview-body-wrap{flex:1 1 auto;display:flex}.logview-overlay .logview-body{flex:1 1 auto;height:auto}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.danger-zone{border-color:#d92d2059}.settings-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.saved-hint{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:550;color:var(--green)}.switch{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer}.switch-disabled{cursor:not-allowed}.switch-input{position:absolute;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.switch-track{display:inline-flex;align-items:center;width:40px;height:22px;padding:2px;background:var(--border-strong);border-radius:999px;transition:background .15s ease}.switch-thumb{width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform .15s ease}.switch-input:checked+.switch-track{background:var(--primary)}.switch-input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch-input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--primary-soft)}.switch-disabled .switch-track{opacity:.55}.domain-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.domain-main{display:flex;align-items:center;gap:9px;min-width:0;color:var(--text-2)}.domain-name{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:13px;overflow-wrap:anywhere}a.domain-name{color:var(--primary)}a.domain-name:hover{text-decoration:underline}.domain-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.domain-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}.domain-item{border:1px solid var(--border);border-radius:9px;padding:12px 14px}.dns-setup{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.dns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dns-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.dns-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.dns-value{display:flex;align-items:center;gap:6px;background:var(--surface-hover);border:1px solid var(--border);border-radius:7px;padding:6px 8px;min-width:0}.dns-value code{overflow-wrap:anywhere;min-width:0}.domain-add{display:flex;gap:10px;margin-top:16px;max-width:520px}.domain-add .input{flex:1 1 auto}.domain-add .btn{flex:0 0 auto}@media (max-width: 640px){.dns-grid{grid-template-columns:1fr}}.danger-title{color:var(--red)}.roadmap-list{list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.roadmap-item{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-2)}.roadmap-dot{width:6px;height:6px;border-radius:50%;background:var(--border-strong);flex:0 0 auto}.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:16px;height:56px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}.crumb{display:inline-flex;align-items:center;gap:6px;min-width:0}.crumb-sep{color:var(--border-strong)}.crumb-link{color:var(--text-2);text-decoration:none;font-size:13.5px;font-weight:550;white-space:nowrap}.crumb-link:hover{color:var(--text)}.crumb-current{color:var(--text);font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-search{display:flex;align-items:center;gap:8px;margin:0 auto;width:100%;max-width:380px;padding:7px 12px;background:var(--surface-hover);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-3);cursor:text}.topbar-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);background:var(--surface)}.topbar-search-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-size:13px;color:var(--text)}.kbd{flex:0 0 auto;font-family:inherit;font-size:11px;font-weight:600;color:var(--text-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;padding:1px 6px;line-height:1.4}.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.topbar-icon-btn{display:grid;place-items:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--text-3);cursor:pointer}.topbar-icon-btn:hover{background:var(--surface-hover);color:var(--text)}.acct-trigger{display:inline-flex;align-items:center;gap:5px;padding:3px 6px 3px 3px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-3);cursor:pointer}.acct-trigger:hover{background:var(--surface-hover);border-color:var(--border)}.acct-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#9b7bff);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.topbar-menu{min-width:220px}.menu-note{padding:8px 10px}.acct-email{font-size:13px;font-weight:600;color:var(--text);word-break:break-all;margin-top:2px}.detail-nav{gap:12px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-3);padding:4px 10px}.logview.logview-flush{margin:0}.active-deploy{margin-bottom:4px}.active-deploy .section-title{margin-bottom:8px}.timeline-live-note{margin-left:auto;flex:0 0 auto;color:var(--amber);font-weight:600}.logview-foot{display:flex;align-items:center;gap:6px;padding:8px 14px;border-top:1px solid var(--border)}.logview-foot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.2s ease-in-out infinite}.env-key{color:var(--text)}.auth-shell{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center}.auth-brand{font-size:26px}.auth-tagline{margin:6px 0 20px;font-size:13.5px}.auth-shell .login-card{max-width:none;width:100%;gap:8px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-hover);border:1px solid var(--border);border-radius:9px;margin-bottom:6px}.seg-btn{border:none;background:transparent;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer;transition:background .15s,color .15s}.seg-btn:hover{color:var(--text)}.seg-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.auth-title{font-size:16px;font-weight:650;letter-spacing:-.2px;margin:6px 0 2px}.auth-foot{margin-top:14px}@media (max-width: 720px){.shell,.detail-shell{grid-template-columns:1fr}.sidebar{display:none}.detail-sidebar{display:flex}.kv-grid{grid-template-columns:1fr}.main-head,.main-body{padding-left:18px;padding-right:18px}.topbar{padding:0 16px;gap:10px}.topbar-search{display:none}.logview,.logview-overlay .logview,.active-deploy .logview,.timeline-item .logview{margin-left:0}}.db-type-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--primary);background:var(--primary-soft);border:1px solid rgba(108,71,255,.18);border-radius:999px;padding:2px 9px;white-space:nowrap}.db-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.db-type-card{display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.db-type-card:hover{border-color:var(--primary);background:var(--surface-hover)}.db-type-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.db-type-ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border-radius:9px;color:var(--primary);background:var(--primary-soft)}.db-type-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.db-type-name{font-weight:650}.db-type-check{flex:0 0 auto;color:var(--primary)}.db-created-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.db-created-name{font-size:14px;font-weight:600}.showonce-warning{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:9px;font-size:13px;font-weight:550;color:var(--amber);background:var(--amber-soft);border:1px solid rgba(199,119,0,.25)}.showonce-url{display:flex;align-items:center;background:var(--surface-hover);border:1px solid var(--border-strong);border-radius:8px;padding:11px 13px;overflow-x:auto}.showonce-url-text{white-space:nowrap;color:var(--text);font-size:13px}.db-section{margin-top:34px;padding-top:24px;border-top:1px solid var(--border)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.home-section-title{margin:0;font-size:17px;font-weight:650;letter-spacing:-.2px}.db-list{display:flex;flex-direction:column;gap:10px}.db-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.db-row-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.db-row-ico{display:inline-flex;color:var(--text-3);flex:0 0 auto}.db-row-name{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}.db-row-meta{flex:0 0 auto}.db-row-link{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.db-row-link:hover{border-color:var(--border-strong);background:var(--surface-hover)}.db-row-manage{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;font-size:13px;font-weight:550;color:var(--primary)}.db-detail-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.db-detail-title h1{margin:0}.upgrade-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}@media (max-width: 600px){.db-type-grid{grid-template-columns:1fr}.db-row{flex-wrap:wrap;gap:8px}}
