html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}.topbar{z-index:300;background-color:var(--color-menu-bg);border-bottom:1px solid var(--color-menu-border);flex-shrink:0;align-items:center;gap:8px;height:48px;padding:0 12px;display:flex;position:relative}.topbar-nav{align-items:center;gap:4px;display:flex}.topbar-item{width:32px;height:32px;color:var(--color-menu-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .15s,background-color .15s,transform .1s;display:flex;position:relative}.topbar-item svg{fill:var(--color-menu-text-secondary);transition:fill .15s}.topbar-item:hover{background-color:var(--color-menu-bg-hover);color:var(--color-menu-text)}.topbar-item:hover svg{fill:var(--color-menu-text)}.topbar-item:active{transform:scale(.94)}.topbar-item.active{background-color:var(--color-menu-highlight);color:var(--color-menu-accent)}.topbar-item.active svg{fill:var(--color-menu-accent)}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-btn{height:32px;color:var(--color-menu-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:0 12px;font-size:14px;transition:color .15s,background-color .15s,transform .1s;display:inline-flex}.topbar-btn svg,.topbar-btn svg *{color:inherit}.topbar-btn:hover{background-color:var(--color-menu-bg-hover);color:var(--color-menu-accent)}.topbar-btn:active{transform:scale(.97)}.topbar-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.topbar-btn.is-refreshing svg{animation:1s linear infinite spin}.topbar-jobs{border:1px solid var(--color-menu-border-subtle);height:32px;color:var(--color-menu-accent);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:14px;transition:color .15s,background-color .15s;display:flex}.topbar-jobs .topbar-jobs-label,.topbar-jobs .topbar-jobs-label *,.topbar-jobs svg,.topbar-jobs svg *{color:inherit;fill:currentColor}.topbar-jobs:hover{background-color:var(--color-menu-bg-hover);color:var(--color-menu-accent)}.topbar-jobs.active{background-color:var(--color-menu-highlight);color:var(--color-menu-accent)}.topbar-jobs.is-active{color:var(--color-menu-accent)}.topbar-jobs.is-active svg{animation:1.2s ease-in-out infinite job-pulse}.topbar-jobs-label{text-align:left;font-variant-numeric:tabular-nums;display:grid}.topbar-jobs-label>*{grid-area:1/1}.topbar-jobs-sizer{visibility:hidden}.jobs-backdrop{z-index:250;position:fixed;inset:48px 0 0}.jobs-panel{z-index:260;background-color:var(--color-jobs-bg);border:1px solid var(--borderColor);border-top:none;border-radius:0 0 8px 8px;flex-direction:column;width:304px;max-width:calc(100vw - 24px);animation:.16s ease-out jobs-drop;display:flex;position:fixed;top:48px;bottom:12px;right:12px;box-shadow:0 8px 24px #0000002e}@keyframes jobs-drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.jobs-panel-header{align-items:center;gap:12px;padding:8px 12px;display:flex}.jobs-panel-title{color:var(--color-text);font-size:16px;font-weight:600}.jobs-panel-close{width:24px;height:24px;color:var(--lighter);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;display:flex}.jobs-panel-close:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.jobs-filters{border-bottom:1px solid var(--borderColor);flex-wrap:wrap;gap:4px;padding:0 12px 8px;display:flex}.jobs-filter{color:var(--lighter);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:flex}.jobs-filter:hover{background-color:var(--color-bg-hover)}.jobs-filter.is-active{border-color:var(--borderColor);background-color:var(--color-jobs-item-bg);color:var(--color-text)}.jobs-filter-count{color:var(--lighter);font-variant-numeric:tabular-nums}.jobs-panel-body{flex:1;min-height:0;overflow-y:auto}.jobs-empty{color:var(--lighter);text-align:center;padding:24px 16px;font-size:14px}.jobs-list{margin:0;padding:8px 0;list-style:none}.job-row{padding:4px 12px;font-size:14px}.job-row:hover{background-color:var(--color-jobs-item-bg)}.job-row-main{align-items:center;gap:8px;display:flex}.job-dot{background-color:var(--lighter);border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.job-dot--queued{background-color:var(--color-job-queued)}.job-dot--running{background-color:var(--color-job-running);animation:1.2s ease-in-out infinite job-pulse}.job-dot--succeeded{background-color:var(--color-job-succeeded)}.job-dot--failed{background-color:var(--color-job-failed)}@keyframes job-pulse{0%,to{opacity:1}50%{opacity:.3}}.job-type{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:monospace;font-size:12px;overflow:hidden}.job-target,.job-error,.job-attempts{text-overflow:ellipsis;white-space:nowrap;padding-left:12px;font-size:12px;overflow:hidden}.job-target{color:var(--lighter)}.job-error{white-space:normal;word-break:break-word;color:var(--color-job-failed)}.job-attempts{color:var(--lighter)}.job-timing{color:var(--lighter);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;font-size:12px}.settings{background-color:var(--color-bg);flex:1;min-width:0;min-height:0;padding:24px;overflow:auto}.settings-head{max-width:960px;margin:0 auto 24px}.settings-title{letter-spacing:-.01em;font-size:24px;font-weight:600}.settings-section{background-color:var(--surface-bg);max-width:960px;box-shadow:var(--surface-shadow);border-radius:12px;margin:0 auto 24px;padding:24px}.settings-section-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.settings-section-title{font-size:18px;font-weight:600}.settings-error{color:#f76b6d;background-color:#f76b6d14;border:1px solid #f76b6d33;border-radius:8px;padding:12px;font-size:14px}.settings-muted{color:var(--lighter);font-size:14px}.models-list{grid-template-columns:repeat(auto-fit,minmax(384px,1fr));gap:16px;display:grid}.model-slot{border:1px solid var(--borderColor);border-radius:8px;flex-direction:column;gap:8px;padding:12px 16px 16px;display:flex}.model-slot-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.model-slot-label{text-transform:uppercase;letter-spacing:.04em;color:var(--lighter);font-size:12px;font-weight:600}.model-slot-source{font-size:12px}.model-slot-reset{color:var(--lighter);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.model-slot-reset:hover{color:var(--color-accent)}.model-slot-reset:disabled{opacity:.5;cursor:default}.model-slot-description{color:var(--lighter);font-size:12px;line-height:1.5}.model-slot-note{font-size:12px}.model-picker{margin-top:8px;position:relative}.model-picker-input{border:1px solid var(--borderColor);width:100%;color:var(--color-text);background-color:#0000;border-radius:8px;padding:8px 12px;font-size:14px}.model-picker-input:focus{border-color:var(--color-accent)}.model-picker-input:disabled{opacity:.6}.model-options{z-index:20;background-color:var(--surface-bg);border:1px solid var(--borderColor);max-height:256px;box-shadow:var(--surface-shadow);border-radius:8px;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.model-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;grid-template-columns:1fr auto;gap:0 12px;width:100%;padding:8px 12px;display:grid}.model-option.is-active{background-color:var(--color-bg-hover)}.model-option.is-current .model-option-name{color:var(--color-accent)}.model-option-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:14px;overflow:hidden}.model-option-id{color:var(--lighter);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;overflow:hidden}.model-option-meta{color:var(--lighter);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-size:12px}.model-option-empty{color:var(--lighter);padding:8px 12px;font-size:14px}.model-option-empty.is-error{color:#f76b6d}.agents{flex:1;width:100%;min-height:0;display:flex}.agents-sidebar{background-color:var(--bgGray);border-right:1px solid var(--borderColor);flex-direction:column;flex-shrink:0;width:256px;display:flex}.agents-sessions{flex:1;min-height:0;margin:0;padding:8px 0;list-style:none;overflow-y:auto}.agents-session{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-left:4px solid #0000;flex-direction:column;gap:4px;padding:8px 12px;font-size:12px;display:flex}.agents-session:hover{background-color:var(--color-bg-hover)}.agents-session.is-active{background-color:var(--surface-bg);border-left-color:var(--color-accent)}.agents-session-top{align-items:center;gap:8px;display:flex}.agents-session-id{font-weight:600}.agents-session-time,.agents-session-model{color:var(--lighter)}.agents-session-model{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agents-dot{background-color:var(--lighter);border-radius:50%;flex-shrink:0;width:8px;height:8px}.agents-dot.is-running{background-color:#63ab7b;animation:1.2s ease-in-out infinite agents-pulse}.agents-dot.is-finished{background-color:#63ab7b}.agents-dot.is-failed{background-color:#f76b6d}@keyframes agents-pulse{0%,to{opacity:1}50%{opacity:.25}}.agents-transcript{background-color:var(--surface-bg);flex-direction:column;flex:1;min-width:0;display:flex}.agents-head{border-bottom:1px solid var(--borderColor);padding:16px 48px 12px 24px}.agents-title{align-items:center;gap:8px;margin:0 0 4px;font-size:18px;display:flex}.agents-meta{color:var(--lighter);flex-wrap:wrap;gap:4px 8px;font-size:12px;display:flex}.agents-meta-item{background-color:var(--bgGray);border:1px solid var(--borderColor);white-space:nowrap;border-radius:16px;padding:0 8px;line-height:24px}.agents-messages{flex-direction:column;flex:1;gap:12px;min-height:0;margin:0;padding:16px 24px 48px;list-style:none;display:flex;overflow-y:auto}.agents-msg{border:1px solid var(--borderColor);border-left:4px solid var(--borderColor);border-radius:8px;flex:none;overflow:hidden}.agents-msg.is-assistant{border-left-color:var(--color-accent)}.agents-msg.is-tool{background-color:var(--bgGray);border-left-color:#63ab7b}.agents-msg-head{border-bottom:1px solid var(--borderColor);align-items:center;gap:8px;min-height:24px;padding:8px 12px;font-size:12px;display:flex}.agents-msg-toggle{border:none;border-bottom:1px solid var(--borderColor);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;font-size:12px}.agents-msg-toggle:hover{background-color:var(--color-bg-hover)}.agents-msg-toggle.is-collapsed{border-bottom-color:#0000}.agents-msg-caret{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:4px solid var(--lighter);flex:none;width:0;height:0;transition:transform .12s}.agents-msg-caret.is-open{transform:rotate(90deg)}.agents-msg-role{white-space:nowrap;font-weight:600}.agents-msg-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--lighter);font-weight:400;overflow:hidden}.agents-msg-cost{float:right;color:var(--lighter);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;padding-left:8px;font-size:12px;font-weight:400}.agents-msg-head .agents-msg-cost{float:none}.agents-msg-badge{float:left;letter-spacing:.02em;white-space:nowrap;color:var(--lighter);background-color:var(--color-bg-hover);border-radius:4px;margin-right:8px;padding:0 5px;font-size:12px;font-weight:600;line-height:1.5}.is-assistant .agents-msg-badge{color:var(--accentText);background-color:var(--color-accent)}.agents-msg-body{word-break:break-word;margin:0;padding:12px;font-size:12px;line-height:1.6}pre.agents-msg-body{white-space:pre-wrap}.markdown-p{margin:0}.markdown-p+.markdown-p{margin-top:8px}.markdown-list{margin:8px 0 0;padding-left:12px;list-style-position:outside}.markdown-list:first-child{margin-top:0}ul.markdown-list{list-style-type:disc}ol.markdown-list{list-style-type:decimal}.markdown-p+.markdown-list{margin-top:4px}.markdown-list+.markdown-p{margin-top:8px}.markdown-item{margin:0}.markdown-item.is-depth-1{margin-left:12px}.markdown-item.is-depth-2{margin-left:24px}.markdown-item.is-depth-3{margin-left:32px}.agents-msg.is-pending{border-style:dashed;padding:12px}.agents-thinking{color:var(--lighter);font-size:12px;animation:1.2s ease-in-out infinite agents-pulse}.agents-empty{color:var(--lighter);text-align:center;margin:auto;padding:24px;font-size:14px}.agents-error{color:#f76b6d;margin:8px 0 0;font-size:12px}.conversation-workspace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.conversation-toolbar{border-bottom:1px solid var(--borderColor);flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.conversation-toolbar>strong{margin-right:auto;font-size:14px}.conversation-toolbar button{font:inherit;color:var(--color-text);background:var(--surface-bg);border:1px solid var(--borderColor);cursor:pointer;border-radius:8px;padding:8px;font-size:12px}.conversation-toolbar button:hover{border-color:var(--color-accent)}.conversation-toolbar button:disabled{opacity:.5;cursor:default}.conversation-body{flex:1;min-height:0;display:flex;position:relative}.conversation-sidebar{width:280px;display:none}.conversation-sidebar .agents-session-top strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-sidebar .agents-session-time{font-size:12px}.conversation-sidebar{display:flex}.conversation-history-toggle{display:none}.conversation-sidebar.is-open{z-index:3;background:var(--surface-bg);width:100%;display:flex;position:absolute;inset:0}.conversation-search{min-width:0;font:inherit;border:1px solid var(--borderColor);background:var(--surface-bg);color:var(--color-text);border-radius:8px;margin:12px;padding:8px;font-size:12px}.conversation-chat{background:var(--surface-bg);min-width:0}.conversation-head{border-bottom:1px solid var(--borderColor);align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:relative}.conversation-head>div{flex:1;min-width:0}.conversation-head h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.conversation-head p{color:var(--lighter);margin:4px 0 0;font-size:12px}.conversation-details{font-size:12px}.conversation-details summary{cursor:pointer;padding:4px}.conversation-details-body{z-index:4;border:1px solid var(--borderColor);background:var(--surface-bg);width:min(520px,100% - 24px);max-height:55vh;box-shadow:var(--surface-shadow-hover);border-radius:8px;padding:12px;position:absolute;top:100%;right:12px;overflow:auto}.conversation-details-body .agents-messages{padding:8px 0;overflow:visible}.conversation-scroll{flex:1;min-height:0;overflow-y:auto}.conversation-scroll .agents-messages{flex:none;padding:12px 16px;overflow:visible}.conversation-empty{text-align:center;max-width:480px;margin:48px auto;padding:16px}.conversation-empty h3{margin:0 0 8px;font-size:16px}.conversation-empty p{color:var(--lighter);margin:0;font-size:14px;line-height:1.6}.conversation-feedback,.conversation-pending{margin:0;padding:8px 16px;font-size:12px}.conversation-pending{white-space:pre-wrap}@media (width<=700px){.conversation-sidebar{display:none}.conversation-sidebar.is-open{display:flex}.conversation-history-toggle{display:block}.conversation-toolbar>strong{flex-basis:100%}}.traders{background-color:var(--color-bg);flex:1;min-width:0;min-height:0;padding:24px 16px;overflow:auto}.traders>*{max-width:960px;margin-left:auto;margin-right:auto}.traders-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.traders-title{align-items:center;gap:8px;font-size:24px;font-weight:600;display:flex}.traders-subtitle,.traders-back{color:var(--lighter);font-size:12px;text-decoration:none}.traders-back:hover{color:var(--color-accent)}.traders-actions{gap:8px;display:flex}.traders-button{font:inherit;color:var(--color-text);background:var(--surface-bg);border:1px solid var(--borderColor);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:14px}.traders-button:hover{border-color:var(--color-accent)}.traders-button.is-primary{color:var(--accentText);background:var(--color-accent);border-color:var(--color-accent)}.traders-button:disabled{opacity:.5;cursor:default}.traders-empty{color:var(--lighter);padding:16px 0;font-size:14px}.traders-error{color:#f76b6d;margin-bottom:12px;font-size:14px}.is-gain,.is-gain *{color:#63ab7b}.is-loss,.is-loss *{color:#f76b6d}.traders-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:0;list-style:none;display:grid}.trader-card{background:var(--surface-bg);height:100%;box-shadow:var(--surface-shadow);border-radius:12px;flex-direction:column;gap:4px;padding:16px;text-decoration:none;transition:box-shadow .15s;display:flex}.trader-card:hover{box-shadow:var(--surface-shadow-hover)}.trader-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.trader-card-name{font-size:16px}.trader-card-equity{font-variant-numeric:tabular-nums;margin-top:8px;font-size:24px;font-weight:600}.trader-card-return{font-variant-numeric:tabular-nums;font-size:14px}.trader-card-strategy{color:var(--lighter);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.trader-badge{color:var(--lighter);background:var(--color-bg-hover);border-radius:16px;padding:2px 8px;font-size:12px;font-weight:400}.trader-form{background:var(--surface-bg);box-shadow:var(--surface-shadow);border-radius:12px;flex-direction:column;gap:12px;margin-bottom:24px;padding:24px;display:flex}.trader-form>.traders-button{align-self:flex-start}.trader-form-row{flex-wrap:wrap;gap:12px;display:flex}.trader-form-row>.trader-field{flex:220px}.trader-field-label{justify-content:space-between;gap:8px;display:flex}.trader-field{color:var(--lighter);flex-direction:column;gap:4px;font-size:12px;display:flex}.trader-field .model-picker{margin-top:0}.trader-field input,.trader-field textarea{font:inherit;color:var(--color-text);background:var(--surface-bg);border:1px solid var(--borderColor);resize:vertical;border-radius:8px;padding:8px;font-size:14px}.trader-field input:focus,.trader-field textarea:focus{border-color:var(--color-accent)}.traders-section{background:var(--surface-bg);box-shadow:var(--surface-shadow);border-radius:12px;margin-bottom:16px;padding:16px}.traders-section-title{margin-bottom:12px;font-size:16px;font-weight:600}.traders-strategy{white-space:pre-wrap;font-size:14px;line-height:1.6}.trader-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:16px;display:grid}.trader-stat{background:var(--surface-bg);box-shadow:var(--surface-shadow);border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.trader-stat-label{color:var(--lighter);font-size:12px}.trader-stat-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.trader-stat-note{font-variant-numeric:tabular-nums;font-size:12px}.equity-chart{position:relative}.equity-grid{stroke:var(--borderColor);stroke-width:1px}.equity-baseline{stroke:var(--lighter);stroke-width:1px;stroke-dasharray:4 4}.equity-axis{fill:var(--lighter);font-size:11px}.equity-line{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.equity-crosshair{stroke:var(--lighter);stroke-width:1px}.equity-dot{fill:var(--color-accent);stroke:var(--surface-bg);stroke-width:2px}.equity-tooltip{white-space:nowrap;pointer-events:none;background:var(--surface-bg);border:1px solid var(--borderColor);box-shadow:var(--surface-shadow-hover);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 12px;font-size:12px;line-height:1.5;position:absolute;top:8px}.equity-tooltip-time,.equity-tooltip-split{color:var(--lighter)}.equity-tooltip-value{font-size:14px;font-weight:600}.traders-table-scroll{overflow-x:auto}.traders-table{border-collapse:collapse;width:100%;font-size:12px}.traders-table th{text-align:left;color:var(--lighter);border-bottom:1px solid var(--borderColor);padding:8px;font-weight:600}.traders-table td{vertical-align:top;border-bottom:1px solid var(--borderColor);padding:8px}.traders-table tr:last-child td{border-bottom:none}.traders-table .is-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.traders-table .is-nowrap{white-space:nowrap}.trade-side{text-transform:uppercase;border-radius:16px;padding:2px 8px;font-size:11px;font-weight:600}.trade-side.is-buy{color:#63ab7b;background:#63ab7b1f}.trade-side.is-sell{color:#f76b6d;background:#f76b6d1f}.trade-reason{min-width:240px;line-height:1.5}.trader-runs{padding:0;list-style:none}.trader-run{border-bottom:1px solid var(--borderColor)}.trader-run:last-child{border-bottom:none}.trader-run-head{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:12px;padding:12px 8px;font-size:12px;display:flex}.trader-run-head:hover{background:var(--color-bg-hover)}.trader-run-head .agents-dot{align-self:center}.trader-run-time{color:var(--lighter);white-space:nowrap;flex-shrink:0}.trader-run-summary{line-height:1.5}.trader-run-transcript{border-top:1px solid var(--borderColor);max-height:70vh;overflow-y:auto}.trader-run-transcript .agents-messages{padding:12px 0;overflow:visible}.login{background-color:var(--color-bg);flex:1;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background-color:var(--surface-bg);width:100%;max-width:384px;box-shadow:var(--surface-shadow);border-radius:12px;flex-direction:column;gap:12px;padding:32px;display:flex}.login-title{letter-spacing:-.01em;font-size:24px;font-weight:600}.login-hint{color:var(--lighter);margin-bottom:12px;font-size:14px}.login-field{flex-direction:column;gap:4px;display:flex}.login-label{color:var(--lighter);font-size:12px;font-weight:500}.login-input{border:1px solid var(--borderColor);color:var(--color-text);background-color:#0000;border-radius:8px;padding:8px 12px;font-size:16px}.login-input:focus{border-color:var(--color-accent);outline:none}.login-error{color:#f76b6d;font-size:14px}.login-submit{background-color:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:12px;padding:8px 16px;font-size:16px;font-weight:500}.login-submit:disabled{cursor:not-allowed;opacity:.6}b,strong{font-weight:600}i,em{font-style:italic}.app-shell{flex-direction:column;width:100%;height:100vh;display:flex}.app-content{flex:1;min-height:0;display:flex}:root{--color-text:#333;--color-accent:#5964ca;--color-scroll-thumb:#00000080;--color-bg:#f5f5f5;--color-bg-hover:#ededed;--accentText:white;--lighter:#999;--danger:#d45454;--borderColor:#d9dde7;--bgGray:#f5f7f9;--color-menu-bg:#192037;--color-menu-bg-hover:#5b688e;--color-menu-border:#d9dde7;--color-menu-border-subtle:#ffffff52;--color-menu-accent:#fff;--color-menu-text:#cbc8ce;--color-menu-text-secondary:#abb8de;--color-menu-highlight:#7b849e;--surface-bg:#fff;--surface-shadow:0 1px 3px #0000000f, 0 0 0 1px #0000000a;--surface-shadow-hover:0 8px 16px #00000014, 0 0 0 1px #0000000a;--color-jobs-bg:#fff;--color-jobs-item-bg:#f5f7f9;--color-job-queued:#b0b6c3;--color-job-running:#5964ca;--color-job-succeeded:#2ea043;--color-job-failed:#d45454}[data-theme=dark]{--color-text:#e6e9f2;--color-accent:#8b93ff;--color-scroll-thumb:#fff3;--color-bg:#0d0f15;--color-bg-hover:#262b3a;--accentText:#0d0e12;--lighter:#868ea6;--danger:#ff6b6b;--borderColor:#272c3a;--bgGray:#1a1b24;--color-menu-bg:#090b10;--color-menu-bg-hover:#1f2333;--color-menu-border:#2a2d3a;--color-menu-border-subtle:#ffffff42;--color-menu-accent:#8b93ff;--color-menu-text:#c5c6d0;--color-menu-text-secondary:#8a8f98;--color-menu-highlight:#2a2f45;--surface-bg:#181c27;--surface-shadow:0 1px 2px #00000080, 0 0 0 1px #ffffff0e;--surface-shadow-hover:0 8px 24px #0000008c, 0 0 0 1px #ffffff1c;--color-jobs-bg:#13141a;--color-jobs-item-bg:#1c1d26;--color-job-queued:#6e7280;--color-job-running:#8b93ff;--color-job-succeeded:#3fb950;--color-job-failed:#ff6b6b}*{caret-color:var(--color-accent)}body,*{color:var(--color-text);box-sizing:border-box;outline:none;font-family:Roboto,sans-serif}::-webkit-scrollbar{appearance:none;width:4px;overflow:overlay}::-webkit-scrollbar-thumb{background-color:var(--color-scroll-thumb);border-radius:4px;box-shadow:0 0 1px #ffffff80}.icon-button{background-color:var(--color-bg);cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;transition:background-color .1s ease-in-out;display:flex}.icon-button.danger svg{fill:var(--danger)}.icon-button:hover{background-color:var(--color-bg-hover)}.icon-button svg{width:12px;height:12px;fill:var(--color-text);transition:fill .1s ease-in-out}
