:root{--bg: #080b12;--panel: #101521;--panel-2: #151c2b;--line: #263149;--text: #edf3ff;--muted: #93a3bd;--muted-2: #62718a;--primary: #50a8ff;--primary-2: #72e1ff;--ok: #4ade80;--warn: #fbbf24;--bad: #fb7185;--violet: #a78bfa;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,#132340 0,#080b12 38%,#06080d)}button,input,select,textarea{font:inherit}.boot,.loginScreen{min-height:100vh;display:grid;place-items:center}.loginPanel{width:min(420px,calc(100vw - 32px));display:grid;gap:18px;padding:28px;background:linear-gradient(180deg,#151c2bf5,#0e131ff5);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 24px 80px #0000006b}.setupPanel{width:min(520px,calc(100vw - 32px))}.loginPanel label{display:grid;gap:8px;color:var(--muted);font-size:13px}.loginPanel input,.stackForm input,.stackForm textarea,.formGrid input{width:100%;border:1px solid var(--line);background:#0c1220;color:var(--text);border-radius:12px;padding:12px 13px}.stackForm textarea{resize:vertical}.appShell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);background:#0d121df0;padding:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:850}.brand.large{font-size:22px;margin-bottom:8px}.logo{width:34px;height:34px;border-radius:10px;background:url(/tb-builder-icon.svg) center / cover no-repeat;box-shadow:0 0 30px #50a8ff66;flex:0 0 auto}.navList{display:grid;gap:18px;margin-top:28px}.navGroup{display:grid;gap:7px}.navGroup p{margin:0;color:var(--muted-2);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.navGroup>div{display:grid;gap:6px}.navItem{display:flex;gap:10px;align-items:center;color:var(--muted);text-decoration:none;padding:12px;border-radius:13px;border:0;background:transparent;text-align:left;cursor:pointer}.navItem.active,.navItem:hover{color:#fff;background:#50a8ff24}.workspace{min-width:0;padding:24px}.topbar{min-height:70px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.eyebrow{margin:0 0 4px;color:var(--primary-2);font-weight:750;font-size:12px;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:30px}h2{font-size:17px}.topActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.userPill,.status,.tag{border-radius:999px;border:1px solid var(--line);background:#111827;color:#cbd7ea;font-size:12px;padding:6px 9px;display:inline-flex;align-items:center;gap:6px}.accountMenuWrap{position:relative}.accountTrigger{min-height:40px;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.accountTrigger:hover,.accountTrigger.open{color:#fff;border-color:#50a8ff6b;background:#50a8ff1f}.accountTrigger svg{color:var(--muted);transition:transform .16s ease}.accountTrigger.open svg{transform:rotate(180deg)}.accountPopover{position:absolute;top:calc(100% + 10px);right:0;z-index:40;width:280px;display:grid;gap:6px;padding:10px;border:1px solid rgba(80,168,255,.24);border-radius:14px;background:linear-gradient(180deg,#151c2bfa,#0a0f19fa);box-shadow:0 22px 60px #0000006b}.accountPopover:before{content:"";position:absolute;top:-6px;right:24px;width:10px;height:10px;transform:rotate(45deg);border-left:1px solid rgba(80,168,255,.24);border-top:1px solid rgba(80,168,255,.24);background:#151c2bfa}.accountPopoverHeader{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:8px 8px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.accountPopoverHeader>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#dff2ff;background:#50a8ff29;border:1px solid rgba(80,168,255,.28)}.accountPopoverHeader div{min-width:0;display:grid;gap:2px}.accountPopoverHeader strong,.accountPopoverHeader small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accountPopoverHeader strong{color:#edf3ff;font-size:13px}.accountPopoverHeader small{color:var(--muted);font-size:12px}.accountPopover button{min-height:38px;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:#d7e3f5;cursor:pointer;text-align:left}.accountPopover button:hover{background:#50a8ff1f;color:#fff}.accountPopover button.danger{color:#fecdd3}.accountPopover button.danger:hover{background:#fb71851f;color:#fff}.accountPopover button:disabled{cursor:not-allowed;opacity:.58}.primaryButton,.secondaryButton,.iconButton,.dangerButton{border:0;border-radius:12px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primaryButton{padding:10px 14px;background:linear-gradient(135deg,var(--primary),#6ddcff);color:#05101d;font-weight:850}.secondaryButton{padding:10px 14px;background:#172033;color:#d7e3f5;border:1px solid var(--line);font-weight:750}.primaryButton.full{width:100%}.iconButton{width:40px;background:#172033;color:#d7e3f5;border:1px solid var(--line)}.iconButton.compact{width:34px;min-height:34px}.connectionTestButton{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(80,168,255,.32);border-radius:12px;background:#101725;color:#d7e3f5;font-weight:750;cursor:pointer;padding:10px 14px;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.connectionTestButton.pending{color:#dff2ff;border-color:#50a8ff94;background:#50a8ff24;box-shadow:0 0 0 3px #50a8ff14}.connectionTestButton.pending svg,.connectionResult.pending svg{animation:spinPulse 1.1s linear infinite}.connectionTestButton.ok{color:#bbf7d0;border-color:#4ade806b;background:#4ade801f}.connectionTestButton.failed{color:#fecdd3;border-color:#fb718575;background:#fb71851f}.connectionResult{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:#05070b47}.connectionResult>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px}.connectionResult strong,.connectionResult small{display:block}.connectionResult strong{color:#d7e3f5;margin-bottom:2px}.connectionResult small{color:var(--muted);overflow-wrap:anywhere}.connectionResult.pending{border-color:#50a8ff52}.connectionResult.pending>span{color:#dff2ff;background:#50a8ff24}.connectionResult.ok{border-color:#4ade8052;background:#4ade8014}.connectionResult.ok>span{color:#bbf7d0;background:#4ade8021}.connectionResult.failed{border-color:#fb718557;background:#fb718514}.connectionResult.failed>span{color:#fecdd3;background:#fb718524}.dangerButton{min-height:32px;padding:6px 10px;background:#fb718524;color:#fecdd3;border:1px solid rgba(251,113,133,.28)}.dangerButton.strong{min-height:40px;padding:9px 14px;background:linear-gradient(135deg,#fb7185eb,#f43f5ed1);color:#fff;font-weight:850}a{color:var(--primary-2)}.dashboard,.dashboardStack{display:grid;gap:16px}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel{background:linear-gradient(180deg,#141b2a,#101725);border:1px solid var(--line);border-radius:18px}.metric{padding:18px;display:grid;gap:8px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:34px;line-height:1}.metric em{font-style:normal;width:max-content}.status.ok{color:#86efac;background:#4ade801f}.status.run{color:#93c5fd;background:#50a8ff21}.status.wait{color:#fde68a;background:#fbbf2421}.status.bad{color:#fecdd3;background:#fb718521}.contentGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:16px}.panel{padding:18px;min-width:0}.panelTitle{display:flex;gap:10px;align-items:center;margin-bottom:12px}.panelActions{display:flex;justify-content:flex-end;margin-bottom:12px}.entityList{display:grid;gap:10px}.entityRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#0c1220b3}.entityRow.active{border-color:#50a8ff80;background:#50a8ff1a}.entityMain{min-width:0;display:grid;gap:4px;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer}.entityMain.readOnly,.entityMain:disabled{cursor:default;opacity:1}.entityMain strong,.entityMain span{overflow:hidden;text-overflow:ellipsis}.entityMain span,.entityMeta{color:var(--muted);font-size:12px}.rowActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.entityMeta{grid-column:1 / -1}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#8ea0ba;font-size:12px;padding:10px;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;vertical-align:middle}td small{display:block;color:var(--muted-2);margin-top:4px;word-break:break-all}tr.clickable{cursor:pointer}tr.clickable:focus-visible td{outline:1px solid rgba(114,225,255,.42);outline-offset:-1px;background:#50a8ff1a}tr.clickable:hover td{background:#50a8ff14}.paginationBar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#05070b3d;color:var(--muted);font-size:12px}.paginationButtons{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.paginationButtons button{min-width:34px;min-height:32px;border:1px solid var(--line);border-radius:10px;background:#101725;color:#cbd7ea;cursor:pointer}.paginationButtons button.active{color:#dff2ff;border-color:#50a8ff7a;background:#50a8ff29}.paginationButtons button:disabled{cursor:not-allowed;opacity:.45}.paginationBar label{display:inline-flex;align-items:center;gap:8px}.tag{margin:2px 3px 2px 0}.tag.on{background:#50a8ff2e;border-color:#50a8ff73;color:#dff2ff}.configList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.configCard{display:grid;gap:4px;padding:14px;border-radius:14px;background:#101725;border:1px solid var(--line);color:inherit;text-decoration:none}.configCard span,.configCard small{color:var(--muted)}.errorText{margin:0;color:var(--bad)}.successText,.mutedText{margin:0;color:var(--muted)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stackForm,.backupPanel{display:grid;gap:14px}.backupActions{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}.backupActionCard{min-height:96px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#05070b42}.backupActionCard>div{min-width:0;display:grid;gap:5px}.backupActionCard strong{color:#edf3ff;font-size:14px}.backupActionCard span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.backupNotice{margin:0;padding:10px 12px;border:1px solid rgba(251,191,36,.22);border-radius:12px;background:#fbbf2414;color:#fef3c7;font-size:13px}.hiddenInput{display:none}.filePicker{display:grid;gap:7px;color:var(--muted);font-size:13px}.filePicker.compact{justify-items:end}.filePicker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.filePicker label{min-height:42px;display:inline-grid;grid-template-columns:auto max-content;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(80,168,255,.32);border-radius:12px;background:#101725;color:#d7e3f5;font-weight:750;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.filePicker.compact label{min-width:124px}.filePicker label svg{flex:0 0 auto}.filePicker label:hover{transform:translateY(-1px);border-color:#50a8ff85;background:#50a8ff1f}.filePicker input:focus-visible+label{outline:2px solid rgba(114,225,255,.42);outline-offset:2px}.filePicker small{color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formGrid label,.stackForm label,.fieldBlock{display:grid;gap:7px;color:var(--muted);font-size:13px}.fieldBlock>span{color:var(--muted)}.fieldWithAction{display:grid;gap:7px;color:var(--muted);font-size:13px}.searchableSelect,.customSelect{position:relative;display:grid;gap:7px;color:var(--muted);font-size:13px}.customSelectButton{width:100%;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#0c1220;color:var(--text);padding:0 12px;text-align:left;cursor:pointer}.customSelectButton span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customSelectButton svg{color:var(--muted);transition:transform .16s ease}.customSelectButton[aria-expanded=true] svg{transform:rotate(180deg)}.searchableInputWrap,.quickSearch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;border:1px solid var(--line);background:#0c1220;color:var(--muted);border-radius:12px;padding:0 12px}.searchableInputWrap input,.quickSearch input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);padding:12px 0}.searchableOptions{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow:auto;display:grid;gap:4px;padding:6px;border:1px solid rgba(80,168,255,.28);border-radius:14px;background:#0b111d;box-shadow:0 18px 48px #0000006b}.customSelectOptions{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow:auto;display:grid;gap:4px;padding:6px;border:1px solid rgba(80,168,255,.28);border-radius:14px;background:#0b111d;box-shadow:0 18px 48px #0000006b}.searchableOptions,.customSelectOptions{scrollbar-width:thin;scrollbar-color:rgba(80,168,255,.62) rgba(5,7,11,.28)}.searchableOptions::-webkit-scrollbar,.customSelectOptions::-webkit-scrollbar{width:10px}.searchableOptions::-webkit-scrollbar-track,.customSelectOptions::-webkit-scrollbar-track{background:#05070b47;border-radius:999px}.searchableOptions::-webkit-scrollbar-thumb,.customSelectOptions::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#50a8ffb8,#72e1ff61);border:2px solid #0b111d;border-radius:999px}.searchableOption{display:grid;gap:3px;width:100%;border:0;border-radius:10px;padding:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.searchableOption:hover,.searchableOption.active,.customSelectOption:hover,.customSelectOption.active{background:#50a8ff24}.customSelectOption{display:grid;gap:3px;width:100%;border:0;border-radius:10px;padding:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.customSelectOption span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.paginationBar .customSelect{min-width:92px;grid-template-columns:auto 76px;align-items:center;gap:8px}.paginationBar .customSelectButton{min-height:32px;border-radius:10px;padding:0 10px}.priorityPicker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:#0c1220}.priorityPicker button{min-width:0;min-height:46px;display:grid;gap:2px;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.priorityPicker button:hover{color:var(--text);background:#ffffff0a}.priorityPicker button.active{color:#dff2ff;background:#50a8ff2e;box-shadow:inset 0 0 0 1px #50a8ff61}.priorityPicker strong{font-size:13px}.priorityPicker small{font-size:11px;color:var(--muted-2)}.searchableOption span,.searchableEmpty{color:var(--muted);font-size:12px}.searchableEmpty{padding:10px}.listToolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:center;margin-bottom:12px}.fieldWithActionRow{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}.fieldWithActionRow input{width:100%;min-width:0;border:1px solid var(--line);background:#0c1220;color:var(--text);border-radius:12px;padding:12px 13px}.telegramTestButton{width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid rgba(80,168,255,.45);border-radius:14px;color:#e7f7ff;background:radial-gradient(circle at 30% 20%,rgba(114,225,255,.42),transparent 34%),linear-gradient(135deg,#229ed9,#50a8ff 58%,#72e1ff);box-shadow:0 12px 28px #229ed938;cursor:pointer}.telegramTestButton svg{transform:translate(-1px);filter:drop-shadow(0 1px 1px rgba(0,0,0,.24))}.telegramTestButton.compact{width:34px;min-height:34px;border-radius:12px}.wide{grid-column:1 / -1}.wide h3{margin:0 0 10px}.choiceGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.choice{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:#101725;border-radius:14px;padding:13px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.choice:hover{transform:translateY(-1px);border-color:#50a8ff6b}.choice.active{border-color:#50a8ff99;background:#50a8ff1f}.choice input{position:absolute;opacity:0;pointer-events:none}.choiceCheck{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(148,163,184,.36);border-radius:8px;background:#05070b57;color:transparent;transition:transform .16s ease,color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.choice.active .choiceCheck{color:#dff2ff;border-color:#72e1ffa8;background:linear-gradient(135deg,#50a8ff,#72e1ff);box-shadow:0 0 22px #50a8ff3d;animation:checkPop .24s ease}.choice:focus-within .choiceCheck{outline:2px solid rgba(114,225,255,.42);outline-offset:2px}.choice small{display:block;color:var(--muted);margin-top:3px}.choice em{display:block;margin-top:6px;color:var(--muted-2);font-size:11px;font-style:normal}@keyframes checkPop{0%{transform:scale(.74)}72%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes spinPulse{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.taskDetails{display:grid;gap:14px}.pipeline{display:flex;gap:8px;flex-wrap:wrap}.stepPill{position:relative;border-radius:999px;border:1px solid var(--line);background:#111827;color:#cbd7ea;font-size:12px;padding:7px 12px;min-width:86px;display:inline-grid;justify-items:center;gap:6px;overflow:hidden}.stepPill strong{font-size:12px;font-weight:750}.stepPill small{color:var(--muted-2);font-size:11px;line-height:1}.stepPill.reached small{color:#b8c4d8}.stepPill.active{border-color:#50a8ff75;background:#50a8ff29;color:#dff2ff}.stepPill.running{animation:stagePulse 1.5s ease-in-out infinite}.stepPill.running:before{content:"";width:6px;height:6px;position:absolute;top:8px;right:9px;border-radius:999px;background:#72e1ff;box-shadow:0 0 14px #72e1ffcc}.iconText{border-radius:999px;border:1px solid var(--line);background:#111827;color:#cbd7ea;font-size:12px;padding:7px 10px;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.iconText{cursor:pointer}.iconText:disabled,.iconButton:disabled,.dangerButton:disabled{cursor:not-allowed;opacity:.58}.logDownload{position:relative}.logDownloadTrigger.open{color:#f8fafc;border-color:#50a8ff8c;background:#50a8ff1f}.logDownloadTrigger svg:last-child{transition:transform .16s ease}.logDownloadTrigger.open svg:last-child{transform:rotate(180deg)}.logDownloadMenu{position:absolute;z-index:20;right:0;top:calc(100% + 8px);width:250px;padding:6px;border:1px solid #2a3952;border-radius:8px;background:#0b1220;box-shadow:0 18px 45px #0000006b;display:grid;gap:3px}.logDownloadMenu a{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:9px;border-radius:6px;color:#dce7f7;text-decoration:none}.logDownloadMenu a:hover,.logDownloadMenu a:focus-visible{background:#142238;outline:none}.logDownloadMenu a>span:last-child{display:grid;gap:2px}.logDownloadMenu strong,.logDownloadMenu small{display:block}.logDownloadMenu strong{font-size:12px}.logDownloadMenu small{color:#7f90aa;font-size:10px}.logFormat{display:grid;place-items:center;min-height:30px;border:1px solid rgba(80,168,255,.38);border-radius:6px;color:#72e1ff;background:#50a8ff1a;font-size:9px;font-weight:850}.logFormat.html{color:#bbf7d0;border-color:#4ade8057;background:#4ade8017}@keyframes stagePulse{0%,to{box-shadow:0 0 #50a8ff00}50%{box-shadow:0 0 0 4px #50a8ff14}}.copyEnvButton{min-height:34px}.copyEnvButton svg{transition:transform .18s ease,color .18s ease}.copyEnvButton.copied{color:#bbf7d0;border-color:#4ade806b;background:#4ade801f}.copyEnvButton.copied svg{color:#86efac;animation:copyPop .36s ease}.envTestButton{min-height:34px}@keyframes copyPop{0%{transform:scale(.72) rotate(-12deg)}65%{transform:scale(1.18) rotate(4deg)}to{transform:scale(1) rotate(0)}}.setupActions{justify-content:space-between}.modalBackdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#03060cb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.confirmDialog{width:min(480px,100%);display:grid;gap:16px;padding:20px;border:1px solid rgba(251,113,133,.28);border-radius:18px;background:linear-gradient(180deg,#151c2bfa,#0d121dfa);box-shadow:0 24px 90px #0000008c}.confirmDialog.warning{border-color:#fbbf2457}.buildBackdrop{align-items:start;overflow:auto}.buildDialog{width:min(980px,100%);display:grid;gap:18px;margin:24px 0;padding:22px;border:1px solid rgba(80,168,255,.28);border-radius:18px;background:linear-gradient(180deg,#151c2bfa,#0d121dfa);box-shadow:0 24px 90px #0000008c}.entityDialog{width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;scrollbar-gutter:stable}.taskDialog{width:min(1180px,100%)}.taskDialogMeta{display:flex;flex-wrap:wrap;gap:8px}.taskFailure{display:grid;gap:5px;padding:10px 12px;border:1px solid rgba(251,191,36,.28);border-radius:14px;background:#fbbf241a;color:#fde68a}.taskFailure strong{font-size:13px}.taskFailure span,.taskFailure em{color:#fef3c7;font-style:normal;overflow-wrap:anywhere}.taskFailure em{color:#cbd5e1;font-size:12px}.taskEnv{border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#05070b47;overflow:hidden}.taskEnv summary{cursor:pointer;padding:11px 13px;color:#d7e3f5;font-weight:750}.taskEnvGrid{display:grid;max-height:220px;overflow:auto;border-top:1px solid rgba(255,255,255,.07)}.taskEnvRow{display:grid;grid-template-columns:minmax(170px,.35fr) minmax(0,1fr);gap:10px;padding:8px 13px;border-bottom:1px solid rgba(255,255,255,.04)}.taskEnvRow span{color:#a5b4fc;font:12px ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.taskEnvRow code{color:#d7e3f5;white-space:pre-wrap;word-break:break-word}.buildIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#dff2ff;background:#50a8ff29;border:1px solid rgba(80,168,255,.36)}.buildForm{align-items:start}.buildStep{display:grid;gap:10px}.buildStepHeader{display:flex;align-items:flex-start;gap:10px}.buildStepHeader>span{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:999px;color:#dff2ff;background:#50a8ff29;border:1px solid rgba(80,168,255,.38);font-size:12px;font-weight:800}.buildStepHeader h3{margin:0 0 4px}.sectionHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.sectionHeader h3{margin:0 0 4px}.envEditor{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#05070b47}.envPresetPanel{display:grid;gap:10px;margin-bottom:10px;padding:12px;border:1px solid rgba(80,168,255,.16);border-radius:14px;background:#080d1857}.envPresetPanel>div:first-child{display:grid;gap:3px}.envPresetPanel strong{color:#e8f2ff;font-size:13px}.envPresetPanel span{color:var(--muted-2);font-size:12px}.envPresetGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.envPresetGrid button{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:#0c1220ad;color:#dbeafe;text-align:left;cursor:pointer}.envPresetGrid button:hover{border-color:#50a8ff6b;background:#121d30c7}.envPresetGrid button>svg{color:#7dd3fc}.envPresetGrid button span,.envPresetGrid button strong,.envPresetGrid button small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.envPresetGrid button small{margin-top:2px;color:var(--muted-2);font-size:10px;font-weight:750}.envPresetGrid button.custom{border-style:dashed;color:#bfdbfe}.envRow{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) auto;gap:8px;align-items:center}.envRow input{width:100%;min-width:0;border:1px solid var(--line);background:#0c1220;color:var(--text);border-radius:12px;padding:10px 12px}.inlineUpload{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#05070b3d}.runnerTokenBox{display:grid;gap:12px;padding:12px;border:1px solid rgba(80,168,255,.28);border-radius:12px;background:linear-gradient(180deg,#50a8ff1a,#05070b3d);box-shadow:inset 0 1px #ffffff0a}.runnerResetCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(251,191,36,.26);border-radius:10px;background:#fbbf2414}.runnerResetCard>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fde68a;background:#fbbf2424;border:1px solid rgba(251,191,36,.24)}.runnerResetCard div{display:grid;gap:2px;min-width:0}.runnerResetCard strong{color:#fef3c7}.runnerResetCard small{color:#cbd5e1}.runnerCommandList{display:grid;gap:10px;max-height:min(380px,42vh);overflow:auto;padding-right:4px;scrollbar-gutter:stable}.runnerCommand{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#05070b6b}.runnerCommandHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.runnerCommandHeader div{display:grid;gap:2px;min-width:0}.runnerCommandHeader strong{color:#eef6ff}.runnerCommandHeader span{color:var(--muted);font-size:12px}.runnerTokenBox pre{margin:0;max-width:100%;overflow-x:auto;white-space:pre;color:#dff2ff;padding:10px;border:1px solid rgba(80,168,255,.18);border-radius:8px;background:#05070b;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.buildBackdrop,.entityDialog,.runnerCommandList,.runnerTokenBox pre{scrollbar-width:thin;scrollbar-color:rgba(80,168,255,.55) rgba(255,255,255,.06)}.buildBackdrop::-webkit-scrollbar,.entityDialog::-webkit-scrollbar,.runnerCommandList::-webkit-scrollbar,.runnerTokenBox pre::-webkit-scrollbar{width:10px;height:10px}.buildBackdrop::-webkit-scrollbar-track,.entityDialog::-webkit-scrollbar-track,.runnerCommandList::-webkit-scrollbar-track,.runnerTokenBox pre::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}.buildBackdrop::-webkit-scrollbar-thumb,.entityDialog::-webkit-scrollbar-thumb,.runnerCommandList::-webkit-scrollbar-thumb,.runnerTokenBox pre::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#50a8ffb8,#72e1ff61);border:2px solid #05070b;border-radius:999px}.buildBackdrop::-webkit-scrollbar-thumb:hover,.entityDialog::-webkit-scrollbar-thumb:hover,.runnerCommandList::-webkit-scrollbar-thumb:hover,.runnerTokenBox pre::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#72e1ffd1,#50a8ff85)}.confirmHeader{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.dangerIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#fecdd3;background:#fb718524;border:1px solid rgba(251,113,133,.28)}.confirmText{margin:0;color:var(--muted);line-height:1.5}.confirmText strong{color:var(--text);overflow-wrap:anywhere}.confirmField{display:grid;gap:8px;color:var(--muted);font-size:13px}.confirmField input{width:100%;border:1px solid var(--line);background:#0c1220;color:var(--text);border-radius:12px;padding:12px 13px}.confirmActions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.terminal{min-height:320px;max-height:52vh;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(80,168,255,.55) rgba(255,255,255,.06);border-radius:14px;border:1px solid #222b3d;background:#05070b;color:#cbd5e1;padding:14px;font:13px ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.terminal::-webkit-scrollbar,.taskEnvGrid::-webkit-scrollbar{width:10px;height:10px}.terminal::-webkit-scrollbar-track,.taskEnvGrid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}.terminal::-webkit-scrollbar-thumb,.taskEnvGrid::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#50a8ffb8,#72e1ff61);border:2px solid #05070b;border-radius:999px}.terminal::-webkit-scrollbar-thumb:hover,.taskEnvGrid::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#72e1ffd1,#50a8ff85)}.terminalLine{display:grid;grid-template-columns:68px 170px minmax(0,1fr);gap:10px;align-items:start;padding:2px 6px;border-radius:8px}.terminalLine .terminalTime,.terminalLine .terminalScope{color:var(--muted-2);-webkit-user-select:none;user-select:none}.terminalLine .terminalScope{overflow:hidden;text-overflow:ellipsis}.terminalLine.stderr{background:#fb718524;box-shadow:inset 3px 0 #fb71855c}.terminalLine.stderr.errorGroupFirst{border-radius:8px 8px 0 0}.terminalLine.stderr.errorGroupMiddle{border-radius:0}.terminalLine.stderr.errorGroupLast{border-radius:0 0 8px 8px}.terminalLine.stderr.errorGroupSolo{border-radius:8px}.terminalLine code{color:#d7e3f5;white-space:pre-wrap;word-break:break-word}.taskArtifacts{display:grid;gap:10px;padding:12px;border:1px solid rgba(80,168,255,.22);border-radius:12px;background:#50a8ff14}.taskArtifacts>strong{color:#dff2ff}.taskArtifacts>div{display:flex;gap:8px;flex-wrap:wrap}.ansi-bold{font-weight:850}.ansi-dim{opacity:.62}.ansi-black{color:#64748b}.ansi-red{color:#fb7185}.ansi-green{color:#4ade80}.ansi-yellow{color:#fbbf24}.ansi-blue{color:#60a5fa}.ansi-magenta{color:#c084fc}.ansi-cyan{color:#22d3ee}.ansi-white{color:#f8fafc}.ansi-bright-black{color:#94a3b8}.ansi-bright-red{color:#fecdd3}.ansi-bright-green{color:#bbf7d0}.ansi-bright-yellow{color:#fde68a}.ansi-bright-blue{color:#bfdbfe}.ansi-bright-magenta{color:#ddd6fe}.ansi-bright-cyan{color:#a5f3fc}.ansi-bright-white{color:#fff}.terminalEmpty{color:var(--muted)}.usageMeter{display:flex;align-items:center;gap:8px;min-width:58px}.usageMeter strong{font-size:13px;color:#d7e3f5;min-width:34px}.usageTrack{width:12px;height:42px;display:flex;align-items:flex-end;overflow:hidden;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.07)}.usageTrack span{display:block;width:100%;border-radius:inherit;transition:height .2s ease}.usageMeter.ok .usageTrack span{background:linear-gradient(180deg,#86efac,#22c55e)}.usageMeter.warn .usageTrack span{background:linear-gradient(180deg,#fde68a,#f59e0b)}.usageMeter.bad .usageTrack span{background:linear-gradient(180deg,#fecdd3,#f43f5e)}.usageMeter.empty .usageTrack span{height:100%!important;background:repeating-linear-gradient(0deg,rgba(148,163,184,.28),rgba(148,163,184,.28) 6px,transparent 6px,transparent 12px)}.usageMeter.empty strong{color:var(--muted-2)}.runnerVersionCell{min-width:168px;display:flex;align-items:center;justify-content:space-between;gap:8px}.runnerVersionInfo{display:grid;gap:2px;min-width:0}.runnerVersionInfo strong{color:#d7e3f5;font-size:13px;white-space:nowrap}.runnerVersionInfo small{color:var(--muted-2);font-size:11px;white-space:nowrap}.runnerVersionCell.mismatch .runnerVersionInfo strong,.runnerVersionCell.mismatch .runnerVersionInfo small{color:#fde68a}.runnerUpdateButton{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(251,191,36,.48);border-radius:999px;background:#fbbf2429;color:#fef3c7;font-size:11px;font-weight:800;cursor:pointer}.runnerUpdateButton:disabled{cursor:not-allowed;opacity:.58}.signalMeter{height:22px;display:inline-flex;align-items:end;gap:3px;padding:0}.signalMeter span{width:5px;border-radius:999px;background:#62718a52}.signalMeter span:nth-child(1){height:6px}.signalMeter span:nth-child(2){height:10px}.signalMeter span:nth-child(3){height:14px}.signalMeter span:nth-child(4){height:18px}.signalMeter.level1 .active{background:#fb7185}.signalMeter.level2 .active{background:#fbbf24}.signalMeter.level3 .active{background:#72e1ff}.signalMeter.level4 .active{background:#4ade80}.linkQualityButton{display:inline-grid;justify-items:center;gap:3px;min-width:58px;padding:4px 6px;border:0;background:transparent;color:var(--muted);cursor:pointer}.linkQualityButton:hover .signalMeter span{background:#94a3b880}.linkQualityButton:hover .signalMeter .active{filter:brightness(1.14)}.linkQualityButton small{color:var(--muted-2);font-size:10px;font-weight:700;white-space:nowrap}.linkDialog{max-width:620px}.envTestDialog{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto}.envTestHero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#080c1680}.envTestHero strong,.envTestHero span{display:block}.envTestHero strong{color:#e8f2ff;font-size:14px}.envTestHero span{overflow:hidden;color:var(--muted-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.envStatusPill{position:relative;width:36px;height:36px;display:inline-grid;place-items:center;align-self:center;justify-self:start;flex:0 0 36px;border:1px solid rgba(148,163,184,.24);border-radius:10px;color:#cbd5e1;background:#94a3b81a;line-height:0}.envStatusPill svg{width:16px;height:16px;display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.envStatusPill.ok{border-color:#4ade8057;color:#86efac;background:#1665342e}.envStatusPill.warning{border-color:#fbbf2457;color:#fde68a;background:#92400e2e}.envStatusPill.failed{border-color:#fb718557;color:#fecdd3;background:#7f1d1d2e}.envStatusPill.pending svg{animation:statusPulse 1.1s ease-in-out infinite;transform-origin:center}.envStatusPill.warning svg,.envStatusPill.failed svg{transform:translate(-50%,calc(-50% + 1px))}@keyframes statusPulse{0%,to{opacity:.62;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}.envTestSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.envMetric{min-width:0;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#080c1670}.envMetric small,.envMetric span{display:block;color:var(--muted-2);font-size:11px}.envMetric strong{display:block;margin:4px 0;overflow:hidden;color:#f8fafc;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.envMetric.ok strong{color:#86efac}.envMetric.bad strong{color:#fecdd3}.envTestSection{display:grid;gap:10px}.envTabs{display:flex;gap:6px;padding:5px;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:#050a145c;overflow-x:auto;scrollbar-width:thin}.envTabs button{min-height:32px;padding:7px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap}.envTabs button:hover{color:#e8f2ff;background:#94a3b814}.envTabs button.active{border-color:#50a8ff57;color:#dff2ff;background:#50a8ff24}.sectionHeader.compact{align-items:end}.sectionHeader.compact h3{margin-bottom:2px;font-size:14px}.envVariableList{display:grid;gap:6px}.envCheckGroups{display:grid;gap:10px}.envCheckGroup{display:grid;gap:8px;padding:10px;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:#080d184d}.envCheckGroup>div:first-child{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr) auto;align-items:center;gap:10px}.envCheckGroup strong{color:#f8fafc;font-size:13px}.envCheckGroup span{min-width:0;overflow:hidden;color:var(--muted-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.envCheckGroup em{color:#93c5fd;font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase;white-space:nowrap}.envVariableItem{min-width:0;display:grid;grid-template-columns:22px minmax(210px,1fr) minmax(160px,.8fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:#050a146b}.envVariableItem>span{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:7px}.envVariableItem.present>span{color:#86efac;background:#1665342e}.envVariableItem.missing>span{color:#fecdd3;background:#7f1d1d2e}.envVariableItem strong{min-width:0;overflow:hidden;color:#dbeafe;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.envValueCell{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.envValueCell code{min-width:0;overflow:hidden;color:var(--muted-2);font-size:12px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.envFileButton{width:26px;height:26px;display:inline-grid;place-items:center;border:1px solid rgba(80,168,255,.28);border-radius:8px;color:#7dd3fc;background:#0ea5e91a;text-decoration:none}.envFileButton:hover{border-color:#7dd3fc8a;color:#e0f2fe;background:#0ea5e92e}.linkDialogHero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#080c1680}.linkDialogHero>div{min-width:0}.linkDialogHero strong{display:block;color:#e8f2ff;font-size:14px}.linkDialogHero span{display:block;overflow:hidden;color:var(--muted-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.linkDialogHero>.signalMeter{display:inline-flex;min-width:29px}.linkDialogHero>.signalMeter span{display:block;overflow:visible;color:inherit;font-size:inherit;text-overflow:clip;white-space:normal}.linkRttBadge{justify-self:end;min-width:88px;padding:8px 10px;border:1px solid rgba(114,225,255,.24);border-radius:10px;background:#72e1ff14;text-align:right}.linkRttBadge small{display:block;color:#9fb7d7;font-size:10px;font-weight:900;text-transform:uppercase}.linkMetricGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.linkMetricCard{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a80}.linkMetricCard>span{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(114,225,255,.24);border-radius:10px;color:#72e1ff;background:#72e1ff14}.linkMetricCard small{display:block;color:var(--muted-2);font-size:11px;font-weight:800;text-transform:uppercase}.linkMetricCard strong{display:block;margin-top:4px;color:#eef6ff;font-size:22px;line-height:1.1}.linkMetricCard em{display:block;margin-top:5px;color:#8fa2c1;font-size:12px;font-style:normal}.linkMetricCard.loading strong{color:#fde68a}.linkDialogError{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(251,113,133,.32);border-radius:10px;color:#fecdd3;background:#7f1d1d2e;font-size:13px;font-weight:700}.osPill{display:inline-block;max-width:220px;color:#d7e3f5;white-space:normal}@media(max-width:1000px){.appShell{grid-template-columns:1fr}.sidebar{position:static;border-right:0;border-bottom:1px solid var(--line)}.navList{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.metricGrid,.contentGrid,.configList,.formGrid,.choiceGrid,.priorityPicker,.entityRow,.envRow,.inlineUpload,.backupActions{grid-template-columns:1fr}.rowActions,.panelActions,.sectionHeader,.listToolbar,.paginationBar{justify-content:flex-start}.sectionHeader{flex-direction:column}.paginationBar{align-items:flex-start;flex-direction:column}.envTestSummary,.envVariableItem{grid-template-columns:1fr}.envTestHero{grid-template-columns:auto minmax(0,1fr)}.envTestHero .iconText{grid-column:2;justify-self:start}.envPresetGrid{grid-template-columns:1fr}.envVariableItem>span{display:none}.envValueCell{grid-template-columns:minmax(0,1fr) auto}.envValueCell code{text-align:left}.listToolbar{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.backupActionCard{grid-template-columns:1fr;justify-items:start}.filePicker.compact{justify-items:start}}@media(max-width:560px){.workspace,.sidebar{padding:16px}.navList{grid-template-columns:1fr}.topActions{width:100%;justify-content:stretch}.primaryButton{flex:1}.accountMenuWrap{flex:1;min-width:0}.accountTrigger{width:100%;justify-content:center}.accountPopover{right:auto;left:0;width:min(280px,calc(100vw - 32px))}.accountPopover:before{right:auto;left:24px}}
