:root{--bg-deep: #0f1419;--bg-surface: #1a2332;--bg-elevated: #232f42;--bg-input: #1e2a3a;--border: rgba(148, 163, 184, .12);--border-focus: rgba(52, 211, 153, .5);--text: #e2e8f0;--text-muted: #94a3b8;--text-dim: #64748b;--accent: #34d399;--accent-hover: #10b981;--accent-glow: rgba(52, 211, 153, .25);--danger: #f87171;--danger-hover: #ef4444;--danger-bg: rgba(248, 113, 113, .15);--success-bg: rgba(52, 211, 153, .15);--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px var(--accent-glow)}*{box-sizing:border-box}html{height:100%;box-sizing:border-box}body{margin:0;min-height:100%;height:100%;font-family:DM Sans,Inter,system-ui,-apple-system,sans-serif;background:var(--bg-deep);color:var(--text);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(52,211,153,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(99,102,241,.06),transparent)}#root{height:100%;min-height:100%}.app-container{max-width:1100px;margin:0 auto;padding:32px 24px}.app-container h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 28px;background:linear-gradient(135deg,#fff 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{width:100%;max-width:400px}.login-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.login-form .form-label{display:flex;flex-direction:column;gap:6px}.app-layout{display:flex;width:100%;min-height:100vh;height:100vh}.app-sidebar{width:220px;min-width:220px;max-width:220px;flex-shrink:0;background:var(--bg-surface);border-right:1px solid var(--border);padding:16px 0;display:flex;flex-direction:column;min-height:0;box-sizing:border-box;transition:width .2s ease,min-width .2s ease,max-width .2s ease,padding .2s ease}.app-sidebar--collapsed{width:48px;min-width:48px;max-width:48px;padding:12px 0;overflow-x:hidden}.app-sidebar-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 16px;border-bottom:1px solid var(--border);margin-bottom:12px}.app-sidebar-header--collapsed{justify-content:center;padding:0 10px 12px;margin-bottom:10px}.app-sidebar-toggle{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);font-size:.7rem;line-height:1;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.app-sidebar-toggle:hover{color:var(--text);background:#ffffff14;border-color:#94a3b840}.app-sidebar-title{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.02em;min-width:0}.app-sidebar-title[hidden]{display:none!important}.app-nav{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:0 12px}.app-nav-section{display:flex;flex-direction:column;gap:2px}.app-nav-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:6px 14px 8px;margin:0 -2px}.app-nav a{display:block;padding:10px 14px;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:color .2s,background .2s}.app-nav a:hover{color:var(--text);background:#ffffff0f}.app-nav a.active{background:var(--accent);color:var(--bg-deep)}.app-sidebar--collapsed .app-nav{padding:0 6px;align-items:stretch;min-width:0}.app-sidebar--collapsed .app-nav-section-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-sidebar--collapsed .app-nav-section{gap:4px;min-width:0}.app-sidebar--collapsed .app-nav-section+.app-nav-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.app-sidebar--collapsed .app-nav a{padding:10px 2px;font-size:.95rem;font-weight:700;letter-spacing:0;text-align:center;line-height:1.2;min-width:0}.app-main{flex:1;overflow:auto;min-width:0;min-height:0;padding:24px 32px;display:flex;flex-direction:column}.app-page{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.app-editor-panel{background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);display:flex;flex-direction:column;min-height:0;flex:1}.app-editor-panel-header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.app-editor-panel-header .btn-back{padding:8px 12px;font-size:.875rem;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:color .2s,background .2s,border-color .2s}.app-editor-panel-header .btn-back:hover{color:var(--text);background:#ffffff0d;border-color:var(--text-dim)}.app-editor-panel-header h2{margin:0;font-size:1.25rem;font-weight:600}.app-editor-panel-body{flex:1;overflow-y:auto;padding:24px;min-height:0}.app-editor-panel-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:12px;flex-shrink:0}.tabs{display:flex;gap:8px;margin-bottom:24px;padding:4px;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);width:fit-content}.tabs button,.tabs a{background:transparent;color:var(--text-muted);padding:10px 18px;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;display:inline-block;transition:color .2s,background .2s,box-shadow .2s}.tabs button:hover,.tabs a:hover{color:var(--text);background:#ffffff0d}.tabs button.active,.tabs a.active{background:var(--accent);color:var(--bg-deep);box-shadow:0 2px 12px var(--accent-glow)}.tab-panel{display:none}.tab-panel.active{display:block}.card{background:var(--bg-surface);border-radius:14px;padding:24px;margin-bottom:20px;border:1px solid var(--border);box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:#94a3b82e}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card-header-actions{display:flex;gap:10px;align-items:center}.card h2{margin:0;font-size:1.2rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.card p{margin:8px 0;color:var(--text-muted);font-size:.9375rem}.step-row,.scenario-row,.runner-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:14px 16px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.9375rem;transition:border-color .2s,background .2s}.step-row:hover,.scenario-row:hover,.runner-row:hover{border-color:#94a3b833;background:#232f42cc}.steps-page-group{margin-bottom:24px}.steps-page-group:last-child{margin-bottom:0}.steps-page-title{font-size:.9375rem;font-weight:600;color:var(--text-muted);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.step-row-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.step-order-buttons{display:flex;flex-direction:column;gap:2px}.step-order-buttons .btn-order{padding:2px 8px;font-size:.75rem;line-height:1.2;min-width:28px;background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border)}.step-order-buttons .btn-order:hover:not(:disabled){background:#ffffff14;color:var(--text)}.step-order-buttons .btn-order:disabled{opacity:.4}.step-drag-handle{cursor:grab;padding:6px 10px;color:var(--text-dim);font-size:1rem;line-height:1;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border)}.step-drag-handle:active{cursor:grabbing}.step-drag-handle:hover{color:var(--text-muted);background:var(--bg-elevated)}.step-drag-handle-disabled{cursor:not-allowed;opacity:.45}.step-drag-handle-disabled:hover{color:var(--text-dim);background:var(--bg-input)}.steps-library-page-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.steps-library-page-filter-label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.steps-library-page-filter-select{padding:6px 10px;font-size:.875rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);min-width:180px}.step-select-checkbox{display:flex;align-items:center;flex-shrink:0;cursor:pointer}.step-select-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.step-row-selected .step-row{background:var(--success-bg);border-color:#34d39959}.steps-bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.steps-bulk-label{font-size:.875rem;font-weight:500;color:var(--text)}.steps-bulk-page-select{padding:6px 10px;font-size:.875rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);min-width:140px}.step-row-dragging{opacity:.85;box-shadow:var(--shadow);border-radius:var(--radius)}.step-used-badge{display:inline-block;margin-left:8px;padding:3px 10px;font-size:.7rem;font-weight:600;color:var(--accent);background:var(--success-bg);border-radius:20px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.runner-row>div:first-child{flex:1}.runner-linked{font-size:.8125rem;color:var(--text-dim);margin-top:6px}.step-actions,.scenario-actions{display:flex;align-items:center;gap:8px}.scenario-actions-menu{position:relative}.scenario-row-menu{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted)}.scenario-row-menu:hover{background:var(--bg-elevated);color:var(--text)}.scenario-row-dropdown{position:absolute;right:0;top:calc(100% + 4px);min-width:130px;margin-top:2px;padding:6px 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);z-index:40;display:flex;flex-direction:column}.scenario-row-dropdown button{padding:8px 12px;background:none;border:none;color:var(--text);text-align:left;box-shadow:none}.scenario-row-dropdown button:hover{background:#ffffff0f}.scenario-row-dropdown button.danger{color:var(--danger)}button{padding:8px 16px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--bg-deep);cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s,transform .1s,box-shadow .2s}button:hover{background:var(--accent-hover);box-shadow:0 2px 12px var(--accent-glow)}button:active{transform:scale(.98)}button.btn-danger{background:var(--danger);color:#fff}button.btn-danger:hover{background:var(--danger-hover);box-shadow:0 2px 12px #f871714d}button.btn-secondary{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}button.btn-secondary:hover{background:#232f42e6;color:var(--text);border-color:#94a3b840}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.muted{color:var(--text-dim);font-style:italic}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.form-group textarea{resize:vertical;min-height:88px}.form-control{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.form-section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);margin:0 0 12px}.form-hint{font-size:.8125rem;color:var(--text-dim);margin:6px 0 0}.form-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.form-row-compact{margin-bottom:8px}.form-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-muted);margin-bottom:12px;cursor:pointer}.ai-status{margin-top:12px;font-size:.875rem;min-height:1.5em;color:var(--text-muted)}.ai-status.loading{color:var(--accent)}.ai-status.error{color:var(--danger)}.ai-status.success{color:var(--accent)}.check-ai-result{margin-left:.75rem;font-size:.875rem}.check-ai-ok{color:var(--accent);font-weight:500}.check-ai-error{color:var(--danger)}.execution-subtitle{font-size:.9em;color:var(--text-dim);margin:0 0 10px}.execution-actions{display:flex;gap:8px}.status-box{background:var(--bg-deep);color:var(--text-muted);padding:16px;border-radius:var(--radius-sm);font-size:.8125rem;max-height:300px;overflow-y:auto;border:1px solid var(--border);font-family:JetBrains Mono,SF Mono,Consolas,monospace}.status-logs-title{font-weight:600;margin-bottom:10px;color:var(--text)}.status-logs-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.status-logs-toolbar .status-logs-title{margin-bottom:0}.status-log-entry{margin-bottom:6px;line-height:1.5}.status-log-time{color:var(--text-dim);margin-right:8px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;justify-content:center;align-items:center;z-index:1000}.modal-overlay.open{display:flex}.modal-content{background:var(--bg-surface);padding:0;width:90%;max-width:840px;max-height:90vh;overflow-y:auto;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow),0 0 0 1px #ffffff08}.modal-content.modal-content--step{max-width:min(1680px,95vw)}.modal-content--wide{max-width:720px}.modal-content--video{max-width:min(960px,96vw)}.recording-video-modal__player{width:100%;max-height:min(70vh,640px);border-radius:var(--radius-sm);background:#000;vertical-align:middle}.modal-content--resizable{position:relative;resize:both;overflow:auto;min-width:520px;min-height:420px;width:680px;height:85vh;max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.modal-content--resizable .modal-body{flex:1;overflow-y:auto;min-height:0}.modal-content--resizable:after{content:"";position:absolute;right:0;bottom:0;width:20px;height:20px;background:linear-gradient(135deg,transparent 50%,var(--border) 50%);background-size:10px 10px;border-radius:0 0 14px;pointer-events:none}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text)}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;padding:6px;cursor:pointer;border-radius:var(--radius-sm);transition:color .2s,background .2s}.modal-close:hover{background:var(--bg-elevated);color:var(--text)}.modal-body{padding:24px}.modal-footer{padding:18px 24px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.step-order-list,.action-list{list-style:none;padding:0;margin:0 0 16px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.step-order-list li,.action-list li{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-size:.875rem;color:var(--text)}.step-order-list li:last-child,.action-list li:last-child{border-bottom:none}.action-list-item-editing{background:var(--accent-subtle, rgba(99, 102, 241, .12));border-left:3px solid var(--accent, #6366f1)}.step-modal-flag-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);z-index:20;box-shadow:0 8px 20px #00000038}.step-modal-flag-empty{padding:8px 10px;font-size:13px;color:var(--text-dim)}button.step-modal-flag-option{width:100%;text-align:left;border-radius:0;border:none;border-bottom:1px solid var(--border);background:var(--bg-surface);color:var(--text);padding:8px 10px;font-size:13px}button.step-modal-flag-option:hover{background:var(--bg-elevated);color:var(--text);box-shadow:none}button.step-modal-flag-option.is-selected{background:#22c55e26}.scenario-step-add-row{align-items:flex-start}.scenario-step-multiselect{width:100%;min-height:120px;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem}.scenario-step-multiselect option{padding:4px 6px}.scenario-editor-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-top:12px;min-height:420px}.scenario-editor-left,.scenario-editor-right{display:flex;flex-direction:column;gap:10px;min-width:0}.scenario-editor-left-page-filter{margin-bottom:0}.scenario-editor-left-page-filter label{font-size:.8125rem}.scenario-column-label{font-size:.875rem;font-weight:600;color:var(--text-muted);margin:0}.scenario-editor-left .scenario-step-multiselect{min-height:280px;flex:1}.scenario-step-multiselect--compact{min-height:100px!important;max-height:140px}.scenario-library-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;padding:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm)}.scenario-library-empty{margin:0;padding:12px 8px;font-size:.8125rem}.scenario-library-step-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.scenario-library-step-row:active{cursor:grabbing}.scenario-library-step-row--dragging{opacity:.35;box-shadow:none}.scenario-library-drag-hint{flex-shrink:0;color:var(--text-dim);font-size:.75rem;letter-spacing:-2px}.scenario-library-step-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-library-step-hint{flex-shrink:0;margin-left:auto;padding-left:8px;color:var(--text-dim);font-size:.8125rem;opacity:.55}.scenario-drag-overlay{padding:12px 16px;min-width:200px;max-width:min(320px,85vw);background:var(--bg-elevated);border:1px solid var(--accent, #34d399);border-radius:var(--radius-sm);box-shadow:var(--shadow),0 0 0 1px #34d39926;cursor:grabbing;display:flex;flex-direction:column;gap:4px;pointer-events:none}.scenario-drag-overlay-kicker{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent, #34d399)}.scenario-drag-overlay-title{font-size:.9375rem;font-weight:600;color:var(--text);line-height:1.35;word-break:break-word}.scenario-drag-overlay-meta{font-size:.75rem;color:var(--text-muted)}.scenario-droppable--over{outline:2px dashed var(--accent, #34d399);outline-offset:2px;background:var(--success-bg, rgba(52, 211, 153, .12));transition:outline-color .12s ease,background .12s ease}.scenario-empty-hint--drop{min-height:140px;display:flex;align-items:center;justify-content:center;text-align:center}.scenario-steps-panel-wrap{max-height:380px;overflow-y:auto;min-height:72px;padding-bottom:40px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border)}.scenario-steps-panel-wrap .scenario-selected-steps--panel{margin:0;max-height:none;background:transparent;border:none;border-radius:0}.step-order-list li.scenario-lib-insert-slot{padding:0;border-bottom:none;justify-content:stretch}.scenario-lib-insert-slot{list-style:none;margin:0;padding:0;height:0;min-height:0;overflow:hidden;pointer-events:none;flex:0 0 auto;align-self:stretch;display:flex;align-items:center;justify-content:stretch}.scenario-selected-steps--library-drag .scenario-lib-insert-slot{pointer-events:auto;min-height:10px;height:auto;margin:2px 0;overflow:visible}.scenario-lib-insert-slot-line{display:block;width:100%;height:2px;border-radius:2px;background:#94a3b833;transition:height .1s ease,background .1s ease,box-shadow .1s ease}.scenario-selected-steps--library-drag .scenario-lib-insert-slot--over .scenario-lib-insert-slot-line{height:5px;background:var(--accent, #34d399);box-shadow:0 0 12px var(--accent-glow, rgba(52, 211, 153, .35))}.scenario-scenario-step-row--dragging{opacity:.4;z-index:1}.scenario-scenario-step-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:grab;padding:6px 8px;margin:-6px 0 -6px -8px;border-radius:var(--radius-sm);touch-action:none;-webkit-user-select:none;user-select:none}.scenario-scenario-step-main:hover{background:#ffffff08}.scenario-scenario-step-main:focus{outline:2px solid var(--border-focus, rgba(52, 211, 153, .5));outline-offset:1px}.scenario-scenario-step-main:focus:not(:focus-visible){outline:none}.scenario-scenario-step-main:active{cursor:grabbing}.scenario-scenario-drag-grip{flex-shrink:0;color:var(--text-dim);font-size:.75rem;letter-spacing:-2px}.scenario-add-steps-btn{align-self:flex-start}.scenario-selected-steps{max-height:380px;overflow-y:auto;margin:0}.scenario-selected-steps li{flex-wrap:wrap;gap:8px}.scenario-selected-steps li.scenario-step-disabled{opacity:.6;color:var(--text-dim)}.scenario-selected-steps li.scenario-step-disabled .step-name{color:var(--text-dim);font-style:italic}.step-order-index{flex-shrink:0;color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:1.5em}.scenario-empty-hint{font-size:.8125rem;color:var(--text-dim);margin:0;padding:16px;background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius-sm)}@media(max-width:640px){.scenario-editor-columns{grid-template-columns:1fr}}.scenario-field-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.scenario-field-row label{flex-shrink:0;width:72px;font-size:.8125rem;font-weight:500;color:var(--text-muted);margin:0}.scenario-field-row input{flex:1;min-width:0;padding:8px 10px;font-size:.875rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.scenario-field-row input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.scenario-field-row input::placeholder{color:var(--text-dim)}.scenario-section{margin-top:20px}.scenario-section:first-of-type{margin-top:0}.scenario-section--compact{margin-top:14px}.scenario-section--compact:first-of-type{margin-top:0}.scenario-section-title--compact{margin-bottom:6px;font-size:.8125rem}.scenario-section-hint{margin-top:4px;margin-bottom:10px}.scenario-section-hint--compact{margin-top:0;margin-bottom:8px;font-size:.75rem}.scenario-vars-grid{display:grid;grid-template-columns:80px 1fr auto;gap:4px 10px;align-items:center}.scenario-section--compact .scenario-vars-grid{gap:4px 8px}.scenario-vars-label{font-size:.75rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em}.scenario-vars-label--action{width:28px}.scenario-vars-row{display:contents}.scenario-vars-row .scenario-var-name,.scenario-vars-row .scenario-var-value{padding:6px 8px;font-size:.8125rem}.scenario-section--compact .scenario-vars-row .scenario-var-name,.scenario-section--compact .scenario-vars-row .scenario-var-value{padding:5px 8px;font-size:.8125rem}.scenario-var-name,.scenario-var-value{min-width:0}.btn-icon-danger{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;background:var(--danger-bg);color:var(--danger);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,color .2s}.btn-icon-danger:hover{background:#f8717140;color:var(--danger-hover)}.btn-add-more{margin-top:8px;padding:6px 12px;font-size:.8125rem}.scenario-section--compact .btn-add-more{margin-top:6px}.scenario-runner-add-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.scenario-section--compact .scenario-runner-add-row{margin-bottom:8px}.scenario-runner-select{flex:1;min-width:0;max-width:200px;padding:6px 10px;font-size:.8125rem}.btn-primary{padding:8px 16px;font-size:.875rem;font-weight:500;background:var(--accent);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 8px var(--accent-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.scenario-runner-chips{display:flex;flex-wrap:wrap;gap:8px}.scenario-runner-chips--compact{gap:6px}.scenario-runner-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font-size:.875rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;color:var(--text)}.scenario-runner-chips--compact .scenario-runner-chip{padding:4px 8px;font-size:.8125rem;gap:4px}.scenario-runner-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;font-size:1rem;line-height:1;background:transparent;color:var(--text-muted);border:none;border-radius:50%;cursor:pointer;transition:background .2s,color .2s}.scenario-runner-chips--compact .scenario-runner-chip-remove{width:16px;height:16px;font-size:.9rem}.scenario-runner-chip-remove:hover{background:var(--danger-bg);color:var(--danger)}.amplitude-flags-table-wrap{overflow-x:auto;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.amplitude-flags-table{width:100%;border-collapse:collapse;font-size:.875rem}.amplitude-flags-table th,.amplitude-flags-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.amplitude-flags-table th{background:var(--bg-elevated);color:var(--text-muted);font-weight:600}.amplitude-flags-table tr:last-child td{border-bottom:none}.code-inline{font-size:.8125rem;background:var(--bg-elevated);padding:2px 6px;border-radius:4px}.step-order-actions{display:flex;gap:6px}.step-order-actions button,.action-list button{padding:6px 12px;margin:0;font-size:.8125rem;background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.step-order-actions button:hover,.action-list button:hover{background:#ffffff0f;color:var(--text);border-color:#94a3b840}.action-list-buttons{display:flex;gap:8px;align-items:center}.action-list .btn-secondary{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border)}.action-list .btn-secondary:hover{background:#ffffff0f;color:var(--text)}.step-order-actions button.danger,.action-list button:not(.btn-secondary){background:var(--danger-bg);color:var(--danger);border-color:transparent}.step-order-actions button.danger:hover,.action-list button:not(.btn-secondary):hover{background:#f8717140;color:var(--danger-hover)}.action-summary{color:var(--text-muted)}.action-summary strong{color:var(--text);margin-right:4px}.form-group-shrink{flex:0;min-width:auto}.link-btn{background:none;color:var(--accent);padding:0 4px;text-decoration:none;font-size:inherit;border:none;cursor:pointer;transition:color .2s}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}.btn-generate{background:var(--accent);color:var(--bg-deep)}.btn-generate:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.card-ai-explore h2,.card-ai-generate h2{color:var(--text)}.execution-status-card{border-color:#94a3b826}.step-row-wrapper,.scenario-row-wrapper{margin-bottom:12px}.step-row-wrapper .step-row,.scenario-row-wrapper .scenario-row{margin-bottom:0}.step-row-disabled .step-row,.step-row-disabled.step-row{opacity:.55;color:var(--text-muted)}.step-row-disabled .step-row strong{color:var(--text-muted)}.sub-tabs{display:flex;gap:4px;margin-bottom:20px;padding:3px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);width:fit-content}.sub-tab{background:transparent;color:var(--text-muted);padding:8px 16px;font-size:.875rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:color .2s,background .2s}.sub-tab:hover{color:var(--text);background:#ffffff0d}.sub-tab.active{background:var(--accent);color:var(--bg-deep)}.page-tabs-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.page-tabs-bar .sub-tabs{margin-bottom:0}.page-tabs-bar--trailing-only{justify-content:flex-end}.desktop-app-page{max-width:720px}.desktop-app-page .card+.card{margin-top:20px}.desktop-app-page__title{margin:0;font-size:1.25rem;font-weight:600}.desktop-app-page__lede{margin:0 0 16px;line-height:1.5}.desktop-app-page__download-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.desktop-app-page__download-note{margin:0;max-width:520px}.desktop-app-page__steps,.desktop-app-page__bullets{margin:0;padding-left:1.25rem;line-height:1.55;color:var(--text-muted)}.desktop-app-page__steps li+li,.desktop-app-page__bullets li+li{margin-top:10px}.desktop-app-page__p{margin:0 0 12px;line-height:1.55;color:var(--text-muted)}.desktop-app-page__footnote{margin-top:16px;margin-bottom:0}.desktop-app-page__figure{margin:20px 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elevated)}.desktop-app-page__figure-img{display:block;width:100%;height:auto;vertical-align:middle}.desktop-app-page__figcaption{margin:0;padding:12px 14px;font-size:.8125rem;line-height:1.45;color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg-input)}.codegen-recording-indicator{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.875rem;color:var(--danger);font-weight:500}.codegen-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--danger);animation:codegen-pulse 1.2s ease-in-out infinite}@keyframes codegen-pulse{0%,to{opacity:1}50%{opacity:.3}}.codegen-dot.paused{background:var(--text-muted);animation:none}.codegen-recording-indicator:has(.codegen-dot.paused){color:var(--text-muted)}.codegen-dot.pick{background:var(--accent)}.codegen-recording-indicator:has(.codegen-dot.pick){color:var(--accent)}.codegen-action-list li{flex-direction:column;align-items:stretch;gap:8px}.codegen-action-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.codegen-action-controls{display:flex;gap:6px}.codegen-selector-row{display:flex;align-items:center;gap:8px}.codegen-selector-label{flex-shrink:0;font-size:.75rem;color:var(--text-muted);width:56px}.codegen-selector-input{flex:1;min-width:0;padding:6px 10px;font-size:.8125rem;font-family:var(--font-mono, "JetBrains Mono", monospace);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.codegen-selector-input:focus{outline:none;border-color:var(--border-focus)}.codegen-popup-container{max-width:100%;padding:16px}.codegen-popup{display:flex;flex-direction:column;gap:12px}.codegen-popup-header{margin:0 0 8px}.codegen-popup-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text)}.codegen-popup-muted{margin:0;font-size:.875rem;color:var(--text-muted)}.codegen-popup-banner{padding:10px 12px;font-size:.8125rem;background:var(--success-bg);border:1px solid rgba(52,211,153,.3);border-radius:var(--radius-sm);color:var(--accent)}.codegen-popup-actions{display:flex;flex-direction:column;gap:4px}.codegen-popup-select-btn{padding:10px 16px;font-size:.9375rem;font-weight:500;background:var(--accent);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);cursor:pointer}.codegen-popup-select-btn:hover:not(:disabled){background:var(--accent-hover)}.codegen-popup-select-btn:disabled{opacity:.5;cursor:not-allowed}.codegen-popup-hint{font-size:.75rem;color:var(--text-muted)}.codegen-popup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.codegen-popup-list li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem}.codegen-popup-step-type{font-weight:600;color:var(--accent)}.codegen-popup-step-label{color:var(--text)}.codegen-popup-step-selector{font-size:.75rem;color:var(--text-muted);word-break:break-all;background:var(--bg-input);padding:4px 6px;border-radius:4px}.codegen-popup-error{font-size:.8125rem;color:var(--danger);padding:8px;background:var(--danger-bg);border-radius:var(--radius-sm)}.codegen-assert-panel{margin-top:12px;padding:12px 14px;background:var(--success-bg);border:1px solid rgba(52,211,153,.25);border-radius:var(--radius-sm)}.codegen-assert-panel .form-section-title{margin:0 0 10px;font-size:.9375rem}.codegen-assert-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.codegen-assert-buttons button{font-size:.8125rem}.codegen-assert-input-row{display:flex;gap:8px;margin-top:10px;align-items:center}.codegen-assert-input-row .form-input{flex:1;min-width:0}.codegen-popup-assert .codegen-popup-assert-title{margin:0 0 8px;font-size:.875rem;font-weight:600;color:var(--text)}.codegen-save-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.codegen-save-actions .codegen-scenario-name{margin-bottom:10px}.codegen-save-actions .form-row{gap:10px}.test-planner-tab{flex:1;min-height:0;display:flex;flex-direction:column}.test-planner-layout{display:flex;flex:1;min-height:0;overflow:hidden}.test-planner-resize-handle{flex-shrink:0;width:6px;margin-left:-3px;margin-right:-3px;z-index:2;cursor:col-resize;align-self:stretch;display:flex;align-items:stretch;justify-content:center;touch-action:none}.test-planner-resize-handle:after{content:"";width:2px;margin:0 auto;border-radius:1px;background:transparent;transition:background .15s}.test-planner-resize-handle:hover:after,.test-planner-resize-handle:focus-visible:after{background:#34d39973}.test-planner-resize-handle:focus-visible{outline:none}.test-planner-resize-handle:focus-visible:after{background:var(--accent)}.test-planner-sidebar-expand-rail{flex-shrink:0;width:40px;min-width:40px;align-self:stretch;display:flex;flex-direction:column;align-items:center;padding-top:12px;background:var(--bg-surface);border-right:1px solid var(--border)}.test-planner-sidebar-expand-btn{width:32px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.test-planner-sidebar-expand-btn:hover{color:var(--accent);background:#34d3991a;border-color:#34d39959}.test-planner-sidebar{width:220px;min-width:180px;max-width:480px;flex-shrink:0;padding:12px 12px 16px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.test-planner-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.test-planner-sidebar-heading{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);min-width:0}.test-planner-sidebar-collapse{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.test-planner-sidebar-collapse:hover{color:var(--text);background:#ffffff0f;border-color:#94a3b840}.test-planner-new-folder{width:100%;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.test-planner-new-folder:hover{background:var(--bg-input);border-color:#94a3b840}.test-planner-folder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto}.test-planner-folder-row-wrapper{position:relative}.test-planner-folder-tree{flex-shrink:0;width:14px;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:1.25rem}.test-planner-folder-tree-branch{width:10px;height:10px;margin-inline-end:2px;border-bottom:1px solid rgba(148,163,184,.35);border-left:1px solid rgba(148,163,184,.35);border-bottom-left-radius:3px}.test-planner-folder-row--child{background:#ffffff05}.test-planner-folder-row--child:hover{background:#ffffff0d}.test-planner-folder-row--child.active{background:#34d3991f}.test-planner-folder-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s;border:none;background:transparent;width:100%;text-align:left;color:var(--text);font-size:.875rem}.test-planner-folder-row:hover{background:#ffffff0f}.test-planner-folder-row.active{background:#34d39926;color:var(--accent)}.test-planner-folder-icon{flex-shrink:0;font-size:1rem}.test-planner-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-planner-folder-add,.test-planner-folder-menu{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:1rem;cursor:pointer;transition:color .2s,background .2s}.test-planner-folder-add:hover,.test-planner-folder-menu:hover{color:var(--text);background:#ffffff14}.test-planner-folder-dropdown{position:absolute;top:100%;left:0;min-width:120px;margin-top:4px;padding:6px 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);z-index:50;display:flex;flex-direction:column}.test-planner-folder-dropdown button{padding:8px 14px;background:none;border:none;color:var(--text);font-size:.875rem;text-align:left;cursor:pointer;transition:background .2s}.test-planner-folder-dropdown button:hover{background:#ffffff0f}.test-planner-folder-dropdown button.danger{color:var(--danger)}.test-planner-main{flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.test-planner-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;color:var(--text-muted);text-align:center}.test-case-list-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.test-case-list-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.test-case-list-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-case-list-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);margin-top:12px}.test-case-list-table{width:100%;border-collapse:collapse;font-size:.875rem}.test-case-list-table th,.test-case-list-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}.test-case-list-table th{background:var(--bg-elevated);color:var(--text-muted);font-weight:600}.test-case-list-table tbody tr:hover{background:#ffffff08}.test-case-list-empty{color:var(--text-muted);text-align:center;padding:32px 16px!important}.priority-badge{font-size:.75rem;padding:2px 8px;border-radius:4px;font-weight:500}.priority-high{background:#fb923c33;color:#fb923c}.test-case-row-actions{display:flex;align-items:center;gap:8px}.test-case-menu-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:1rem;cursor:pointer}.test-case-menu-btn:hover{color:var(--text);background:#ffffff0f}.test-case-list-row-clickable{cursor:pointer}.test-case-list-row-clickable:hover{background:#ffffff0d}.test-case-editor{max-width:900px;margin:0 auto;padding-bottom:24px}.test-case-editor-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.test-case-editor-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1.25rem;cursor:pointer;transition:background .2s,border-color .2s}.test-case-editor-back:hover{background:var(--bg-elevated);border-color:var(--border-focus)}.test-case-editor-title{flex:1;margin:0;font-size:1.25rem;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-case-editor-update{flex-shrink:0}.test-case-editor-section{margin-bottom:28px}.test-case-editor-section-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 14px}.test-case-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.test-case-editor-field.full-width{grid-column:1 / -1}.test-case-editor-field{display:flex;flex-direction:column;gap:6px}.test-case-editor-label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.test-case-editor-input,.test-case-editor-textarea{width:100%;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9375rem;font-family:inherit}.test-case-editor-input:focus,.test-case-editor-textarea:focus{outline:none;border-color:var(--border-focus)}.test-case-editor-textarea{min-height:80px;resize:vertical}.test-case-editor-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.test-case-editor-hint{font-size:.75rem;color:var(--text-muted);margin-top:2px}.test-case-editor-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.test-case-editor-field.half{grid-column:auto}.test-case-editor-steps-wrap{margin-top:16px}.test-case-editor-steps-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.test-case-editor-step-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.test-case-editor-step-num{flex-shrink:0;width:24px;font-weight:600;color:var(--text-muted);padding-top:10px}.test-case-editor-step-fields{flex:1;display:flex;flex-direction:column;gap:10px}.test-case-editor-step-fields input{min-width:0}.test-case-editor-step-attachments{display:flex;flex-direction:column;gap:6px}.test-case-editor-step-attachment-list{margin:0;padding-left:18px}.test-case-editor-step-attachment-list li{display:flex;align-items:center;gap:8px}.test-case-editor-step-remove{flex-shrink:0;width:32px;height:36px;padding:0;border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);border-radius:var(--radius-sm);font-size:1.25rem;line-height:1;cursor:pointer}.test-case-editor-step-remove:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.test-case-editor-step-remove:disabled{opacity:.5;cursor:not-allowed}.test-case-editor-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:24px;background:var(--bg-elevated);border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center}.test-case-editor-upload-icon{font-size:1.5rem;margin-bottom:8px;opacity:.7}.test-case-editor-upload-text{margin:0 0 4px;font-size:.9375rem}.test-case-editor-upload-hint{margin:0;font-size:.8125rem;opacity:.9}.test-plan-edit-inline .plan-edit-fields{max-width:100%;margin-bottom:16px}.test-planner-tab h2{font-size:1.1rem;font-weight:600;color:var(--text-muted);margin:0 0 12px}.test-planner-section{margin-bottom:28px}.test-planner-tab .block-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:8px}.requirement-textarea{width:100%;min-height:140px;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem;resize:vertical;margin-bottom:12px}.requirement-textarea:focus{outline:none;border-color:var(--border-focus)}.generate-preview{display:flex;flex-direction:column;gap:16px}.generate-preview-section{display:flex;flex-direction:column;gap:6px}.generate-preview-section .block-label{font-size:.8125rem;color:var(--text-muted)}.generate-preview-log{width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.8125rem;line-height:1.45;resize:vertical;min-height:120px}.generate-preview-log:focus{outline:none;border-color:var(--border-focus)}.test-planner-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.test-planner-actions .status-message{font-size:.875rem;color:var(--text-muted)}.test-planner-actions .status-message.success{color:var(--accent)}.test-planner-actions .status-message.error{color:var(--danger)}.plan-picker-row{display:flex;flex-direction:column;gap:12px}.plan-picker-row .plan-picker,.plan-picker{display:flex;flex-wrap:wrap;gap:8px}.test-plan-edit .plan-edit-fields{display:flex;flex-direction:column;gap:12px;max-width:560px}.plan-name-input{padding:10px 12px;width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem}.requirement-textarea-sm{min-height:80px}.plan-edit-actions{display:flex;gap:10px}.test-areas-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.test-areas-section-header h2{margin:0}.test-area-meta-editable{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.area-name-input{min-width:140px;flex:1;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem}.area-select{padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem}.area-select-priority{min-width:90px}.test-area-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.area-notes-edit{margin-bottom:12px}.area-notes-input{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(248,113,113,.35)}.btn-danger:hover{background:#f8717140}.plan-pill{padding:8px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.plan-pill:hover{border-color:#94a3b840}.plan-pill.active{background:#34d39926;border-color:var(--accent);color:var(--accent)}.plan-meta{font-size:.75rem;color:var(--text-dim)}.test-areas-section .test-areas-list{display:flex;flex-direction:column;gap:10px}.test-area-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.test-area-header{display:flex;align-items:center;gap:10px;padding:12px 14px}.test-area-header .area-expand{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.test-area-header .area-expand:hover{color:var(--text);background:#ffffff0f}.test-area-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.test-area-meta .area-name{font-weight:500;color:var(--text)}.test-area-body{padding:0 14px 14px 52px}.area-notes{font-size:.875rem;color:var(--text-muted);margin:0 0 10px}.test-cases-list{list-style:none;margin:0;padding:0}.test-case-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:10px}.test-case-item:last-child{margin-bottom:0}.test-case-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.test-case-item .preconditions{font-size:.8125rem;color:var(--text-muted);margin:0 0 8px}.test-steps-list{margin:0;padding-left:20px;font-size:.875rem;color:var(--text-muted)}.test-steps-list .step-action{color:var(--text)}.test-steps-list .step-expected{color:var(--text-dim)}.badge{font-size:.7rem;padding:2px 8px;border-radius:4px;font-weight:500}.badge.priority-high{background:#f8717133;color:#fca5a5}.badge.priority-medium{background:#fbbf2433;color:#fcd34d}.badge.priority-low{background:#94a3b833;color:var(--text-muted)}.badge.risk-high,.badge.risk-medium,.badge.risk-low{background:#94a3b826;color:var(--text-muted)}.badge.category{background:#6366f133;color:#a5b4fc}.badge.converted{background:var(--success-bg);color:var(--accent)}.btn-sm{padding:6px 10px;font-size:.8125rem}.text-muted{color:var(--text-muted);font-size:.875rem}.manual-runner-tab h1{margin-bottom:24px}.manual-runner-tab h2{font-size:1.1rem;font-weight:600;color:var(--text-muted);margin:0 0 12px}.manual-runner-actions{margin-bottom:24px}.manual-run-start,.manual-runs-list{margin-bottom:28px}.run-plan-select,.run-name-input{display:block;width:100%;max-width:400px;padding:10px 12px;margin-bottom:14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem}.manual-run-start-actions{display:flex;gap:10px;margin-top:16px}.runs-list{list-style:none;margin:0;padding:0}.run-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px}.run-list-name{font-weight:500;flex:1;min-width:0}.run-list-status{font-size:.75rem;padding:2px 8px;border-radius:4px;text-transform:capitalize}.run-list-status.in_progress{background:#fbbf2433;color:#fcd34d}.run-list-status.completed{background:var(--success-bg);color:var(--accent)}.run-list-status.aborted{background:#94a3b833;color:var(--text-muted)}.run-list-meta{font-size:.8125rem;color:var(--text-dim)}.run-view-layout .run-view-header{margin-bottom:12px}.run-view-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.run-view-title{flex:1;margin:0;font-size:1.25rem;min-width:0}.run-nav-btn{flex-shrink:0}.run-case-nav-row{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.run-case-nav-label{font-size:.9375rem;color:var(--text-muted)}.run-case-nav-btns{display:flex;gap:8px}.run-view-two-col{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}@media(max-width:720px){.run-view-two-col{grid-template-columns:1fr}}.run-view-case-detail{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:sticky;top:16px}.run-view-case-detail h2{margin:0 0 12px;font-size:1.1rem}.run-view-case-detail .run-preconditions{font-size:.875rem;color:var(--text-muted);margin:0 0 16px}.run-view-abort{margin-top:12px}.run-view-steps{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.run-view-steps-heading{margin:0 0 16px;font-size:1rem;color:var(--text-muted)}.run-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.run-step-list-item{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.run-step-list-content .run-step-action,.run-step-list-content .run-step-expected{margin:0 0 6px;font-size:.9375rem}.run-step-list-content .run-step-expected{color:var(--text-muted)}.run-step-attachments{margin:6px 0 0;font-size:.875rem}.run-step-attachments ul{margin:4px 0 0;padding-left:20px}.run-step-list-actions{display:flex;gap:8px;flex-wrap:wrap}.run-step-attachment-input{font-size:.8125rem}.run-step-list-actions .btn-pass.active,.run-step-list-actions .btn-fail.active,.run-step-list-actions .btn-skip.active{outline:2px solid var(--text);outline-offset:2px}.run-progress-bar{height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden;margin-bottom:8px;max-width:400px}.run-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .2s}.run-progress-text{font-size:.875rem;color:var(--text-muted);margin:0 0 20px}.run-step-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px;max-width:560px}.run-step-card h2{margin:0 0 12px;font-size:1.15rem}.run-preconditions{font-size:.875rem;color:var(--text-muted);margin:0 0 16px}.run-step-content{margin-bottom:16px}.run-step-action,.run-step-expected{margin:0 0 8px;font-size:.9375rem}.run-step-notes{margin-bottom:16px}.run-step-notes label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:6px}.run-notes-input{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem}.run-step-actions{display:flex;gap:10px;margin-bottom:14px}.btn-pass{background:var(--success-bg);color:var(--accent);border:1px solid rgba(52,211,153,.4)}.btn-pass:hover{background:#34d39940}.btn-fail{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(248,113,113,.4)}.btn-fail:hover{background:#f8717140}.btn-skip{background:#94a3b826;color:var(--text-muted);border:1px solid var(--border)}.btn-skip:hover{background:#94a3b840}.btn-abort{margin-top:8px}.manual-runner-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.manual-runner-list-header h1{margin:0}.run-list-item-clickable{cursor:pointer}.run-list-item-clickable:hover{background:var(--bg-surface);border-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:440px;width:90%}.modal-content h2{margin:0 0 16px}.manual-run-modal .block-label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:6px;margin-top:12px}.manual-run-modal .block-label:first-of-type{margin-top:0}.run-description-input{display:block;width:100%;padding:10px 12px;margin-bottom:14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem;resize:vertical}.modal-actions{display:flex;gap:10px;margin-top:20px}.manual-runner-window{max-width:1200px}.runner-window-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.runner-back{padding:8px 12px;font-size:1.1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer}.runner-back:hover{background:var(--bg-input)}.runner-window-title{flex:1;margin:0;font-size:1.25rem}.runner-window-actions{display:flex;gap:8px}.runner-execute-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.runner-summary-section{display:flex;align-items:flex-start;gap:32px;flex-wrap:wrap;margin-bottom:28px;padding:20px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.runner-donut-wrap{position:relative;width:120px;height:120px;flex-shrink:0}.runner-donut{width:100%;height:100%;border-radius:50%}.runner-donut-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}.runner-legend{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--text-muted)}.runner-legend-item.untested{color:#94a3b8}.runner-legend-item.passed{color:var(--accent)}.runner-legend-item.failed{color:var(--danger)}.runner-legend-item.retest{color:#fb923c}.runner-legend-item.skipped{color:#a78bfa}.runner-meta-fields{flex:1;min-width:200px;display:flex;flex-direction:column;gap:12px}.runner-field{display:flex;flex-direction:column;gap:4px;font-size:.875rem;color:var(--text-muted)}.runner-field input,.runner-field textarea,.runner-field select{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem}.runner-select-section{margin-bottom:24px}.runner-section-heading{margin:0 0 12px;font-size:1rem}.runner-select-layout{display:grid;grid-template-columns:200px 1fr 280px;gap:16px;min-height:320px}.runner-select-layout--three-col{grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(200px,260px);align-items:stretch}.runner-column-heading{margin:0 0 10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.runner-column-empty{margin:0;padding:16px 8px;font-size:.8125rem;color:var(--text-muted);text-align:center}.runner-folder-column,.runner-selected-column{display:flex;flex-direction:column;min-height:0;min-width:0}.runner-cases-column{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.runner-folder-tree--column{flex:1;min-height:200px;max-height:min(52vh,480px);display:flex;flex-direction:column;gap:2px;padding:8px}.runner-folder-pick{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem;cursor:pointer;text-align:left;transition:background .15s}.runner-folder-pick:hover{background:#ffffff0f}.runner-folder-pick.active{background:#34d3991f;color:var(--accent)}.runner-folder-pick-icon{flex-shrink:0;font-size:.9rem}.runner-folder-pick-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runner-folder-pick-count{flex-shrink:0;font-size:.7rem;font-weight:600;color:var(--text-dim);background:#ffffff0f;padding:2px 6px;border-radius:999px}.runner-folder-pick.active .runner-folder-pick-count{color:var(--accent);background:#34d39926}.runner-cases-toolbar{flex-shrink:0;padding:0 0 10px;border-bottom:1px solid var(--border);margin-bottom:8px}.runner-select-all-label{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.runner-case-row-list{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.runner-case-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.runner-case-row:hover{border-color:#94a3b840;background:var(--bg-input)}.runner-case-row:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.runner-case-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.runner-case-row-title{font-size:.875rem;font-weight:500;color:var(--text)}.runner-case-row-meta{font-size:.75rem;color:var(--text-muted)}.runner-case-row-status{flex-shrink:0;margin-top:2px}.runner-selected-column{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.runner-selected-list{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.runner-selected-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s}.runner-selected-row:hover{border-color:#94a3b840}.runner-selected-row:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.runner-selected-row-title{flex:1;min-width:0;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runner-selected-remove{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;transition:color .15s,background .15s}.runner-selected-remove:hover{color:var(--danger);background:var(--danger-bg)}.runner-case-preview-body{font-size:.875rem}.runner-case-preview-desc,.runner-case-preview-pre{margin:0 0 12px;color:var(--text-muted)}.runner-case-preview-steps-title{margin:16px 0 8px;font-size:.8125rem;font-weight:600;color:var(--text)}.runner-case-preview-steps{color:var(--text)}@media(max-width:900px){.runner-select-layout,.runner-select-layout--three-col{grid-template-columns:1fr}.runner-folder-tree--column{max-height:220px}}.runner-folder-tree{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 0;overflow-y:auto}.runner-folder-group{padding:0}.runner-folder-item{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text);font-size:.875rem;cursor:pointer;text-align:left}.runner-folder-item:hover{background:var(--bg-input)}.runner-folder-icon{font-size:.7rem;color:var(--text-muted)}.runner-folder-sub{padding-left:20px}.runner-folder-sub-item{display:block;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer;text-align:left}.runner-folder-sub-item:hover,.runner-folder-sub-item.active{background:var(--bg-input);color:var(--text)}.runner-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.runner-table{width:100%;border-collapse:collapse;font-size:.875rem}.runner-table th,.runner-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.runner-table th{background:var(--bg-elevated);color:var(--text-muted);font-weight:600}.runner-table tbody tr:hover{background:var(--bg-elevated)}.run-history-log-table-wrap{margin-bottom:4px}.run-history-log-table .run-history-log-time{white-space:nowrap;font-variant-numeric:tabular-nums}.run-history-log-table .run-history-log-cell-muted{color:var(--text-muted);max-width:140px;word-break:break-word}.run-history-log-table .run-history-log-message{word-break:break-word;white-space:pre-wrap;max-width:min(520px,50vw)}.runner-status-select{padding:4px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.8125rem}.runner-priority{font-size:.8125rem;color:var(--text-muted)}.runner-row-menu{padding:4px 8px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem}.runner-detail-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;overflow-y:auto}.runner-no-selection{color:var(--text-muted);font-size:.875rem;text-align:center;margin:0;padding:24px 0}.runner-detail-content h3{margin:0 0 12px;font-size:1rem}.runner-detail-content p{margin:0 0 12px;font-size:.875rem}.runner-steps-list{margin:0;padding-left:20px;font-size:.875rem;color:var(--text-muted)}.runner-steps-list li{margin-bottom:8px}.runner-window-footer{margin-top:16px}.test-run-report{max-width:640px}.test-run-report-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.test-run-report-header{margin-bottom:20px}.test-run-report-header h2{margin:0 0 6px;font-size:1.25rem}.report-meta{font-size:.875rem;color:var(--text-muted);margin:0 0 12px}.report-summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.summary-stat{font-size:.9375rem;font-weight:500}.summary-stat.passed{color:var(--accent)}.summary-stat.failed{color:var(--danger)}.summary-stat.skipped,.summary-stat.pending{color:var(--text-muted)}.report-results-list{list-style:none;margin:0;padding:0}.report-result-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:10px}.report-result-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.report-result-header strong{flex:1}.badge.status-pass{background:var(--success-bg);color:var(--accent)}.badge.status-fail{background:var(--danger-bg);color:var(--danger)}.badge.status-skip,.badge.status-blocked,.badge.status-pending{background:#94a3b833;color:var(--text-muted)}.report-result-details{font-size:.875rem;color:var(--text-muted);padding-left:0}.report-result-details .step-summary,.report-result-details .result-notes{margin:0 0 6px}.report-step-results{margin:8px 0 0;padding-left:20px}.report-step-results li{margin-bottom:4px}.step-result-badge{display:inline-block;min-width:36px;font-size:.7rem;margin-right:8px}.step-result-badge.pass{color:var(--accent)}.step-result-badge.fail{color:var(--danger)}.step-result-badge.skip{color:var(--text-dim)}.step-result-action{color:var(--text)}.step-result-attachments{margin-left:44px;font-size:.8125rem;color:var(--text-muted)}.step-result-notes{color:var(--text-dim)}.test-run-report-body.test-run-report-body--export-capture{background:#fff;color:#0f172a;padding:20px 24px;border-radius:var(--radius-sm)}.test-run-report-body--export-capture .test-run-report-header h2{color:#0f172a}.test-run-report-body--export-capture .report-meta{color:#64748b}.test-run-report-body--export-capture .summary-stat.passed{color:#059669}.test-run-report-body--export-capture .summary-stat.failed{color:#dc2626}.test-run-report-body--export-capture .summary-stat.skipped,.test-run-report-body--export-capture .summary-stat.pending{color:#64748b}.test-run-report-body--export-capture .report-result-item{background:#f8fafc;border-color:#e2e8f0}.test-run-report-body--export-capture .report-result-header strong{color:#0f172a}.test-run-report-body--export-capture .badge.status-pass{background:#d1fae5;color:#047857}.test-run-report-body--export-capture .badge.status-fail{background:#fee2e2;color:#b91c1c}.test-run-report-body--export-capture .badge.status-skip,.test-run-report-body--export-capture .badge.status-blocked,.test-run-report-body--export-capture .badge.status-pending{background:#f1f5f9;color:#64748b}.test-run-report-body--export-capture .report-result-details{color:#64748b}.test-run-report-body--export-capture .step-result-badge.pass{color:#059669}.test-run-report-body--export-capture .step-result-badge.fail{color:#dc2626}.test-run-report-body--export-capture .step-result-badge.skip{color:#64748b}.test-run-report-body--export-capture .step-result-action{color:#0f172a}.test-run-report-body--export-capture .step-result-notes{color:#64748b}
