@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.cockpit-studio{display:flex;flex:1;min-height:0;overflow:hidden;background:#090e1a;position:relative}.studio-sidebar{display:flex;flex-direction:column;flex-shrink:0;width:340px;background:#0d1117;border-right:1px solid #21262d;transition:width .22s cubic-bezier(.4,0,.2,1),opacity .22s;overflow:hidden;min-height:0}.studio-sidebar.collapsed{width:0!important;opacity:0;pointer-events:none}.studio-tabs{display:flex;align-items:center;gap:2px;padding:8px 10px;background:#161b22;border-bottom:1px solid #21262d;flex-shrink:0}.studio-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;border:none;background:transparent;color:#8b949e;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.studio-tab:hover{background:#ffffff0f;color:#e6edf3}.studio-tab.active{background:#58a6ff1f;color:#58a6ff}.studio-content-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:#30363d transparent}.studio-content-scroll::-webkit-scrollbar{width:4px}.studio-content-scroll::-webkit-scrollbar-track{background:transparent}.studio-content-scroll::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.studio-toggle{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:100;background:#21262d;border:1px solid #30363d;color:#8b949e;padding:10px 5px;border-radius:0 6px 6px 0;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center}.studio-toggle:hover{background:#30363d;color:#e6edf3}.studio-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:#090e1a}.studio-viewport{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.browser-chrome{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.browser-dots{display:flex;align-items:center;gap:6px;flex-shrink:0}.browser-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.browser-dot.red{background:#ff5f56}.browser-dot.amber{background:#ffbd2e}.browser-dot.green{background:#27c93f}.browser-address-bar{flex:1;display:flex;align-items:center;gap:8px;background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:5px 10px;font-size:12px;color:#8b949e;transition:border-color .15s}.browser-address-bar:focus-within{border-color:#58a6ff}.browser-address-bar input{background:transparent;border:none;outline:none;color:#e6edf3;font-size:12px;width:100%;font-family:var(--font-mono, monospace)}.studio-live-badge{position:absolute;bottom:16px;right:16px;background:#090e1ae0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #30363d;border-radius:10px;padding:8px 14px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#e6edf3;letter-spacing:.04em;z-index:20;pointer-events:none}.studio-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:studio-pulse 1.5s ease-in-out infinite}@keyframes studio-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.studio-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#30363d;padding:40px;text-align:center}.studio-empty-title{font-size:15px;font-weight:700;color:#e6edf3}.studio-empty-sub{font-size:12px;color:#8b949e}.studio-canvas{max-width:100%;max-height:100%;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;image-rendering:auto;display:block}.studio-overlay{flex:1;position:relative;overflow:hidden;outline:none;display:flex;align-items:center;justify-content:center}.studio-overlay.live{cursor:crosshair}.studio-step{display:flex;gap:10px;align-items:flex-start}.studio-step-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#21262d;color:#8b949e;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}.studio-step-text{font-size:13px;color:#c9d1d9;line-height:1.5}.studio-creds{background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:10px 12px;font-size:12px;color:#8b949e;font-family:var(--font-mono, monospace);white-space:pre-wrap;word-break:break-all}.studio-label{font-size:10px;font-weight:700;color:#8b949e;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.studio-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#161b22;border-bottom:1px solid #21262d;flex-shrink:0}.studio-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.03em}.studio-status-badge.live{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.25)}.studio-status-badge.loading{background:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.25)}.studio-status-badge.idle{background:#94a3b814;color:#64748b;border:1px solid rgba(148,163,184,.15)}.studio-status-badge.error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.25)}.studio-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:none;font-weight:700;font-size:12px;cursor:pointer;transition:opacity .15s,filter .15s;white-space:nowrap}.studio-btn:disabled{opacity:.45;cursor:not-allowed}.studio-btn:not(:disabled):hover{filter:brightness(1.1)}.studio-btn.primary{background:#1d6feb;color:#fff}.studio-btn.stop{background:#4b5563;color:#fff}.studio-btn.success{background:#16a34a;color:#fff}.studio-btn.danger{background:#dc2626;color:#fff}.studio-btn.ghost{background:transparent;color:#8b949e;border:1px solid #30363d}.studio-btn.ghost:not(:disabled):hover{background:#ffffff0d;color:#e6edf3;filter:none}.tdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a52;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:200;display:flex;align-items:stretch;justify-content:flex-end;padding:0}.tdm-modal{background:var(--card);border:none;border-left:1px solid var(--border);border-radius:0;width:min(100vw,720px);height:100vh;max-height:100vh;overflow:hidden;box-shadow:-20px 0 48px #0f172a2e;animation:tdm-in .22s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes tdm-in{0%{opacity:0;transform:translate(28px)}}.tdm-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 18px;gap:16px;border-bottom:1px solid var(--border);flex-shrink:0}.tdm-header-left{flex:1;min-width:0}.tdm-header-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.tdm-id{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--muted);text-transform:uppercase}.tdm-type-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;border:1px solid}.tdm-status-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;border:1px solid}.tdm-title{font-size:18px;font-weight:700;color:var(--text2);line-height:1.35;margin:0}.tdm-close{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;padding:8px;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tdm-close:hover{border-color:var(--border2);color:var(--text)}.tdm-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 24px;background:var(--card);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.tdm-tabs::-webkit-scrollbar{display:none}.tdm-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;background:none;border:none;border-bottom:2.5px solid transparent;cursor:pointer;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;transition:color .15s,border-color .15s}.tdm-tab:hover{color:var(--text2)}.tdm-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tdm-scroll{flex:1;overflow-y:auto;min-height:0}.tdm-layout{display:grid;grid-template-columns:1fr;min-height:0;gap:0}@media (max-width: 700px){.tdm-layout{grid-template-columns:1fr}.tdm-sidebar{border-right:none;border-bottom:1px solid var(--border)}}.tdm-sidebar{padding:18px 24px;border-right:none;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:#f8fafc}.tdm-sidebar-section{display:flex;flex-direction:column;gap:10px}.tdm-sidebar-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding-bottom:6px;border-bottom:1px solid var(--border)}.tdm-meta-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}.tdm-meta-item-icon{width:28px;height:28px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.tdm-meta-item-label{font-size:10px;color:var(--muted)}.tdm-meta-item-value{font-size:12px;font-weight:600;color:var(--text2)}.tdm-main{padding:22px 24px;display:flex;flex-direction:column;gap:22px}.tdm-main>.tdm-field,.tdm-main>.tdm-grid-2{border:1px solid var(--border);border-radius:8px;padding:14px;background:#fff}.tdm-body{padding:22px 24px;display:flex;flex-direction:column;gap:22px;flex:1;overflow-y:auto;min-height:0}.tdm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 500px){.tdm-grid-2{grid-template-columns:1fr}}.tdm-field{display:flex;flex-direction:column;gap:7px}.tdm-advanced-toggle{margin-top:4px;border:1px solid var(--border);background:#f8fafc;color:var(--muted);border-radius:var(--radius);padding:8px 10px;font-size:12px;font-weight:600;cursor:pointer;text-align:left}.tdm-advanced-toggle:hover{border-color:var(--border2);color:var(--text2)}.tdm-field-header{display:flex;align-items:center;justify-content:space-between}.tdm-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--muted)}.tdm-badge-hint{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:#6366f126;color:#818cf8}.tdm-input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;padding:10px 13px;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.tdm-input:focus{border-color:var(--accent)}.tdm-input:disabled{opacity:.5;cursor:default}.tdm-select{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;padding:10px 36px 10px 13px;outline:none;width:100%;cursor:pointer;-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 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.tdm-textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;font-family:var(--font-mono);padding:12px 14px;line-height:1.65;outline:none;resize:vertical;transition:border-color .15s;width:100%;box-sizing:border-box}.tdm-textarea:focus{border-color:var(--accent)}.tdm-textarea:disabled{opacity:.5;cursor:default}.tdm-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 500px){.tdm-status-grid{grid-template-columns:repeat(2,1fr)}}.tdm-status-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 10px;border:1.5px solid;border-radius:12px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;background:none}.tdm-status-card:disabled{cursor:default;opacity:.4}.tdm-status-card:not(:disabled):hover{filter:brightness(1.15);transform:translateY(-1px)}.tdm-notice{display:flex;align-items:flex-start;gap:10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:10px;padding:13px 16px;font-size:12px;color:var(--text2)}.tdm-upload-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:5px 12px;border:1.5px solid var(--border);border-radius:7px;color:var(--muted);cursor:pointer;transition:all .15s}.tdm-upload-btn:hover{border-color:var(--border2);color:var(--text2)}.tdm-attachments{display:flex;flex-wrap:wrap;gap:10px}.tdm-attachment{position:relative;width:88px;height:88px;border-radius:10px;overflow:hidden;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);transition:border-color .15s}.tdm-attachment:hover{border-color:var(--border2)}.tdm-attachment img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tdm-file-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:5px;font-size:10px;color:var(--muted)}.tdm-attachment-del{position:absolute;top:4px;right:4px;background:#000000b3;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:4px;display:flex;opacity:0;transition:opacity .15s}.tdm-attachment:hover .tdm-attachment-del{opacity:1}.tdm-error{padding:11px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:9px;font-size:12px;color:#ef4444}.tdm-timestamp{font-size:11px;color:var(--muted);padding-top:14px;border-top:1px solid var(--border)}.tdm-footer{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid var(--border);background:#f8fafc;border-radius:0;flex-shrink:0}.tdm-btn-delete{display:flex;align-items:center;gap:6px;background:none;border:1.5px solid rgba(239,68,68,.35);border-radius:9px;color:#ef4444;font-size:12px;font-weight:600;padding:9px 16px;cursor:pointer;transition:all .15s}.tdm-btn-delete:hover{background:#ef44441a;border-color:#ef4444}.tdm-btn-cancel{background:none;border:1.5px solid var(--border);border-radius:9px;color:var(--muted);font-size:13px;padding:9px 18px;cursor:pointer;transition:all .15s}.tdm-btn-cancel:hover{border-color:var(--border2);color:var(--text)}.tdm-btn-save{display:flex;align-items:center;gap:7px;border:none;border-radius:var(--radius);color:#fff;font-size:13px;font-weight:700;padding:10px 22px;cursor:pointer;transition:opacity .15s}.tdm-btn-save:disabled{opacity:.5;cursor:not-allowed}.tdm-btn-save:not(:disabled):hover{opacity:.88}.tdm-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0f172adb;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.tdm-lightbox-close{position:absolute;top:-13px;right:-13px;background:var(--card);border:1px solid var(--border2);border-radius:50%;color:var(--text);cursor:pointer;padding:8px;display:flex}:root{--brand-ink: #101E35;--brand-ink-deep: #0B1729;--accent: #1B6BFF;--accent-hover: #0B57E0;--accent-active: #0844B4;--accent-subtle: #E8F0FF;--accent2: #1B6BFF;--accent-pink: #C62828;--accent-mint: #17875A;--accent-purple: #5B4BD6;--n-50: #F7F8FA;--n-100: #F0F2F6;--n-200: #E3E7EE;--n-300: #D0D7E2;--n-400: #B4BDCC;--n-500: #5C6880;--n-600: #5C6880;--n-700: #404C64;--n-800: #2C3A52;--n-900: #1A2740;--n-950: #0B0F17;--bg: #F7F8FA;--surface: #FFFFFF;--surface2: #F0F2F6;--card: #FFFFFF;--border: #E3E7EE;--border2: #D0D7E2;--text: #2C3A52;--text2: #101E35;--muted: #5C6880;--success: #17875A;--warn: #B26A00;--danger: #C62828;--info: #1B6BFF;--running: #5B4BD6;--blocked: #A8447A;--skipped: #6B7686;--focus-ring: #7FA9FF;--overlay: #0B1729;--status-passed-bg: #E8F5EE;--status-passed-fg: #12613F;--status-passed-border: #C9E6D7;--status-failed-bg: #FBE9E9;--status-failed-fg: #9B2020;--status-failed-border: #F0CFCF;--status-totest-bg: #F0F2F6;--status-totest-fg: #404C64;--status-totest-border: #DDE2EA;--status-blocked-bg: #F9E9F2;--status-blocked-fg: #8A3563;--status-blocked-border: #EFD0E1;--status-running-bg: #ECEAFB;--status-running-fg: #3F32A3;--status-running-border: #D7D2F3;--status-skipped-bg: #F0F2F6;--status-skipped-fg: #5C6880;--status-skipped-border: #DDE2EA;--priority-p1-bg: #FBE9E9;--priority-p1-fg: #9B2020;--priority-p2-bg: #FDF1DF;--priority-p2-fg: #8A5300;--priority-p3-bg: #F0F2F6;--priority-p3-fg: #4A5770;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-ui: "IBM Plex Sans", sans-serif;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--space-80: 80px;--r-0: 0px;--r-2: 2px;--r-4: 4px;--r-6: 6px;--r-8: 8px;--r-12: 12px;--r-16: 16px;--radius: 8px;--radius2: 12px;--shadow-xs: 0 1px 1px rgba(16, 30, 53, .05);--shadow-sm: 0 1px 3px rgba(16, 30, 53, .09);--shadow-md: 0 4px 12px rgba(16, 30, 53, .1);--shadow-lg: 0 12px 28px rgba(16, 30, 53, .14);--shadow: var(--shadow-md);--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-popover: 300;--z-modal: 400;--z-toast: 500;--z-critical: 600;--ease-fast: .12s cubic-bezier(.2, 0, .4, 1);--ease-normal: .2s cubic-bezier(.2, 0, .3, 1);--ease-slow: .32s cubic-bezier(.3, 0, .2, 1)}.m-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b17298c;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px}.m-modal{background:var(--surface);border:none;border-radius:var(--radius2);width:100%;max-height:92vh;overflow:hidden;box-shadow:0 12px 28px #101e3547;animation:m-in .2s cubic-bezier(.2,0,.3,1);display:flex;flex-direction:column}@keyframes m-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.m-accent-bar{height:3px;border-radius:var(--radius2) var(--radius2) 0 0;background:var(--accent)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;gap:12px;border-bottom:1px solid #EDF0F5;flex-shrink:0}.m-header-left{flex:1;min-width:0}.m-eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-bottom:3px}.m-title{font-size:15px;font-weight:600;color:var(--text2);margin:0;line-height:1.3}.m-close{background:transparent;border:none;border-radius:var(--r-6);color:var(--muted);cursor:pointer;padding:7px;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.m-close:hover{background:var(--surface2);color:var(--text2)}.m-body{padding:18px;display:flex;flex-direction:column;gap:16px;flex:1;overflow-y:auto;position:relative}.m-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid #EDF0F5;background:#f9fafc;border-radius:0 0 var(--radius2) var(--radius2);flex-shrink:0}.m-field{display:flex;flex-direction:column;gap:6px;position:relative}.m-field-row{display:flex;align-items:center;justify-content:space-between}.m-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#404c64}.m-hint{font-size:11.5px;color:var(--muted)}.m-required{color:var(--danger);margin-left:2px}.m-input{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-size:13px;height:36px;padding:0 11px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box;font-family:var(--font-sans)}.m-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.m-input:disabled{opacity:.5;cursor:default}.m-input::-moz-placeholder{color:var(--muted)}.m-input::placeholder{color:var(--muted)}.m-select{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-size:13px;height:36px;padding:0 9px;outline:none;width:100%;cursor:pointer;font-family:var(--font-sans)}.m-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.m-textarea{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-size:13px;font-family:var(--font-sans);padding:9px 11px;line-height:1.55;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.m-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.m-textarea:disabled{opacity:.5;cursor:default}.m-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.m-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.m-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fdf5f5;border:1px solid #F0CFCF;border-radius:var(--radius);font-size:12px;color:#9b2020}.m-notice{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--radius);font-size:12px;background:var(--accent-subtle);border:1px solid #D0DFFA;color:var(--text2)}.m-btn-primary{display:flex;align-items:center;gap:7px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;font-size:12.5px;font-weight:600;height:36px;padding:0 15px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;font-family:var(--font-sans)}.m-btn-primary:disabled{opacity:.5;cursor:not-allowed}.m-btn-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.m-btn-ghost{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-size:12.5px;font-weight:600;height:36px;padding:0 13px;cursor:pointer;transition:background .15s;font-family:var(--font-sans)}.m-btn-ghost:hover{background:#f7f8fa}.m-btn-danger{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid #E8CFCF;border-radius:var(--radius);color:var(--danger);font-size:12px;font-weight:600;padding:8px 14px;cursor:pointer;transition:background .15s;margin-right:auto;font-family:var(--font-sans)}.m-btn-danger:hover{background:#fdf5f5}.m-divider{height:1px;background:#edf0f5;margin:4px 0}.alert{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--radius);font-size:12.5px;line-height:1.55}.alert-icon{flex:none;margin-top:1px}.alert-info{border:1px solid #D0DFFA;background:#f7faff;color:#0b57e0}.alert-success{border:1px solid #C9E6D7;background:#f4fbf7;color:#12613f}.alert-warning{border:1px solid #EDD9B4;background:#fdfaf3;color:#8a5300}.alert-error{border:1px solid #F0CFCF;background:#fdf5f5;color:#9b2020}.alert-destructive{border:1px solid #E8CFCF;background:#fff;color:#c62828}.alert-dark{border:none;background:var(--brand-ink);color:#e9eef6}.alert-dark .alert-icon{color:#6fa8ff}@keyframes cmdk-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0b172980;display:flex;align-items:flex-start;justify-content:center;padding:80px 24px 24px}.cmdk-panel{width:100%;max-width:520px;background:var(--surface);border-radius:var(--radius2);box-shadow:0 12px 28px #101e3547;overflow:hidden;animation:cmdk-pop .18s cubic-bezier(.2,0,.3,1)}.cmdk-header{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid #EDF0F5}.cmdk-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-sans);font-size:14px;color:var(--text2)}.cmdk-input::-moz-placeholder{color:var(--muted)}.cmdk-input::placeholder{color:var(--muted)}.cmdk-kbd{font-family:var(--font-mono);font-size:10px;padding:3px 6px;border-radius:5px;border:1px solid var(--border);color:var(--muted);flex-shrink:0}.cmdk-list{padding:6px;display:flex;flex-direction:column;max-height:300px;overflow-y:auto}.cmdk-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border:none;background:transparent;border-radius:var(--r-6);cursor:pointer;text-align:left;font-family:var(--font-sans);width:100%}.cmdk-item:hover,.cmdk-item.active{background:#f7f8fa}.cmdk-item-icon{flex:none;color:var(--muted)}.cmdk-item-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.cmdk-item-label{font-size:13px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-item-group{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.cmdk-item-kbd{font-family:var(--font-mono);font-size:10px;color:#8592a8;flex:none}.cmdk-empty{padding:22px 12px;text-align:center;font-size:12.5px;color:var(--muted)}@keyframes qa-spin{to{transform:rotate(360deg)}}.qa-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius);font-family:var(--font-sans);font-size:12.5px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}.qa-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #7fa9ff99}.qa-btn:disabled{cursor:not-allowed}.qa-btn-icon-only{gap:0}.qa-btn-xs{height:28px;padding:0 10px;border-radius:var(--r-6);font-size:11.5px}.qa-btn-sm{height:32px;padding:0 12px;border-radius:var(--r-6);font-size:12px}.qa-btn-lg{height:44px;padding:0 18px;border-radius:var(--r-8);font-size:13.5px}.qa-btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.qa-btn-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.qa-btn-primary:not(:disabled):active{background:var(--accent-active);border-color:var(--accent-active)}.qa-btn-primary:disabled{border-color:#d0d7e2;background:#edf0f5;color:#a2adbe}.qa-btn-secondary{border-color:#d0d7e2;background:#fff;color:var(--text2)}.qa-btn-secondary:not(:disabled):hover{background:#f7f8fa;border-color:#b4bdcc}.qa-btn-secondary:not(:disabled):active{background:#edf0f5;border-color:#b4bdcc}.qa-btn-secondary:disabled{border-color:#e3e7ee;background:#fff;color:#a2adbe}.qa-btn-tertiary{background:var(--accent-subtle);color:var(--accent-hover)}.qa-btn-tertiary:not(:disabled):hover{background:#d6e4ff}.qa-btn-tertiary:not(:disabled):active{background:#c4d8ff;color:var(--accent-active)}.qa-btn-tertiary:disabled{background:#f0f2f6;color:#a2adbe}.qa-btn-ghost{background:transparent;color:var(--muted)}.qa-btn-ghost:not(:disabled):hover{background:#f0f2f6;color:var(--text2)}.qa-btn-ghost:not(:disabled):active{background:#e3e7ee;color:var(--text2)}.qa-btn-ghost:disabled{color:#a2adbe}.qa-btn-destructive{border-color:var(--danger);background:var(--danger);color:#fff}.qa-btn-destructive:not(:disabled):hover{background:#a81f1f;border-color:#a81f1f}.qa-btn-destructive:not(:disabled):active{background:#8e1919;border-color:#8e1919}.qa-btn-destructive:disabled{border-color:#e8cfcf;background:#f7eded;color:#c79a9a}.qa-btn-destructive:focus-visible{box-shadow:0 0 0 3px #f4a0a0b3}.qa-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);border:1px solid #D0D7E2;background:#fff;color:var(--text2);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.qa-icon-btn:hover{background:#f7f8fa;border-color:#b4bdcc}.qa-icon-btn-danger{color:var(--danger)}.qa-icon-btn-danger:hover{background:#fdf5f5;border-color:#e8bfbf}.qa-split-btn{display:inline-flex}.qa-split-btn-main{border-radius:var(--radius) 0 0 var(--radius);border-right-color:var(--accent-hover)}.qa-split-btn-toggle{width:32px;padding:0;border-radius:0 var(--radius) var(--radius) 0;border-left:none}.qa-btn-spinner{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:qa-spin .7s linear infinite;display:block;flex:none}.qa-btn-secondary .qa-btn-spinner,.qa-btn-ghost .qa-btn-spinner{border-color:#d0d7e2;border-top-color:var(--muted)}.qa-btn-tertiary .qa-btn-spinner{border-color:#bbd2ff;border-top-color:var(--accent-hover)}.qa-field{display:flex;flex-direction:column;gap:6px}.qa-field-row{display:flex;align-items:center;justify-content:space-between}.qa-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#404c64}.qa-label-required{color:var(--danger);margin-left:2px}.qa-hint{font-size:11.5px;color:var(--muted)}.qa-field-error{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#9b2020}.qa-field-success{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#12613f}.qa-input,.qa-select,.qa-textarea{height:36px;padding:0 11px;border:1px solid #D0D7E2;border-radius:var(--radius);background:#fff;font-family:var(--font-sans);font-size:13px;color:var(--text2);outline:none;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.qa-input::-moz-placeholder,.qa-textarea::-moz-placeholder{color:var(--muted)}.qa-input::placeholder,.qa-textarea::placeholder{color:var(--muted)}.qa-input:focus,.qa-select:focus,.qa-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.qa-input:disabled,.qa-textarea:disabled{opacity:.5;cursor:default}.qa-input-error{border-color:var(--danger)!important}.qa-input-success{border-color:#3e9b72!important}.qa-textarea{height:auto;padding:9px 11px;line-height:1.55;resize:vertical}.qa-select{cursor:pointer;padding:0 9px}.qa-input-mono{font-family:var(--font-mono);font-size:12.5px}.qa-input-affix{position:relative;display:flex;align-items:center}.qa-input-affix .qa-input{padding-left:34px}.qa-input-affix .qa-input-affix-right{padding-right:38px}.qa-input-icon-left{position:absolute;left:11px;width:15px;height:15px;color:#8592a8;pointer-events:none}.qa-input-icon-btn{position:absolute;right:4px;width:28px;height:28px;border:none;background:transparent;border-radius:var(--r-6);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted)}.qa-input-icon-btn:hover{background:#f0f2f6}.qa-input-prefixed{display:flex;height:36px;border:1px solid #D0D7E2;border-radius:var(--radius);overflow:hidden;background:#fff}.qa-input-prefixed:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.qa-input-prefix{display:flex;align-items:center;padding:0 10px;background:#f7f8fa;border-right:1px solid var(--border);font-family:var(--font-mono);font-size:12px;color:var(--muted);flex:none}.qa-input-prefixed input{flex:1 1 auto;min-width:0;border:none;outline:none;padding:0 11px;font-family:var(--font-mono);font-size:12.5px;color:var(--text2);background:transparent}.qa-stepper{display:flex;height:36px;border:1px solid #D0D7E2;border-radius:var(--radius);overflow:hidden;width:-moz-fit-content;width:fit-content}.qa-stepper-btn{width:34px;border:none;background:#f7f8fa;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center}.qa-stepper-btn:hover{background:#edf0f5}.qa-stepper-btn-dec{border-right:1px solid var(--border)}.qa-stepper-btn-inc{border-left:1px solid var(--border)}.qa-stepper-value{min-width:46px;flex:1 1 auto;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;font-weight:600}.qa-chip-field{min-height:36px;padding:5px 7px;border:1px solid #D0D7E2;border-radius:var(--radius);background:#fff;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.qa-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 7px;border-radius:var(--r-6);background:var(--accent-subtle);color:var(--accent-hover);font-size:11.5px;font-weight:600}.qa-chip button{border:none;background:transparent;padding:0;display:flex;cursor:pointer;color:inherit}.qa-chip-add{height:24px;padding:0 8px;border:1px dashed #B4BDCC;border-radius:var(--r-6);background:transparent;font-family:var(--font-sans);font-size:11.5px;color:var(--muted);cursor:pointer}.qa-chip-add:hover{border-color:var(--accent);color:var(--accent-hover)}.qa-filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid #D0D7E2;background:#fff;font-size:12px;color:#404c64;cursor:pointer}.qa-filter-chip-active{border-color:var(--accent);background:var(--accent-subtle);font-weight:600;color:var(--accent-hover)}.qa-dropzone{border:1px dashed #C3CCDA;border-radius:var(--r-12);background:#f9fafc;padding:18px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.qa-dropzone:hover,.qa-dropzone-active{border-color:var(--accent);background:#f7faff}.qa-file-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius)}.qa-file-row-remove{border:none;background:transparent;padding:0;display:flex;cursor:pointer;color:#8592a8}.qa-file-row-remove:hover{color:var(--danger)}.qa-toggle-row{display:flex;align-items:center;gap:10px;border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.qa-toggle-track{width:36px;height:20px;border-radius:999px;flex:none;position:relative;display:block;background:#d0d7e2;transition:background .15s}.qa-toggle-track.qa-toggle-on{background:var(--accent)}.qa-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;display:block;transition:left .15s}.qa-toggle-on .qa-toggle-thumb{left:18px}.qa-radio-row{display:flex;align-items:center;gap:9px;border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.qa-radio-dot{width:17px;height:17px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;border:1.5px solid #B4BDCC}.qa-radio-dot.qa-radio-checked{border-color:var(--accent)}.qa-radio-dot-inner{width:7px;height:7px;border-radius:50%;display:block;background:transparent}.qa-radio-checked .qa-radio-dot-inner{background:var(--accent)}.qa-checkbox{width:16px;height:16px;border-radius:var(--r-4);border:1.5px solid #B4BDCC;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#fff;flex:none}.qa-checkbox.qa-checkbox-checked{border-color:var(--accent);background:var(--accent)}.qa-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border)}.qa-tab{padding:10px 14px;border:none;background:transparent;border-bottom:2px solid transparent;font-family:var(--font-sans);font-size:13px;font-weight:400;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.qa-tab-active{border-bottom-color:var(--accent);color:var(--text2);font-weight:600}.qa-tab:disabled{color:#a2adbe;cursor:not-allowed}.qa-tab-count{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px;background:#f0f2f6;color:#404c64}.qa-tab-pro-badge{font-family:var(--font-mono);font-size:9.5px;font-weight:600;padding:1px 5px;border-radius:var(--r-4);background:#f0f2f6;color:var(--muted)}.qa-segmented{display:inline-flex;padding:3px;background:#f0f2f6;border-radius:var(--r-8);gap:2px}.qa-segment{padding:6px 12px;border:none;border-radius:var(--r-6);font-family:var(--font-sans);font-size:12px;font-weight:400;color:var(--muted);background:transparent;cursor:pointer}.qa-segment-active{background:#fff;color:var(--text2);font-weight:600;box-shadow:0 1px 2px #101e351f}.qa-card{border:1px solid var(--border);border-radius:var(--r-12);background:#fff;padding:16px;display:flex;flex-direction:column;gap:9px}.qa-card-interactive{cursor:pointer;transition:box-shadow .2s cubic-bezier(.2,0,.3,1),border-color .2s}.qa-card-interactive:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.qa-card-selected{border-color:var(--accent);background:#f7faff;box-shadow:0 0 0 3px #7fa9ff59}.qa-card-locked{background:#f9fafc;align-items:flex-start}.qa-card-locked-icon{width:30px;height:30px;border-radius:var(--r-8);background:#f0f2f6;display:flex;align-items:center;justify-content:center;color:var(--muted)}.qa-kpi-card{gap:6px}.qa-kpi-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.qa-kpi-value-row{display:flex;align-items:baseline;gap:8px}.qa-kpi-value{font-size:28px;font-weight:600;letter-spacing:-.02em}.qa-kpi-delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600}.qa-kpi-delta-up{color:var(--success)}.qa-kpi-delta-down{color:var(--danger)}.qa-kpi-track{height:6px;border-radius:3px;background:#e8ecf3;overflow:hidden;display:block}.qa-kpi-fill{display:block;height:6px;border-radius:3px;background:var(--accent)}.qa-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent}.qa-status-passed{background:var(--status-passed-bg);color:var(--status-passed-fg);border-color:var(--status-passed-border)}.qa-status-failed{background:var(--status-failed-bg);color:var(--status-failed-fg);border-color:var(--status-failed-border)}.qa-status-totest{background:var(--status-totest-bg);color:var(--status-totest-fg);border-color:var(--status-totest-border)}.qa-status-blocked{background:var(--status-blocked-bg);color:var(--status-blocked-fg);border-color:var(--status-blocked-border)}.qa-status-running{background:var(--status-running-bg);color:var(--status-running-fg);border-color:var(--status-running-border)}.qa-status-skipped{background:var(--status-skipped-bg);color:var(--status-skipped-fg);border-color:var(--status-skipped-border)}.qa-priority{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:var(--r-5, 5px);font-family:var(--font-mono);font-size:11px;font-weight:600}.qa-priority-p1{background:var(--priority-p1-bg);color:var(--priority-p1-fg)}.qa-priority-p2{background:var(--priority-p2-bg);color:var(--priority-p2-fg)}.qa-priority-p3{background:var(--priority-p3-bg);color:var(--priority-p3-fg)}.qa-env-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:var(--r-5, 5px);font-family:var(--font-mono);font-size:11px;background:#f0f4fa;color:#2c3a52;border:1px solid #DDE4EE}.qa-pro-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--r-5, 5px);font-family:var(--font-mono);font-size:10.5px;font-weight:600;background:var(--brand-ink);color:#fff}.qa-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:600}.qa-avatar{border-radius:50%;background:var(--brand-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}.qa-avatar-stack{display:flex;align-items:center}.qa-avatar-stack .qa-avatar{border:2px solid #FFFFFF;margin-left:-9px}.qa-avatar-stack .qa-avatar:first-child{margin-left:0}.qa-avatar-online{position:relative;display:block}.qa-avatar-online-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--success);border:2px solid #FFFFFF;display:block}.qa-progress-track{flex:1 1 auto;height:6px;border-radius:3px;background:#e8ecf3;overflow:hidden;display:block}.qa-progress-fill{display:block;height:6px;background:var(--accent);border-radius:3px}.qa-progress-segmented{flex:1 1 auto;height:6px;border-radius:3px;background:#e8ecf3;overflow:hidden;display:flex}.qa-progress-seg-passed{display:block;height:6px;background:var(--success)}.qa-progress-seg-failed{display:block;height:6px;background:var(--danger)}.qa-progress-seg-skipped{display:block;height:6px;background:var(--skipped)}.qa-menu{position:absolute;z-index:var(--z-dropdown);min-width:210px;background:#fff;border:1px solid var(--border);border-radius:var(--r-8, 9px);box-shadow:var(--shadow-lg);padding:5px;display:flex;flex-direction:column;max-height:300px;overflow-y:auto}.qa-menu-item{text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:var(--r-6);font-family:var(--font-sans);font-size:12.5px;color:var(--text2);cursor:pointer;display:flex;align-items:center;gap:9px}.qa-menu-item:hover{background:#f7f8fa}.qa-menu-item:disabled{color:#a2adbe;cursor:not-allowed}.qa-menu-item-danger{color:var(--danger)}.qa-menu-item-danger:hover{background:#fdf5f5}.qa-menu-label{padding:6px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--muted)}.qa-menu-divider{height:1px;background:#edf0f5;margin:5px 0}.qa-menu-empty{padding:12px 10px;font-size:12.5px;color:var(--muted)}.qa-tooltip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-6);background:var(--brand-ink);color:#fff;font-size:12px;line-height:1.4;max-width:230px}.qa-tooltip-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--brand-ink);margin-left:16px;display:block}.qa-table{border:1px solid var(--border);border-radius:var(--r-12, 10px);overflow:hidden}.qa-table-head,.qa-table-row{display:grid;gap:10px;align-items:center;padding:10px 12px}.qa-table-head{padding:9px 12px;background:#f7f8fa;border-bottom:1px solid var(--border)}.qa-table-head-cell{border:none;background:transparent;padding:0;text-align:left;font-family:var(--font-sans);font-size:10.5px;font-weight:600;letter-spacing:.06em;color:#404c64;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.qa-table-row{border-bottom:1px solid #EDF0F5;background:#fff}.qa-table-row:hover,.qa-table-row-selected{background:#f7faff}.qa-table-cell-primary{display:flex;align-items:center;gap:9px;min-width:0}.qa-table-cell-title{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-table-cell-id{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.qa-table-empty{padding:34px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.qa-table-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:9px 12px;background:#f9fafc}.qa-table-bulkbar{display:flex;gap:8px;align-items:center;padding:5px 5px 5px 12px;border:1px solid var(--accent);border-radius:var(--r-8);background:var(--accent-subtle)}.qa-pagination{display:flex;gap:5px;align-items:center}.qa-page-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:var(--r-6);background:#fff;color:#404c64;font-family:var(--font-mono);font-size:11.5px;display:flex;align-items:center;justify-content:center;cursor:pointer}.qa-page-btn:hover{background:#f7f8fa}.qa-page-btn:disabled{color:#b4bdcc;cursor:not-allowed}.qa-page-btn-active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}:root{--lp-gold: #D98E2B;--lp-gold-hover: #C17E20;--lp-gold-soft: #FBEBD4;--lp-gold-ink: #7A4E14}.lp-root{background:var(--bg);color:var(--text2);font-family:var(--font-sans)}.lp-root *{box-sizing:border-box}.lp-root section{padding-block:88px}@media (max-width: 720px){.lp-root section{padding-block:56px}}.lp-wrap{max-width:1160px;margin-inline:auto;padding-inline:24px}.lp-mono{font-family:var(--font-mono)}.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover)}.lp-eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lp-gold);flex:none}.lp-ticker{background:var(--brand-ink-deep);color:#8fa2be;font-family:var(--font-mono);font-size:11px;padding:7px 24px;display:flex;gap:22px;flex-wrap:wrap;justify-content:center;letter-spacing:.02em;border-bottom:1px solid #16243C}.lp-ticker b{color:#e9eef6;font-weight:600}.lp-ticker span{white-space:nowrap}.lp-nav{position:sticky;top:0;z-index:100;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.lp-navrow{max-width:1160px;margin-inline:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lp-brand{display:flex;align-items:center;gap:10px;flex:none}.lp-brand-mark{width:34px;height:34px;-o-object-fit:contain;object-fit:contain;flex:none}.lp-brand-name{font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--text2)}.lp-navlinks{display:flex;gap:28px;align-items:center}.lp-navlinks a{font-size:13.5px;font-weight:500;color:var(--text2);text-decoration:none}.lp-navlinks a:hover{color:var(--accent-hover)}.lp-navcta{display:flex;gap:10px;align-items:center}@media (max-width: 760px){.lp-navlinks{display:none}}@media (max-width: 480px){.lp-navrow{padding:12px 16px;gap:10px}.lp-navcta{gap:8px}.lp-navcta .lp-btn-ghost{display:none}.lp-navcta .lp-btn-primary{height:34px;padding:0 12px;font-size:12.5px}}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:var(--font-sans);white-space:nowrap;text-decoration:none}.lp-btn-primary{background:var(--accent);color:#fff}.lp-btn-primary:hover{background:var(--accent-hover)}.lp-btn-ghost{background:transparent;color:var(--text2);border-color:var(--border2)}.lp-btn-ghost:hover{background:var(--surface2)}.lp-btn-gold{background:var(--lp-gold);color:#fff}.lp-btn-gold:hover{background:var(--lp-gold-hover)}.lp-btn-lg{height:48px;padding:0 24px;font-size:15px;border-radius:9px}.lp-btn-block{width:100%}.lp-hero{background:var(--brand-ink-deep);color:#e9eef6;padding-block:64px 84px;overflow:hidden}.lp-hero-grid{max-width:1160px;margin-inline:auto;padding-inline:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}@media (max-width: 900px){.lp-hero-grid{grid-template-columns:1fr}}.lp-hero h1{color:#fff;font-size:clamp(30px,4.4vw,46px);letter-spacing:-.02em;margin:18px 0 20px;line-height:1.12;font-weight:700}.lp-hero h1 em{font-style:normal;color:var(--lp-gold)}.lp-hero-sub{color:#aebbd4;font-size:16.5px;line-height:1.65;max-width:480px;margin-bottom:30px}.lp-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px}.lp-hero-stats{display:flex;gap:28px;flex-wrap:wrap}.lp-hero-stat b{display:block;font-size:20px;font-weight:700;color:#fff}.lp-hero-stat span{font-size:11.5px;color:#8fa2be}.lp-demo{background:var(--brand-ink);border:1px solid #223049;border-radius:14px;box-shadow:0 20px 48px #101e3529;overflow:hidden}.lp-demo-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#0f1c31;border-bottom:1px solid #223049}.lp-demo-dot{width:9px;height:9px;border-radius:50%}.lp-demo-title{margin-left:6px;font-family:var(--font-mono);font-size:11px;color:#7c8ea8}.lp-demo-body{padding:16px;display:flex;flex-direction:column;gap:12px}.lp-demo-script{background:#0b1729;border:1px solid #1D2A3F;border-radius:8px;padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.8;color:#c6d2e4;overflow-x:auto}.lp-demo-script .kw{color:#58a6ff}.lp-demo-script .str{color:#ffa657}.lp-demo-script .as{color:#56d364}.lp-demo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lp-demo-console{background:#050c17;border:1px solid #1D2A3F;border-radius:8px;padding:12px 14px;font-family:var(--font-mono);font-size:11.5px;line-height:1.85;min-height:168px;display:flex;flex-direction:column;gap:1px}.lp-log-line{white-space:pre-wrap;word-break:break-word;opacity:0;animation:lpLogIn .25s ease forwards}@keyframes lpLogIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.lp-log-ts{color:#6b7b96}.lp-log-INFO{color:#6fa8ff}.lp-log-STEP{color:#8fe3b8}.lp-log-WARN{color:#f0c070}.lp-log-FAIL{color:#ff8b8b}.lp-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600}.lp-pill-pass{background:#e8f5ee;color:#12613f}.lp-trust{background:var(--surface);border-bottom:1px solid var(--border);padding-block:26px}.lp-trust-row{max-width:1160px;margin-inline:auto;padding-inline:24px;display:flex;flex-wrap:wrap;gap:14px 32px;align-items:center;justify-content:space-between}.lp-trust-cities{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}.lp-trust-cities b{color:var(--text2);font-weight:600}.lp-trust-badges{display:flex;gap:10px;flex-wrap:wrap}.lp-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:5px 12px}.lp-sec-head{max-width:640px;margin-bottom:44px}.lp-sec-head.lp-center{margin-inline:auto;text-align:center}.lp-sec-head.lp-center .lp-eyebrow{justify-content:center;width:100%}.lp-sec-head h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.015em;margin:12px 0;font-weight:700;color:var(--text2)}.lp-sec-head p{color:var(--muted);font-size:15.5px;line-height:1.65}.lp-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 860px){.lp-feat-grid{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.lp-feat-grid{grid-template-columns:1fr}}.lp-feat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px}.lp-feat-icon{width:38px;height:38px;border-radius:9px;background:var(--accent-subtle);color:var(--accent-hover);display:flex;align-items:center;justify-content:center;flex:none;font-size:17px}.lp-feat h3{font-size:15px;margin:0;font-weight:700;color:var(--text2)}.lp-feat p{font-size:13.5px;color:var(--muted);line-height:1.6;margin:0}.lp-tt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 900px){.lp-tt-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.lp-tt-grid{grid-template-columns:1fr}}.lp-tt-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;transition:box-shadow .2s}.lp-tt-card:hover{box-shadow:0 8px 24px #101e351a}.lp-tt-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.lp-tt-icon{width:38px;height:38px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.lp-tt-head h3{font-size:15px;margin:0;font-weight:700;color:var(--text2)}.lp-tt-card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 14px}.lp-tt-tags{display:flex;flex-wrap:wrap;gap:6px}.lp-tt-tag{font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}@media (max-width: 820px){.lp-steps{grid-template-columns:1fr}}.lp-step{display:flex;flex-direction:column;gap:12px}.lp-step-num{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--lp-gold-ink);background:var(--lp-gold-soft);width:-moz-fit-content;width:fit-content;padding:3px 10px;border-radius:6px}.lp-step h3{font-size:18px;margin:0;font-weight:700;color:var(--text2)}.lp-step p{font-size:14px;color:var(--muted);line-height:1.65;margin:0}.lp-step-code{font-family:var(--font-mono);font-size:11.5px;color:#8592a8;background:var(--surface2);border-radius:6px;padding:8px 10px}.lp-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}@media (max-width: 900px){.lp-price-grid{grid-template-columns:1fr}}.lp-price-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:20px;position:relative}.lp-price-card.lp-pro{border-color:var(--accent);box-shadow:0 0 0 3px #1b6bff1f}.lp-price-tag{position:absolute;top:-12px;left:24px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:4px 11px;border-radius:999px;letter-spacing:.03em}.lp-price-name{font-size:16px;font-weight:700;color:var(--text2)}.lp-price-desc{font-size:13px;color:var(--muted)}.lp-price-amount{display:flex;align-items:baseline;gap:6px}.lp-price-amount b{font-size:32px;font-weight:700;color:var(--text2)}.lp-price-amount span{font-size:13px;color:var(--muted)}.lp-price-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;flex:1}.lp-price-list li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text2)}.lp-price-list li.lp-off{color:#8592a8}.lp-check{flex:none;margin-top:2px}.lp-price-note{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:center;font-size:12.5px;color:var(--muted)}.lp-faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.lp-faq-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.lp-faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14.5px;font-weight:600;color:var(--text2);font-family:var(--font-sans)}.lp-faq-q svg{transition:transform .18s;flex:none;color:var(--muted)}.lp-faq-item.lp-open .lp-faq-q svg{transform:rotate(180deg)}.lp-faq-a{max-height:0;overflow:hidden;transition:max-height .22s ease}.lp-faq-item.lp-open .lp-faq-a{max-height:200px}.lp-faq-a-in{padding:0 18px 16px;font-size:13.5px;color:var(--muted);line-height:1.65}.lp-cta{background:var(--brand-ink);color:#fff;text-align:center}.lp-cta h2{color:#fff;font-size:clamp(26px,3.6vw,38px);margin-bottom:16px;font-weight:700}.lp-cta p{color:#aebbd4;font-size:15.5px;margin-bottom:30px;max-width:520px;margin-inline:auto}.lp-footer{background:var(--brand-ink-deep);color:#8fa2be;padding-block:72px 32px}.lp-foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:40px;margin-bottom:56px}@media (max-width: 900px){.lp-foot-top{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.lp-foot-top{grid-template-columns:1fr}}.lp-foot-brand-col p{font-size:14px;line-height:1.65;max-width:300px;margin:16px 0 20px}.lp-foot-social{display:flex;gap:14px}.lp-foot-social a{color:#7c8ea8;display:flex}.lp-foot-social a:hover{color:#fff}.lp-foot-col h4{color:#fff;font-size:14px;font-weight:600;margin:0 0 18px}.lp-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.lp-foot-col a,.lp-foot-col button{font-size:13px;color:#8fa2be;text-decoration:none;background:none;border:none;padding:0;text-align:left;cursor:pointer;font-family:var(--font-sans)}.lp-foot-col a:hover,.lp-foot-col button:hover{color:#fff}.lp-foot-newsletter p{font-size:13.5px;margin:10px 0 16px;max-width:280px}.lp-foot-newsletter-form{display:flex;gap:8px}.lp-foot-newsletter-form input{flex:1;min-width:0;background:#0f1c31;border:1px solid #223049;border-radius:8px;padding:9px 12px;color:#fff;font-family:var(--font-sans);font-size:13px;outline:none}.lp-foot-newsletter-form input::-moz-placeholder{color:#5c6b85}.lp-foot-newsletter-form input::placeholder{color:#5c6b85}.lp-foot-newsletter-form button.lp-send{background:var(--lp-gold);color:#fff;border:none;border-radius:8px;padding:0 14px;cursor:pointer;flex:none}.lp-foot-bottom{border-top:1px solid #1D2A3F;padding-top:28px;display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;align-items:center;font-size:12.5px}.lp-foot-legal{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.lp-foot-legal a{color:#8fa2be;text-decoration:none}.lp-foot-legal a:hover{color:#fff}.lp-foot-meta{display:flex;gap:18px;align-items:center}.lp-foot-meta span{display:flex;align-items:center;gap:6px}.lp-mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--text2)}@media (max-width: 760px){.lp-mobile-menu-btn{display:flex}}.lp-mobile-menu{border-top:1px solid var(--border);padding:16px 24px;display:flex;flex-direction:column;gap:16px;background:var(--surface)}.lp-mobile-menu a,.lp-mobile-menu button{color:var(--text2);text-decoration:none;font-size:15px;font-weight:500;background:none;border:none;padding:0;text-align:left;cursor:pointer;font-family:var(--font-sans)}.app-shell{display:flex;height:100vh;background:var(--bg);overflow:hidden}.app-sidebar{width:252px;background:var(--brand-ink-deep);border-right:1px solid #16243C;display:flex;flex-direction:column;flex-shrink:0;transition:width var(--ease-normal);overflow:hidden;z-index:10}.app-sidebar.collapsed{width:68px}.sb-logo{display:flex;align-items:center;gap:10px;padding:14px 12px;border-bottom:1px solid #16243C}.sb-logo-icon{width:32px;height:32px;flex-shrink:0;background:var(--accent);border-radius:var(--r-8);display:flex;align-items:center;justify-content:center}.sb-logo-title{font-size:13.5px;font-weight:700;color:#fff;letter-spacing:-.01em}.sb-logo-sub{font-family:var(--font-mono);font-size:8.5px;color:#7c8ea8;font-weight:500;text-transform:uppercase;letter-spacing:.18em}.sb-nav{flex:1;padding:8px 8px 14px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.sb-nav-item{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:8px 9px;border-radius:var(--r-6);border:none;background:none;color:#bfcce0;font-size:12.5px;font-weight:400;cursor:pointer;text-align:left;transition:background var(--ease-fast);white-space:nowrap}.sb-nav-item:hover{color:#fff;background:#16243c}.sb-nav-item.active{background:#16305c;color:#fff;font-weight:600}.sb-nav-item.active svg{color:#fff}.sb-nav-badge{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:999px;background:#1b2b44;color:#bfcce0}.sb-nav-badge.danger{background:#7a1f1f;color:#ffd4d4}.sb-nav-badge.live{background:#2b2a6b;color:#cfcbff}.sb-quota{margin:0 8px 4px;padding:10px 11px;border-radius:var(--r-8);background:#101e35;border:1px solid #223049;display:flex;flex-direction:column;gap:7px}.sb-quota-label{display:flex;align-items:baseline;justify-content:space-between;font-size:11px;color:#bfcce0}.sb-quota-label strong{font-family:var(--font-mono);color:#fff;font-weight:600}.sb-quota-track{height:5px;border-radius:3px;background:#1b2b44;overflow:hidden;display:block}.sb-quota-fill{display:block;height:5px;border-radius:3px;background:var(--accent)}.sb-quota-fill.sb-quota-full{background:var(--danger)}.sb-quota-cta{display:flex;align-items:center;justify-content:center;gap:6px;height:28px;border-radius:var(--r-6);border:none;background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:11.5px;font-weight:600;cursor:pointer}.sb-quota-cta:hover{background:var(--accent-hover)}.sb-bottom{border-top:1px solid #16243C;padding:11px 12px;display:flex;flex-direction:column;gap:10px}.sb-collapse-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-6);border:none;background:transparent;color:#8fa2be;cursor:pointer;transition:background var(--ease-fast)}.sb-collapse-btn:hover{background:#16243c;color:#fff}.sb-user{display:flex;align-items:center;gap:9px;padding:6px;border-radius:var(--r-8);transition:background var(--ease-fast)}.sb-user:hover{background:var(--surface2)}.sb-user-avatar{width:28px;height:28px;flex-shrink:0;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff}.sb-user-info{flex:1;min-width:0}.sb-user-name{font-size:12.5px;font-weight:600;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user-role{font-size:10.5px;color:var(--muted);font-weight:500}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px;flex-wrap:wrap}.app-topbar-search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;border-radius:var(--r-6);background:var(--surface);border:1px solid var(--border2);padding:7px 10px;transition:border-color var(--ease-fast)}.app-topbar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.app-topbar-search input{border:none;outline:none;background:transparent;width:100%;font-size:12.5px;color:var(--text2)}.app-topbar-search svg{color:var(--n-400)}.app-bell{position:relative;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer}.app-bell-badge{position:absolute;top:-6px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;border:2px solid var(--surface);font-family:var(--font-mono);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center}.app-topbar-search-kbd{font-family:var(--font-mono);font-size:10px;color:var(--muted);border:1px solid var(--border2);border-radius:4px;padding:1px 5px;flex:none}.app-page-title{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--text2)}.app-topbar-left{min-width:0;flex:1 1 auto}.app-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;gap:6px;min-width:0}.app-content{flex:1;overflow-y:auto;padding:0 18px 24px}.dash-layout{display:grid;grid-template-columns:1fr 320px;gap:24px}.dash-main{display:flex;flex-direction:column;gap:24px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}.dash-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:14px;display:flex;flex-direction:column;gap:7px}.dash-kpi-icon{display:none}.dash-kpi-body{display:flex;flex-direction:column;gap:2px}.dash-kpi-label{font-size:10.5px;font-weight:600;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.dash-kpi-value{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text2)}.dash-right-rail{display:flex;flex-direction:column;gap:24px}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:16px}.dash-card-title{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:12px}.dash-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.dash-calendar-grid span{font-size:12px;font-weight:600;color:var(--muted);padding:8px 0;border-radius:10px}.dash-calendar-grid .dow{color:var(--text);font-weight:800}.dash-calendar-grid .active-day{background:var(--accent);color:#fff;box-shadow:0 4px 12px #007aff4d}.dash-activity-list{display:flex;flex-direction:column;gap:12px}.dash-activity-item{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--bg);transition:all .2s}.dash-activity-item:hover{background:#fff;box-shadow:var(--shadow-sm)}.dash-activity-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px}.dash-chart-container{background:#fff;border-radius:var(--radius2);padding:24px;box-shadow:var(--shadow)}.table-card{background:#fff;border-radius:var(--radius2);padding:24px;box-shadow:var(--shadow);overflow:hidden}th{text-align:left;padding:16px;font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:1px;border-bottom:1px solid var(--border)}td{padding:16px;font-size:14px;color:var(--text);border-bottom:1px solid var(--bg)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.badge{padding:6px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase}.badge-pass{background:#34c7591a;color:var(--success)}.badge-fail{background:#ff3b301a;color:var(--danger)}.badge-pending{background:#ff95001a;color:var(--warn)}.badge-block{background:#8e8e931a;color:var(--muted)}.badge-p1{background:#ff3b301a;color:var(--danger)}.badge-p2{background:#ff95001a;color:var(--warn)}.badge-p3{background:#007aff1a;color:var(--accent)}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;padding:8px 0}.market-card{position:relative;background:var(--surface);border-radius:28px;padding:32px;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:240px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.market-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent)}.market-badge{position:absolute;top:24px;left:32px;padding:4px 12px;border-radius:20px;background:#6366f11a;color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.market-content{display:grid;grid-template-columns:1fr 120px;gap:24px;margin-top:32px;align-items:center}.market-info{display:flex;flex-direction:column;gap:12px}.market-title-wrap{display:flex;align-items:center;gap:12px}.market-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000000d}.market-title{font-size:18px;font-weight:800;color:var(--text);margin:0}.market-desc{font-size:13px;color:var(--muted);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.market-btn{margin-top:8px;width:-moz-fit-content;width:fit-content;padding:10px 24px;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;border:none;cursor:pointer;transition:all .2s}.market-btn:hover{background:var(--accent2);transform:scale(1.02)}.market-illustration{position:relative;height:100px;display:flex;align-items:center;justify-content:center}.market-illus-circle{width:64px;height:64px;border-radius:50%;border:4px solid #fff;box-shadow:0 8px 24px #0000001a;background:#f8fafc;overflow:hidden;position:absolute}.market-illus-circle img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.market-card.locked{background:#fcfcfc;opacity:.8}.market-card.locked .market-badge{background:#f1f5f9;color:#64748b}.runner-root{max-width:1200px;margin:0 auto;animation:fadeInUp .5s ease-out}.runner-header{margin-bottom:32px}.runner-title{font-size:28px;font-weight:900;color:var(--text);letter-spacing:-.02em}.runner-sub{font-size:15px;color:var(--muted);margin-top:4px}.runner-search-wrap{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:0 20px;height:56px;margin-bottom:32px;transition:all .2s}.runner-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #6366f11a}.runner-search{flex:1;border:none;outline:none;font-size:15px;font-weight:600;color:var(--text)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dash-kpi,.dash-card,.table-card,.dash-chart-container{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) both}.dash-kpi:nth-child(1){animation-delay:.1s}.dash-kpi:nth-child(2){animation-delay:.2s}.dash-kpi:nth-child(3){animation-delay:.3s}.sb-nav-item,.clickable-row,.sb-collapse-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border2)}.cockpit{display:flex;flex-direction:column;height:100%;min-height:600px;background:var(--surface);border-radius:var(--radius2);overflow:hidden;box-shadow:0 1px 3px #101e350f;border:1px solid var(--border)}.cockpit-envbar{padding:13px 18px;background:#f9fafc;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;position:relative}.cockpit-env-toggle{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:7px 12px;color:var(--text2);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s;width:100%;font-family:var(--font-sans)}.cockpit-env-toggle:hover{background:#f7f8fa;border-color:var(--border2)}.cockpit-env-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:1}.env-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:5px;background:#f0f4fa;border:1px solid #DDE4EE;color:var(--text);font-family:var(--font-mono);font-size:10.5px;font-weight:500}.cockpit-env-panel{position:absolute;top:calc(100% + 6px);left:18px;right:18px;z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);box-shadow:0 12px 28px #101e352e;padding:16px;display:flex;flex-direction:column;gap:16px;max-height:60vh;overflow-y:auto}.env-section{display:flex;flex-direction:column;gap:8px}.env-section-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#404c64}.env-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.env-device-col{display:flex;flex-direction:column;gap:5px}.env-device-cat{font-size:10.5px;font-weight:600;color:var(--muted);margin-bottom:2px}.env-device-btn{display:flex;flex-direction:column;gap:1px;text-align:left;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.env-device-btn:hover{background:#f7f8fa}.env-device-btn.active{border-color:var(--accent);background:var(--accent-subtle)}.env-device-name{font-size:12px;font-weight:600;color:var(--text2)}.env-device-detail{font-size:10.5px;color:var(--muted)}.env-device-vp{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.env-network-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.env-network-btn{text-align:left;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-family:inherit;transition:background .15s}.env-network-btn:hover{background:#f7f8fa}.env-net-label{font-size:12px;font-weight:600;color:var(--text2)}.env-net-speed,.env-net-latency{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.env-locale-grid{display:flex;flex-wrap:wrap;gap:7px}.env-locale-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:12px;color:var(--text2);cursor:pointer;font-family:inherit}.env-locale-btn.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-hover);font-weight:600}.env-session-delete{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:1px solid #E8CFCF;background:var(--surface);color:var(--danger);font-size:11px;font-weight:600;padding:5px 10px;border-radius:var(--radius);cursor:pointer}.env-session-delete:hover{background:#fdf5f5}.cockpit-run-bar{padding:13px 18px;background:var(--surface);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.cockpit-url-input{width:100%;box-sizing:border-box;height:34px;padding:0 12px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text2);font-family:var(--font-mono);font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s}.cockpit-url-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.cockpit-video-btn{height:34px;padding:0 12px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.cockpit-video-btn:hover{background:#f7f8fa}.cockpit-video-btn.active{border-color:var(--danger);background:#fbe9e9;color:var(--danger)}.cockpit-run-btn{display:flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius);height:34px;padding:0 16px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.cockpit-run-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.cockpit-run-btn.running{background:var(--muted);border-color:var(--muted);cursor:wait}.cockpit-run-btn .spin{animation:spin 1s linear infinite}.cockpit-tabs-bar{display:flex;flex-direction:column;flex:1;min-height:0}.cockpit-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:0 14px;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;justify-content:space-between}.cockpit-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 11px;border:none;border-bottom:2px solid transparent;background:transparent;font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap}.cockpit-tab.active{color:var(--text2);font-weight:600;border-bottom-color:var(--accent)}.cockpit-tab-live{font-family:var(--font-mono);font-size:9px;font-weight:700;padding:1px 6px;border-radius:999px;background:#e8f5ee;color:#12613f}.cockpit-tab-badge{font-family:var(--font-mono);font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--surface2);color:var(--text2)}.cockpit-tabs-actions{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);background:#f9fafc}.ct-copy{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);font-size:11px;font-weight:600;padding:5px 10px;border-radius:var(--r-6);cursor:pointer}.ct-copy:hover{background:#f7f8fa}.cockpit-split{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,1fr);flex:1;min-height:0}.cockpit-split-left{border-right:1px solid var(--border);min-width:0;display:flex;flex-direction:column;min-height:0}.cockpit-split-right{min-width:0;display:flex;background:#f9fafc;padding:14px}@media (max-width: 860px){.cockpit-split{grid-template-columns:1fr}.cockpit-split-left{border-right:none;border-bottom:1px solid var(--border)}}.ct-body{flex:1;padding:12px 14px;font-family:var(--font-mono);font-size:11.5px;line-height:1.8;color:#c6d2e4;overflow-y:auto;background:#0b1729;min-height:300px}.ct-empty{color:#6b7b96;font-family:var(--font-sans);font-size:12px}.ct-line{margin-bottom:2px;display:flex;gap:10px}.ct-time{color:#6b7b96;flex-shrink:0}.ct-msg{word-break:break-word;color:#c6d2e4}.ct-line.info .ct-msg{color:#c6d2e4}.ct-line.error .ct-msg{color:#ff8b8b}.ct-line.success .ct-msg{color:#8fe3b8}.ct-line.warning .ct-msg{color:#f0c070}.ct-footer{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid #1B2B44;background:#0b1729;flex-shrink:0}.ct-progress-track{flex:1;height:6px;border-radius:3px;background:#1b2b44;overflow:hidden}.ct-progress-fill{height:6px;border-radius:3px;background:var(--accent);transition:width .3s}.ct-pct{font-family:var(--font-mono);font-size:11px;font-weight:600;color:#c6d2e4;flex-shrink:0}.ct-script-panel{background:#0b1729}.ct-script-hint{padding:8px 14px;border-top:1px solid #1B2B44;background:#0b1729;font-family:var(--font-mono);font-size:10.5px;color:#6b7b96}.cockpit-history-panel{flex:1;display:flex;flex-direction:column;min-height:300px;overflow-y:auto;background:var(--surface)}.ct-history-entry{border-bottom:1px solid var(--border)}.ct-history-header{display:flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer;transition:background .1s}.ct-history-header:hover{background:#f7faff}.ct-history-status{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px;flex-shrink:0}.ct-history-status.pass{color:#12613f;background:#e8f5ee}.ct-history-status.fail{color:#9b2020;background:#fbe9e9}.ct-history-title{flex:1;font-size:12px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-history-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);white-space:nowrap}.ct-history-del{background:none;border:none;color:var(--muted);cursor:pointer;padding:3px 4px;border-radius:var(--r-6);display:flex;align-items:center}.ct-history-del:hover{color:var(--danger);background:#fdf5f5}.ct-history-detail{padding:8px 14px 12px;background:#f9fafc}.ct-history-env{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);margin-bottom:6px}.ct-history-stats{display:flex;gap:12px;font-size:11px;color:var(--text2);margin-bottom:8px}.ct-history-screenshot{width:100%;max-height:160px;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface2)}.env-session-select{width:100%;height:32px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border2);background:var(--surface);font-size:12px;color:var(--text2);cursor:pointer;outline:none}.env-session-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.env-session-input{flex:1;height:32px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border2);background:var(--surface);font-size:12px;color:var(--text2);outline:none}.env-session-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.tt-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;margin:0 14px 14px}.tt-header{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#f9fafc;border-bottom:1px solid var(--border)}.tt-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#404c64}.tt-count{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);background:var(--surface2);border-radius:var(--r-6);padding:1px 7px}.tt-nav{background:var(--surface);border:1px solid var(--border2);border-radius:var(--r-6);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:3px 6px}.tt-nav:hover:not(:disabled){background:#f7f8fa}.tt-nav:disabled{opacity:.35;cursor:default}.tt-timeline{display:flex;gap:5px;padding:10px 14px;overflow-x:auto;flex-wrap:nowrap}.tt-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-6);padding:6px 8px;cursor:pointer;min-width:54px;transition:border-color .15s,background .15s;flex-shrink:0}.tt-step:hover{border-color:var(--accent);background:var(--accent-subtle)}.tt-step.selected{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 0 2px #7fa9ff59}.tt-step.failed{border-color:#f0cfcf;background:#fdf5f5}.tt-step.healed{border-color:#f5e1be;background:#fdfaf3}.tt-step-action{font-family:var(--font-mono);font-size:8.5px;font-weight:600;color:var(--muted);text-align:center;line-height:1.2;word-break:break-all;max-width:48px}.tt-step.selected .tt-step-action{color:var(--accent-hover)}.tt-step.failed .tt-step-action{color:#9b2020}.tt-step.healed .tt-step-action{color:#8a5300}.tt-step-num{font-family:var(--font-mono);font-size:9px;color:var(--muted)}.tt-heal-badge{position:absolute;top:-4px;right:-4px;background:#b26a00;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff}.tt-heal-badge:hover{background:#8a5300}.tt-viewer{padding:10px 14px;border-top:1px solid var(--border)}.tt-viewer-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tt-heal-detail-btn{display:flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-6);border:1px solid #F5E1BE;background:#fdfaf3;color:#8a5300;font-size:10.5px;font-weight:600;cursor:pointer;margin-left:auto}.tt-heal-detail-btn:hover{background:#fdf1df}.tt-viewer-img{width:100%;max-height:220px;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface2);display:block}.cockpit-preview{display:flex;flex-direction:column;gap:10px;width:100%}.cp-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.cp-address{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-device-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);flex-shrink:0}.cp-stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:260px}.cp-empty,.cp-screen-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.cp-desktop-shell{display:flex;flex-direction:column;width:100%;max-width:460px}.cp-desktop-bar{display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--surface2);border:1px solid var(--border);border-bottom:none;border-radius:var(--r-8) var(--r-8) 0 0}.cp-dot{width:8px;height:8px;border-radius:50%}.cp-desktop-url{margin-left:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-desktop-screen{position:relative;width:100%;background:var(--surface);border:1px solid var(--border);overflow:hidden}.cp-desktop-stand{height:6px;margin:0 auto;width:40%;background:var(--border);border-radius:0 0 4px 4px}.cp-phone-shell,.cp-tablet-shell{display:flex;flex-direction:column;align-items:center;background:var(--brand-ink);border-radius:22px;padding:8px;max-width:240px}.cp-phone-top{display:flex;justify-content:center;padding:4px 0}.cp-phone-notch{width:50px;height:5px;border-radius:3px;background:#1b2b44}.cp-phone-screen,.cp-tablet-screen{position:relative;width:100%;background:var(--surface);border-radius:10px;overflow:hidden}.cp-phone-bottom{display:flex;justify-content:center;padding:6px 0 2px}.cp-phone-home{width:60px;height:3px;border-radius:2px;background:#1b2b44}.cp-tablet-cam{align-self:center;width:5px;height:5px;border-radius:50%;background:#1b2b44;margin-bottom:6px}.cp-tablet-btn{width:24px;height:24px;border-radius:50%;border:1px solid #1B2B44;margin-top:6px}.cp-live-badge{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:#0b1729b8;color:#8fe3b8;font-family:var(--font-mono);font-size:9.5px;font-weight:600}.exec-panel{display:flex;flex-direction:column;gap:0;flex:1;overflow:hidden}.exec-tool-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:20px 24px 16px;background:#fcfcfd;border-bottom:1px solid var(--border)}.exec-tool-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;border:2px solid #f1f5f9;border-radius:18px;background:#fff;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;font-family:inherit}.exec-tool-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000012;border-color:#e2e8f0}.exec-tool-card.active{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.exec-tool-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center}.exec-tool-label{font-size:12px;font-weight:800;color:var(--text);text-align:center;line-height:1.2}.exec-tool-desc{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.exec-tool-dot{position:absolute;bottom:-1px;left:50%;transform:translate(-50%) translateY(50%);width:8px;height:8px;border-radius:50%;border:2px solid #fcfcfd}.exec-context-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#f8fafc;border-bottom:1px solid var(--border);gap:16px}.exec-context-info{display:flex;align-items:center;gap:10px;min-width:0}.exec-context-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.exec-context-url{font-family:Fira Code,monospace;font-size:12px;color:var(--accent);background:#6366f10f;padding:4px 10px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.exec-launch-btn{display:flex;align-items:center;gap:8px;padding:9px 20px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer;transition:all .2s;flex-shrink:0;font-family:inherit}.exec-launch-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.exec-content-area{flex:1;overflow-y:auto;padding:24px;min-height:0}.qa-tpl-card{text-align:left;border:1px solid var(--border);background:#fff;border-radius:var(--r-12);padding:13px;display:flex;flex-direction:column;gap:8px;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.qa-tpl-card:hover{border-color:var(--accent)}.qa-tpl-card-selected{border-color:var(--accent);background:#f7faff;box-shadow:0 0 0 3px #7fa9ff4d}.qa-tpl-icon{width:28px;height:28px;border-radius:var(--r-6);background:#f0f2f6;display:flex;align-items:center;justify-content:center;color:#404c64}.qa-tpl-card-selected .qa-tpl-icon{background:var(--accent-subtle);color:var(--accent-hover)}.qa-tpl-name{font-size:13px;font-weight:600;color:var(--text2)}.qa-tpl-desc{font-size:11.5px;line-height:1.5;color:var(--muted)}.qa-tpl-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}.qa-tpl-tag{font-family:var(--font-mono);font-size:9.5px;padding:2px 6px;border-radius:var(--r-4);background:#f0f2f6;color:#404c64}.qa-sec-row{display:flex;align-items:center;gap:10px;border:none;background:transparent;padding:0;cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans)}.qa-sec-row:disabled{cursor:not-allowed;opacity:.55}.qa-sec-label{font-size:12.5px;color:var(--text2);flex:1 1 auto;min-width:0}.qa-a4-wrap{padding:18px;background:#f7f8fa;display:flex;justify-content:center}.qa-a4-page{width:100%;max-width:560px;background:#fff;border:1px solid var(--border);border-radius:var(--r-8);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-md)}.qa-a4-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #EDF0F5;padding-bottom:14px}.qa-a4-title{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text2)}.qa-a4-subtitle{font-size:11.5px;color:var(--muted)}.qa-a4-mark{width:26px;height:26px;-o-object-fit:contain;object-fit:contain;flex:none}.qa-a4-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}.qa-a4-kpi{display:flex;flex-direction:column;gap:3px;border:1px solid #EDF0F5;border-radius:var(--r-8);padding:10px}.qa-a4-kpi-label{font-size:9.5px;font-weight:600;letter-spacing:.05em;color:var(--muted)}.qa-a4-kpi-value{font-size:18px;font-weight:600}.qa-a4-section{display:flex;flex-direction:column;gap:9px}.qa-a4-section-title{font-size:12px;font-weight:600;color:var(--text2)}.qa-a4-section-body{font-size:12px;line-height:1.65;color:#404c64}.qa-a4-suite-row{display:flex;align-items:center;gap:10px}.qa-a4-suite-name{font-size:11.5px;flex:1 1 130px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#2c3a52}.qa-a4-suite-track{flex:2 1 120px;height:6px;border-radius:3px;background:#e8ecf3;overflow:hidden;display:block}.qa-a4-suite-fill{display:block;height:6px;border-radius:3px}.qa-a4-suite-pct{font-family:var(--font-mono);font-size:11px;font-weight:600;width:40px;text-align:right}.qa-a4-defect{display:flex;align-items:center;gap:9px;border:1px solid #EDF0F5;border-radius:var(--r-6);padding:8px 10px}.qa-a4-defect-id{font-family:var(--font-mono);font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--r-4);background:var(--status-failed-bg);color:var(--status-failed-fg);flex:none}.qa-a4-defect-title{font-size:11.5px;color:#2c3a52;flex:1 1 auto;min-width:0}.qa-a4-footer{border-top:1px solid #EDF0F5;padding-top:12px;display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:#8592a8}.qa-a4-empty{font-size:11.5px;color:var(--muted);font-style:italic}.qa-histogram{display:flex;align-items:flex-end;gap:5px;height:140px}.qa-histogram-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;height:100%}.qa-histogram-fail{border-radius:3px 3px 0 0;display:block;background:var(--danger)}.qa-histogram-pass{border-radius:0 0 3px 3px;display:block;background:var(--accent)}.qa-histogram-day{font-family:var(--font-mono);font-size:8.5px;color:#8592a8;text-align:center}.qa-spark-fill{fill:#1b6bff1f}.qa-metric-row{display:flex;align-items:center;gap:10px}.qa-metric-label{font-size:12px;flex:1 1 auto;min-width:0;color:#2c3a52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-metric-value{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:#404c64;flex:none}.qa-metric-track{flex:2 1 100px;height:6px;border-radius:3px;background:#e8ecf3;overflow:hidden;display:block}.qa-metric-fill{display:block;height:6px;border-radius:3px;background:var(--accent)}.qa-metric-avatar{width:24px;height:24px;flex:none;border-radius:50%;background:#edf0f5;color:#404c64;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:600}.auth-shell{display:grid;grid-template-columns:minmax(320px,45%) 1fr;width:100%;min-height:100vh;background:#fff}.auth-left{background:var(--brand-ink-deep);padding:48px clamp(32px,6vw,72px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-width:0}.auth-right{padding:48px 32px;display:flex;align-items:center;justify-content:center;min-width:0}.auth-shell .auth-input-wrap{position:relative;display:flex;align-items:center}.auth-shell .auth-input{width:100%;box-sizing:border-box;height:40px;padding:0 12px;border:1px solid var(--border2);border-radius:var(--radius);font-family:var(--font-sans);font-size:13.5px;color:var(--text2);outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}.auth-shell .auth-input-wrap .auth-input{padding-right:40px}.auth-shell .auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.auth-shell .auth-input::-moz-placeholder{color:var(--muted)}.auth-shell .auth-input::placeholder{color:var(--muted)}.auth-shell .auth-input-error{border-color:var(--danger)!important}.auth-link{border:none;background:transparent;padding:0;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--accent-hover);cursor:pointer}.auth-btn-primary{height:42px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:13.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:background .15s,border-color .15s;width:100%}.auth-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-sso-btn{width:100%;height:auto;min-height:40px;padding:8px 14px;flex-wrap:wrap;row-gap:4px;position:relative}.auth-sso-btn:disabled{cursor:not-allowed;opacity:.7}.auth-sso-icon{width:16px;height:16px;border-radius:4px;background:var(--brand-ink);display:block;flex:none}.auth-sso-soon{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.03em;padding:2px 7px;border-radius:999px;background:var(--n-100);color:var(--muted);text-transform:uppercase;white-space:nowrap}.auth-divider{display:flex;align-items:center;gap:10px}.auth-divider-line{flex:1 1 auto;height:1px;background:var(--border);display:block}.auth-divider-label{font-size:11px;color:var(--muted)}.auth-chip{height:32px;padding:0 11px;border-radius:var(--r-6);background:#fff;border:1px solid var(--border2);font-family:var(--font-sans);font-size:12px;font-weight:400;color:#404c64;cursor:pointer}.auth-chip-active{border-color:var(--accent);background:var(--accent-subtle);font-weight:600;color:var(--accent-hover)}@media (max-width: 860px){.auth-left{display:none!important}.auth-shell{grid-template-columns:1fr!important}}@keyframes runner-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes runner-blink{0%,to{opacity:1}50%{opacity:0}}.runner-market-card{position:relative;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.runner-market-card.locked{cursor:not-allowed;opacity:.85}.runner-market-icon{width:40px;height:40px;border-radius:var(--r-8);display:flex;align-items:center;justify-content:center;flex:none}.runner-exec-header{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.runner-exec-identity{display:flex;align-items:center;gap:12px;min-width:0}.runner-status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600}.runner-status-dot{width:7px;height:7px;border-radius:50%;display:block}.runner-status-dot-live{animation:runner-pulse 1.4s ease-in-out infinite}.runner-timer{font-family:var(--font-mono);font-size:16px;font-weight:600;letter-spacing:-.01em}.runner-timer-label{font-size:10.5px;color:var(--muted)}.runner-progress-bar{height:8px;border-radius:4px;background:#e8ecf3;overflow:hidden;display:flex}.runner-progress-seg-passed{display:block;height:8px;background:var(--success)}.runner-progress-seg-failed{display:block;height:8px;background:var(--danger)}.runner-progress-seg-running{display:block;height:8px;background:var(--running)}.runner-progress-seg-skipped{display:block;height:8px;background:var(--skipped)}.runner-timeline{display:flex;flex-direction:column;padding:6px 0;max-height:420px;overflow-y:auto}.runner-timeline-step{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;border:none;border-left:2px solid transparent;background:transparent;text-align:left;cursor:pointer;font-family:inherit;width:100%}.runner-timeline-step:hover{background:#f7faff}.runner-timeline-step-selected{border-left-color:var(--accent);background:#f7faff}.runner-timeline-dot{width:20px;height:20px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center}.runner-timeline-label{font-size:12.5px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runner-timeline-detail{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runner-timeline-ms{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);flex:none}.runner-console{background:#0b1729;padding:12px 14px;font-family:var(--font-mono);font-size:11.5px;line-height:1.8;color:#c6d2e4;overflow:auto}.runner-console-line{display:flex;gap:10px}.runner-console-time{color:#6b7b96;flex:none}.runner-console-level{flex:none;width:40px;font-weight:600}.runner-console-level-info{color:#6fa8ff}.runner-console-level-step{color:#8fe3b8}.runner-console-level-warn{color:#f0c070}.runner-console-level-fail{color:#ff8b8b}.runner-console-msg{word-break:break-word;color:#c6d2e4}.runner-console-msg-fail{color:#ffc9c9}.runner-console-cursor{width:7px;height:14px;background:#6fa8ff;display:block;animation:runner-blink 1s steps(2) infinite}.runner-console-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#5c6880}.runner-console-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);display:block;animation:runner-pulse 1.4s ease-in-out infinite}.runner-code{background:#0b1729;padding:13px 15px;font-family:var(--font-mono);font-size:11.5px;line-height:1.85;color:#c6d2e4;overflow:auto}.runner-code-line{display:flex;gap:12px}.runner-code-num{color:#44546e;flex:none;width:22px;text-align:right}.runner-scenario-step{border:1px solid var(--border);background:#fff;border-radius:9px;padding:9px 10px;display:flex;align-items:flex-start;gap:9px;cursor:grab;transition:border-color .15s,background .15s}.runner-scenario-step:hover{border-color:var(--accent)}.runner-scenario-step-selected{border-color:var(--accent);background:#f7faff}.runner-scenario-step-dragover{border-color:var(--accent);background:var(--accent-subtle)}.runner-scenario-grip{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none;padding-top:1px;color:#b4bdcc}.runner-scenario-num{font-family:var(--font-mono);font-size:9.5px;color:#8592a8}.runner-scenario-icon{width:24px;height:24px;flex:none;border-radius:6px;display:flex;align-items:center;justify-content:center}.runner-scenario-remove{width:24px;height:24px;flex:none;border:none;border-radius:6px;background:transparent;color:#b4bdcc;display:flex;align-items:center;justify-content:center;cursor:pointer}.runner-scenario-remove:hover{background:#f0f2f6;color:var(--danger)}.runner-scenario-add{height:36px;border:1px dashed #C3CCDA;border-radius:9px;background:transparent;font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.runner-scenario-add:hover{border-color:var(--accent);color:var(--accent-hover);background:#f7faff}.runner-lib-group-label{font-size:10.5px;font-weight:600;letter-spacing:.06em;color:#8592a8}.runner-lib-btn{height:30px;padding:0 10px;border:1px solid #D0D7E2;border-radius:7px;background:#fff;font-family:var(--font-mono);font-size:11px;color:#2c3a52;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s,background .15s,color .15s}.runner-lib-btn:hover:not(:disabled){border-color:var(--accent);background:#f7faff;color:var(--accent-hover)}.runner-lib-btn:disabled{opacity:.5;cursor:not-allowed}.at-strategy-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--r-8);border:1.5px solid var(--border2);background:#fff;font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.at-strategy-btn:hover{border-color:var(--n-400)}.at-strategy-btn-active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-hover)}.at-toggle-track{width:34px;height:19px;border-radius:999px;flex:none;position:relative;display:block;background:var(--n-300);transition:background .15s;border:none;padding:0;cursor:pointer}.at-toggle-track.at-toggle-on{background:var(--accent)}.at-toggle-thumb{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;display:block;transition:left .15s}.at-toggle-on .at-toggle-thumb{left:17px}.at-scenario-row{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid #F2F4F8}.at-scenario-row:last-child{border-bottom:none}.at-scenario-check{width:16px;height:16px;flex:none;margin-top:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;border:1.5px solid var(--n-400);background:#fff;padding:0}.at-scenario-check.at-scenario-check-on{border-color:var(--accent);background:var(--accent)}.at-tolerance-slider{width:140px;accent-color:var(--accent);cursor:pointer}.at-diff-half{height:130px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#edf0f5}.at-diff-half img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;cursor:zoom-in}.at-diff-tag{position:absolute;top:8px;left:8px;z-index:2;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:var(--r-4);background:#0b1729a6;color:#fff}.at-device-btn{text-align:left;font-family:var(--font-sans);border:1px solid var(--border2);background:#fff;border-radius:9px;padding:10px 11px;display:flex;align-items:center;gap:9px;cursor:pointer;transition:border-color .15s,background .15s}.at-device-btn:hover{border-color:var(--n-400)}.at-device-btn-active{border-color:var(--accent);background:var(--accent-subtle)}.at-device-btn:disabled{cursor:not-allowed;opacity:.6}.at-device-btn-check{width:16px;height:16px;flex:none;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;border:1.5px solid var(--n-400);background:#fff}.at-device-btn-check.at-device-btn-check-on{border-color:var(--accent);background:var(--accent)}.at-device-engine-tag{font-family:var(--font-mono);font-size:9px;font-weight:600;padding:2px 5px;border-radius:var(--r-4);flex:none;background:#f0f2f6;color:#404c64}.at-net-chip{height:30px;padding:0 10px;border-radius:var(--r-6);border:1px solid var(--border2);background:#fff;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--muted);cursor:pointer}.at-net-chip-active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-hover)}.at-result-row{padding:10px 14px;border-bottom:1px solid #F2F4F8;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.at-result-row:last-child{border-bottom:none}.at-empty{text-align:center;padding:64px 32px;background:var(--bg);border-radius:var(--r-16);border:2px dashed var(--border2)}.ap-tabbar-wrap{display:inline-flex;margin-bottom:var(--space-32)}.ap-add-card{border:1.5px dashed var(--border2);background:var(--n-50);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;cursor:pointer;transition:border-color .15s,background .15s}.ap-add-card:hover{border-color:var(--accent);background:var(--accent-subtle)}.ap-add-card-icon{width:52px;height:52px;border-radius:var(--r-12);background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.ap-kpi-accent{background:var(--accent);padding:24px;display:flex;flex-direction:column;gap:8px}.ap-kpi-accent-icon{width:40px;height:40px;border-radius:var(--r-8);background:#ffffff26;display:flex;align-items:center;justify-content:center}.ap-kpi-accent-value{font-size:40px;font-weight:700;color:#fff;line-height:1;margin-top:4px}.ap-user-avatar{width:44px;height:44px;border-radius:var(--r-12);background:var(--brand-ink);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.ap-stat-cell{text-align:center;padding:8px 4px;border-radius:var(--r-8)}.ap-stat-pass{background:var(--status-passed-bg);color:var(--status-passed-fg)}.ap-stat-fail{background:var(--status-failed-bg);color:var(--status-failed-fg)}.ap-stat-pending{background:var(--status-totest-bg);color:var(--status-totest-fg)}.ap-stat-total{background:var(--accent-subtle);color:var(--accent-hover)}.ap-stat-value{font-size:16px;font-weight:700}.ap-stat-label{font-size:9px;font-weight:700;opacity:.75;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.ap-project-icon{width:44px;height:44px;border-radius:var(--r-12);background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ap-stack-chip{font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--r-5);background:var(--brand-ink);color:#e9eef6;letter-spacing:.03em}.ap-run-icon{width:44px;height:44px;border-radius:var(--r-12);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ap-run-open{background:var(--accent-subtle);color:var(--accent-hover)}.ap-run-closed{background:var(--status-passed-bg);color:var(--status-passed-fg)}.ap-run-archived{background:var(--n-100);color:var(--muted)}.ap-run-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--r-6);flex-shrink:0}.ap-run-pill-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.ap-table-wrap{border:1px solid var(--border);border-radius:var(--r-12);overflow:hidden;background:#fff}.ap-bulkbar{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--n-50);flex-wrap:wrap;gap:10px}.ap-th{padding:11px 16px;text-align:left;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.ap-td{padding:12px 16px;border-bottom:1px solid var(--n-100);vertical-align:middle}.ap-row:hover{background:#f7faff}.ap-row-selected{background:var(--accent-subtle)}.pricing-modern{padding-bottom:60px;display:flex;flex-direction:column;gap:60px}.pricing-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.current-plan-badge{background:#fff;border:1px solid var(--border);padding:8px 16px;border-radius:100px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.pulse-dot{width:8px;height:8px;border-radius:50%;animation:qa-spin-pulse 2s infinite}@keyframes qa-spin-pulse{0%{box-shadow:0 0 #1b6bff66}70%{box-shadow:0 0 0 10px #1b6bff00}to{box-shadow:0 0 #1b6bff00}}.pricing-title{font-size:36px;font-weight:700;color:var(--text2);margin:0;letter-spacing:-.02em;line-height:1.15;max-width:700px}.pricing-title span{color:var(--accent)}.pricing-subtitle{color:var(--muted);font-size:16px;font-weight:500;max-width:600px;margin:0}.pricing-usage{width:100%;max-width:320px;display:flex;flex-direction:column;gap:6px}.pricing-usage-label{display:flex;align-items:baseline;justify-content:space-between;font-size:11.5px;color:var(--muted)}.pricing-usage-label strong{font-family:var(--font-mono);color:var(--text2);font-weight:600}.pricing-consumption{background:#fff;border:1px solid var(--border);border-radius:var(--r-12);padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;max-width:1200px;margin:-32px auto 0;width:100%}.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;width:100%}@media (max-width: 900px){.pricing-cards{grid-template-columns:1fr}}.pricing-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-16);padding:32px;display:flex;flex-direction:column;gap:24px;position:relative}.pricing-card.pro{background:var(--accent-subtle);border-color:var(--accent);box-shadow:0 0 0 3px #1b6bff2e}.pricing-card.current{border-color:var(--border2)}.popular-tag{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--accent);color:#fff;padding:6px 16px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px}.card-top{display:flex;flex-direction:column;gap:10px}.plan-icon{width:48px;height:48px;border-radius:var(--r-12);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.plan-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-current-tag{font-family:var(--font-mono);font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:var(--r-4);background:var(--n-100);color:var(--text2)}.plan-name{font-size:21px;font-weight:700;margin:0;color:var(--text2)}.plan-desc{font-size:13px;color:var(--muted);font-weight:500;margin:0;line-height:1.5}.card-price{display:flex;align-items:baseline;gap:4px}.price-currency{font-size:13px;font-weight:700;color:var(--muted)}.price-value{font-size:34px;font-weight:700;color:var(--text2);letter-spacing:-.02em}.price-period{font-size:13px;font-weight:600;color:var(--muted)}.plan-features{display:flex;flex-direction:column;gap:12px;flex-grow:1;border-top:1px solid var(--border);padding-top:20px}.feature-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;color:var(--text2);line-height:1.5}.feature-icon{width:18px;height:18px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center}.feature-icon.ok{color:var(--success)}.feature-icon.no{color:var(--n-400)}.feature-item.no{color:var(--muted)}.plan-cta{padding:14px;border-radius:var(--r-8);border:1px solid var(--border2);font-size:13.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);background:var(--n-50);color:var(--text2);transition:background .15s,border-color .15s}.pricing-card.pro .plan-cta{background:var(--accent);border-color:var(--accent);color:#fff}.pricing-card.pro .plan-cta:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.pricing-card:not(.pro) .plan-cta:not(:disabled):hover{background:#f7f8fa;border-color:var(--border2)}.plan-cta:disabled{cursor:default;opacity:.7}.payment-disclaimer{font-size:11px;color:var(--muted);text-align:center;margin:0;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600}.comparison-section{background:#fff;border:1px solid var(--border);border-radius:var(--r-16);padding:40px}.comparison-header{text-align:center;margin-bottom:32px}.comparison-header h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text2)}.comparison-header p{color:var(--muted);font-size:14px;font-weight:500;margin:0}.comparison-grid{display:flex;flex-direction:column}.comparison-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;padding:14px 0;border-bottom:1px solid var(--n-100);align-items:center}.comparison-row.header{border-bottom:2px solid var(--border);padding-bottom:16px;font-weight:700;font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.06em}.col-feature{padding-left:10px;font-weight:500;font-size:13px;color:var(--text2)}.col-plan{text-align:center;font-size:13px;font-weight:600;color:var(--muted)}.col-plan.highlight{color:var(--accent-hover)}.cell-check{display:flex;justify-content:center}.cell-check-circle{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.cell-value-pill{padding:3px 10px;border-radius:var(--r-6);font-size:12px;font-weight:700;display:inline-block}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:13px;line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.wrapper{position:relative;z-index:1;max-width:1600px;margin:0 auto;padding:0 24px 60px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--muted);font-family:var(--font-sans);font-size:13px;position:relative;z-index:1}.loading-spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:1}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);padding:36px 40px;width:100%;max-width:440px}.auth-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px}.auth-logo-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 20px #4f7cff59}.auth-logo-title{font-family:var(--font-ui);font-size:18px;font-weight:800;color:var(--text2)}.auth-logo-sub{font-size:11px;color:var(--muted)}.auth-tabs{display:flex;gap:4px;background:var(--surface);border-radius:var(--radius);padding:4px;margin-bottom:24px}.auth-tab{flex:1;background:none;border:none;border-radius:4px;padding:8px 12px;color:var(--muted);font-family:var(--font-sans);font-size:12px;cursor:pointer;transition:all .2s}.auth-tab.active{background:var(--card);color:var(--text2);border:1px solid var(--border)}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.auth-input-wrap{position:relative}.auth-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:13px;padding:10px 14px;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.auth-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center}.role-picker{display:flex;gap:8px}.role-btn{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-family:var(--font-sans);font-size:12px;padding:8px;cursor:pointer;transition:all .2s;text-align:center}.role-btn.active{background:#4f7cff1f;border-color:var(--accent);color:var(--accent)}.auth-error{background:#ff45601a;border:1px solid rgba(255,69,96,.3);border-radius:var(--radius);color:var(--danger);font-size:12px;padding:10px 14px}.auth-success{background:#00e0961a;border:1px solid rgba(0,224,150,.3);border-radius:var(--radius);color:var(--success);font-size:12px;padding:10px 14px}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:600;padding:12px;cursor:pointer;transition:background .15s,transform .1s}.auth-submit:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.auth-submit:active{transform:scale(.99)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-hint{text-align:center;font-size:12px;color:var(--muted);margin-top:20px}.auth-switch{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;font-family:var(--font-sans);text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;padding:28px 0 24px;border-bottom:1px solid var(--border);margin-bottom:32px;gap:16px;flex-wrap:wrap}.logo-block{display:flex;align-items:center;gap:14px}.logo-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 20px #4f7cff59}.logo-text{font-family:var(--font-ui)}.logo-title{font-size:18px;font-weight:800;color:var(--text2);letter-spacing:-.3px}.logo-sub{font-size:11px;color:var(--muted);font-family:var(--font-mono)}.header-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.badge-sprint{display:flex;gap:6px;align-items:center;background:#4f7cff1f;border:1px solid rgba(79,124,255,.3);border-radius:20px;padding:4px 12px;font-size:11px;color:var(--accent);font-weight:600}.badge-sprint:before{content:"●";font-size:8px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.clock{font-size:11px;color:var(--muted)}.header-user{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px}.user-avatar{width:26px;height:26px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.user-info{display:flex;flex-direction:column;gap:1px}.user-name{font-size:12px;color:var(--text2);font-weight:600}.user-role{font-size:10px;text-transform:uppercase;letter-spacing:1px}.user-role.admin{color:var(--accent)}.user-role.tester{color:var(--accent2)}.header-btn{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-family:var(--font-sans);font-size:12px;padding:7px 12px;cursor:pointer;transition:all .2s}.header-btn:hover{border-color:var(--accent);color:var(--accent)}.header-btn.active{background:#4f7cff1f;border-color:var(--accent);color:var(--accent)}.header-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.section-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-left:2px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:28px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);padding:20px 22px;position:relative;overflow:hidden;transition:border-color .2s}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.kpi.total:before{background:var(--accent)}.kpi.pass:before{background:var(--success)}.kpi.fail:before{background:var(--danger)}.kpi.pending:before{background:var(--warn)}.kpi.rate:before{background:var(--accent2)}.kpi:hover{border-color:var(--border2)}.kpi-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:10px}.kpi-value{font-family:var(--font-ui);font-size:38px;font-weight:800;line-height:1;letter-spacing:-2px;color:var(--text2)}.kpi.total .kpi-value{color:var(--accent)}.kpi.pass .kpi-value{color:var(--success)}.kpi.fail .kpi-value{color:var(--danger)}.kpi.pending .kpi-value{color:var(--warn)}.kpi.rate .kpi-value{color:var(--accent2)}.kpi-delta{font-size:11px;color:var(--muted);margin-top:6px}.kpi-icon{position:absolute;right:18px;top:18px;font-size:24px;opacity:.12}.progress-wrap{display:flex;align-items:center;gap:10px;margin-top:4px}.progress-bar{flex:1;height:6px;background:#e8ecf3;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .3s ease}.progress-pct{font-family:var(--font-mono);font-size:11px;color:var(--accent-hover);font-weight:600;white-space:nowrap}.charts-row{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:28px}@media (max-width: 800px){.charts-row{grid-template-columns:1fr}}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);padding:22px}.chart-title{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text2);margin-bottom:18px;display:flex;align-items:center;gap:8px}.chart-title:before{content:"";width:3px;height:14px;background:var(--accent);border-radius:2px;display:block}.filters-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);padding:18px 22px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.filter-input,.filter-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:12px;padding:7px 12px;outline:none;transition:border-color .2s;min-width:140px}.filter-input:focus,.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.filter-select option{background:var(--surface)}.btn-reset{background:#ff45601f;border:1px solid rgba(255,69,96,.3);border-radius:var(--radius);color:var(--danger);font-family:var(--font-sans);font-size:12px;padding:7px 16px;cursor:pointer;transition:all .2s;font-weight:600}.btn-reset:hover{background:#ff456038}.table-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden}.table-header{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.table-title{font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--text2);display:flex;align-items:center;gap:8px}.table-title:before{content:"";width:3px;height:14px;background:var(--accent2);border-radius:2px}.count-badge{background:var(--accent-subtle);border:1px solid #D0DFFA;border-radius:999px;padding:2px 10px;font-size:11px;color:var(--accent-hover);font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead tr{background:#f7f8fa;border-bottom:1px solid var(--border)}th{padding:9px 14px;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#404c64;font-weight:600;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}th:hover{color:var(--text2)}.sort-icon{margin-left:4px;opacity:.4}th.sorted .sort-icon{opacity:1;color:var(--accent)}tbody tr{border-bottom:1px solid var(--border);transition:background .15s}tbody tr:last-child{border-bottom:none}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row:hover{background:#f7faff}tbody tr.my-test{background:#00d4aa08}tbody tr.my-test:hover{background:#00d4aa14}td{padding:12px 14px;vertical-align:middle}.td-id{font-family:var(--font-mono);font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}.td-domain{font-size:11px;color:var(--muted)}.td-desc{color:var(--text);max-width:280px}.td-desc small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.td-assignee{color:var(--text);font-size:12px;white-space:nowrap}.td-sprint{color:var(--muted);font-size:11px;white-space:nowrap}.td-comment{color:var(--muted);font-size:11px;max-width:180px;font-style:italic}.td-empty{opacity:.35}.assignee-me{color:var(--accent2);font-weight:600}.unassigned{opacity:.35}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge-pass{background:#e8f5ee;color:#12613f;border:1px solid #C9E6D7}.badge-fail{background:#fbe9e9;color:#9b2020;border:1px solid #F0CFCF}.badge-pending{background:#f0f2f6;color:#404c64;border:1px solid #DDE2EA}.badge-block{background:#f9e9f2;color:#8a3563;border:1px solid #EFD0E1}.badge-p1{background:#fbe9e9;color:#9b2020;border:1px solid #F0CFCF}.badge-p2{background:#fdf1df;color:#8a5300;border:1px solid #F5E1BE}.badge-p3{background:#f0f2f6;color:#4a5770;border:1px solid #DDE2EA}.badge-crit{background:#fbe9e9;color:#9b2020;border:1px solid #F0CFCF}.badge-maj{background:#fdf1df;color:#8a5300;border:1px solid #F5E1BE}.badge-min{background:#e8f5ee;color:#12613f;border:1px solid #C9E6D7}.empty-state{padding:48px 24px;text-align:center;color:var(--muted)}.empty-icon{font-size:32px;margin-bottom:12px}.empty-state p{font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b17298c;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--card);border:none;border-radius:var(--radius2);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 28px #101e3547;animation:modal-in .2s cubic-bezier(.2,0,.3,1)}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(12px)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #EDF0F5;gap:16px}.modal-id{font-size:11px;color:var(--accent);font-weight:600;margin-bottom:4px}.modal-title{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--text2)}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;transition:color .2s;flex-shrink:0}.modal-close:hover{color:var(--text2)}.modal-meta{display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.meta-item{display:flex;align-items:center;gap:8px;font-size:12px}.meta-key{color:var(--muted)}.meta-val{color:var(--text2)}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.modal-field{display:flex;flex-direction:column;gap:8px}.modal-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.modal-notice{background:var(--accent-subtle);border:1px solid #D0DFFA;border-radius:var(--radius);padding:10px 14px;font-size:12px;color:var(--text2)}.status-picker{display:flex;flex-wrap:wrap;gap:8px}.status-btn{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-family:var(--font-sans);font-size:12px;padding:8px 14px;cursor:pointer;transition:all .2s}.status-btn:disabled{cursor:default;opacity:.5}.status-btn.badge-pass.active{background:#00e09626;border-color:var(--success);color:var(--success)}.status-btn.badge-fail.active{background:#ff456026;border-color:var(--danger);color:var(--danger)}.status-btn.badge-pending.active{background:#ff8c4226;border-color:var(--warn);color:var(--warn)}.status-btn.badge-block.active{background:#ff456033;border-color:#ff8fa3;color:#ff8fa3}.status-btn:not(:disabled):hover{border-color:var(--border2);color:var(--text2)}.modal-textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:12px;padding:10px 14px;outline:none;resize:vertical;transition:border-color .2s}.modal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7fa9ff80}.modal-textarea:disabled{opacity:.5;cursor:default}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid #EDF0F5;background:#f9fafc}.btn-cancel{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:12.5px;font-weight:600;height:36px;padding:0 13px;cursor:pointer;transition:background .15s}.btn-cancel:hover{background:#f7f8fa}.btn-save{display:flex;align-items:center;gap:6px;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:#fff;font-family:var(--font-sans);font-size:12px;font-weight:600;padding:8px 18px;cursor:pointer;transition:background .15s}.btn-save:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.admin-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;margin-bottom:28px}.admin-header{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--surface)}.admin-title{display:flex;align-items:center;gap:10px;font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--text2)}.admin-tabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:3px}.admin-tab{background:none;border:none;border-radius:4px;padding:6px 14px;color:var(--muted);font-family:var(--font-sans);font-size:12px;cursor:pointer;transition:all .2s}.admin-tab.active{background:#4f7cff26;color:var(--accent);border:1px solid rgba(79,124,255,.25)}.admin-filters{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.bulk-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px;background:#4f7cff0a}.bulk-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer}.bulk-check input{accent-color:var(--accent);cursor:pointer}.bulk-assign-row{display:flex;align-items:center;gap:8px}.btn-assign{display:flex;align-items:center;gap:6px;background:#4f7cff26;border:1px solid rgba(79,124,255,.3);border-radius:var(--radius);color:var(--accent);font-family:var(--font-sans);font-size:12px;font-weight:600;padding:7px 14px;cursor:pointer;transition:all .2s}.btn-assign:hover{background:#4f7cff40}.btn-assign:disabled{opacity:.4;cursor:not-allowed}.assign-table-wrap{overflow-x:auto}.assign-table{width:100%;border-collapse:collapse}.assign-table thead tr{background:var(--surface);border-bottom:1px solid var(--border)}.assign-table th{padding:10px 14px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:600}.assign-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.assign-table tbody tr:hover{background:#4f7cff0a}.assign-table tbody tr.selected-row{background:#4f7cff14}.assign-table td{padding:10px 14px;vertical-align:middle}.inline-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:11px;padding:5px 8px;outline:none;cursor:pointer;max-width:160px}.inline-select:focus{border-color:var(--accent)}.admin-overview{padding:20px 22px;display:flex;flex-direction:column;gap:14px}.overview-stat.unassigned-stat{display:flex;align-items:center;gap:10px;background:#ff8c4214;border:1px solid rgba(255,140,66,.2);border-radius:var(--radius);padding:12px 16px}.ov-number{font-family:var(--font-ui);font-size:22px;font-weight:800;color:var(--warn)}.ov-label{font-size:12px;color:var(--muted)}.user-stats-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.usc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.usc-user{display:flex;align-items:center;gap:10px}.usc-avatar{width:34px;height:34px;background:var(--accent-subtle);border-radius:var(--r-8);display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:600;font-size:13px;flex-shrink:0}.usc-name{font-size:13px;color:var(--text2);font-weight:600}.usc-role{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.usc-rate{font-family:var(--font-ui);font-size:22px;font-weight:800;color:var(--accent2)}.usc-progress{margin-bottom:10px}.usc-stats{display:flex;align-items:center;gap:14px}.usc-stat{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.usc-stat.pass{color:var(--success)}.usc-stat.fail{color:var(--danger)}.usc-stat.pending{color:var(--warn)}.usc-stat.blocked{color:#ff8fa3}.usc-stat.total{color:var(--muted);margin-left:auto}footer{text-align:center;padding:32px 0 0;border-top:1px solid var(--border);color:var(--muted);font-size:11px;margin-top:32px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.btn-create-sm{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-size:11px;font-weight:600;padding:6px 12px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn-create-sm:hover{background:var(--surface2);border-color:var(--accent);color:var(--accent)}.btn-create-sm.accent:hover{background:#4f7cff2e;border-color:var(--accent)}.btn-delete{display:inline-flex;align-items:center;justify-content:center;background:#ff505014;border:1px solid rgba(255,80,80,.2);border-radius:var(--radius);color:var(--danger);padding:6px 8px;cursor:pointer;transition:background .15s,border-color .15s}.btn-delete:hover{background:#ff505029;border-color:var(--danger)}.btn-delete:disabled{opacity:.45;cursor:not-allowed}.form-row{display:flex;gap:14px;align-items:flex-start}.form-row>.modal-field{min-width:0}.required{color:var(--danger);margin-left:2px}.field-hint{font-size:10px;color:var(--muted);margin-top:4px;display:block}.priority-picker{display:flex;gap:8px;flex-wrap:wrap}.priority-btn{flex:1;min-width:0;padding:7px 10px;border-radius:var(--radius);border:1px solid var(--border2);background:var(--surface);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:center;white-space:nowrap}.priority-btn:hover{border-color:var(--border2);color:var(--text2);background:var(--surface2)}.priority-btn.p1.active{background:#fbe9e9;border-color:var(--danger);color:var(--danger)}.priority-btn.p1:hover{border-color:var(--danger);color:var(--danger)}.priority-btn.p2.active{background:#fdf1df;border-color:var(--warn);color:var(--warn)}.priority-btn.p2:hover{border-color:var(--warn);color:var(--warn)}.priority-btn.p3.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.priority-btn.p3:hover{border-color:var(--accent);color:var(--accent)}.priority-btn.impact-critique.active{background:#fbe9e9;border-color:var(--danger);color:var(--danger)}.priority-btn.impact-critique:hover{border-color:var(--danger);color:var(--danger)}.priority-btn.impact-majeur.active{background:#fdf1df;border-color:var(--warn);color:var(--warn)}.priority-btn.impact-majeur:hover{border-color:var(--warn);color:var(--warn)}.priority-btn.impact-mineur.active{background:#e8f5ee;border-color:var(--success);color:var(--success)}.priority-btn.impact-mineur:hover{border-color:var(--success);color:var(--success)}.priority-btn.sprint-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.priority-btn.sprint-btn:hover{border-color:var(--accent);color:var(--accent)}.import-dropzone{border:2px dashed var(--border2);border-radius:var(--radius2);padding:40px 24px;text-align:center;cursor:pointer;transition:all .2s;background:#4f7cff05;display:flex;flex-direction:column;align-items:center;gap:12px}.import-dropzone:hover{border-color:var(--accent);background:#4f7cff0f}.upload-icon{color:var(--accent);opacity:.7}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;font-family:var(--font-sans);display:flex;align-items:center;gap:6px;text-decoration:underline}.btn-link:hover{color:var(--accent2)}.import-preview{display:flex;flex-direction:column;gap:16px}.preview-table-wrap{border:1px solid var(--border);border-radius:var(--radius);max-height:200px;overflow-y:auto;background:var(--surface)}.text-accent{color:var(--accent)}.field-hint{font-size:11px;color:var(--muted);display:block}.top-selector-bar{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;margin-bottom:24px;gap:16px;flex-wrap:wrap}.test-run-selector{display:flex;align-items:center;gap:10px}.run-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:13px;padding:6px 12px;outline:none;cursor:pointer;min-width:220px}.run-select:focus{border-color:var(--accent)}.active-run-indicator{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);background:#00d4aa14;padding:4px 12px;border-radius:20px}.active-run-indicator.warning{background:#ff8c4214;color:var(--warn)}.active-run-indicator .dot{width:6px;height:6px;background:var(--success);border-radius:50%;box-shadow:0 0 8px var(--success);animation:pulse 2s infinite}.active-run-indicator strong{color:var(--text2)}.btn-create-sm{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-family:var(--font-sans);font-size:11px;font-weight:600;padding:6px 10px;cursor:pointer;transition:all .2s}.btn-create-sm:hover{border-color:var(--accent);color:var(--accent)}.btn-create-sm.accent{background:#4f7cff1a;border-color:#4f7cff4d;color:var(--accent)}.selection-header{display:flex;align-items:center;justify-content:space-between;margin-top:20px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.sh-title{font-size:12px;font-weight:700;color:var(--text2)}.sh-filters{display:flex;align-items:center;gap:8px}.search-box-sm{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0 10px}.search-box-sm input{background:none;border:none;color:var(--text2);font-family:var(--font-sans);font-size:11px;padding:6px 4px;outline:none;width:120px}.filter-select-sm{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:11px;padding:5px 8px}.selection-table-wrap{border:1px solid var(--border);border-radius:var(--radius);max-height:300px;overflow-y:auto;background:var(--surface)}.empty-row{color:var(--muted);font-style:italic}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.btn-delete-bulk{display:flex;align-items:center;gap:6px;background:#ff4d4f;color:#fff;border:none;border-radius:var(--radius);padding:0 10px;font-size:12px;font-weight:500;cursor:pointer;height:32px;transition:all .2s}.btn-delete-bulk:hover{background:#ff7875;transform:translateY(-1px)}.btn-delete-bulk:disabled{background:var(--border);cursor:not-allowed;transform:none}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:var(--z-toast);width:340px;max-width:calc(100vw - 40px);pointer-events:none}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:12px 13px;display:flex;align-items:flex-start;gap:11px;box-shadow:var(--shadow-lg);animation:toast-in .2s cubic-bezier(.2,0,.3,1)}.toast-success{border-color:#c9e6d7}.toast-error{border-color:#f0cfcf}.toast-info{border-color:#d0dffa}.toast-warning{border-color:#edd9b4}.toast-icon-box{width:26px;height:26px;flex:none;border-radius:var(--r-6);display:flex;align-items:center;justify-content:center}.toast-icon-box-success{background:#e8f5ee}.toast-icon-box-error{background:#fbe9e9}.toast-icon-box-info{background:var(--accent-subtle)}.toast-icon-box-warning{background:#fdf1df}.toast-icon.success{color:#12613f}.toast-icon.error{color:#9b2020}.toast-icon.info{color:var(--accent-hover)}.toast-icon.warning{color:#8a5300}.toast-message{flex:1;color:var(--text2);font-size:12.5px;font-weight:500;line-height:1.5}.toast-close{background:none;border:none;color:var(--n-400);cursor:pointer;padding:4px;border-radius:var(--r-6);flex:none;transition:background .15s,color .15s}.toast-close:hover{background:var(--surface2);color:var(--text2)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confirm-modal{animation:modal-pop .25s cubic-bezier(.18,.89,.32,1.28)}@keyframes modal-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.avatar-danger{background:#fbe9e9!important;color:var(--danger)!important}.avatar-info{background:var(--accent-subtle)!important;color:var(--accent)!important}.btn-danger{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.btn-danger:hover{background:#a81f1f!important;border-color:#a81f1f!important}.logo-img-container{overflow:hidden;padding:0!important;background:#fff!important;border-radius:8px;display:flex!important;align-items:center;justify-content:center}.logo-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transition:transform .3s ease}.logo-block:hover .logo-img{transform:scale(1.1)}.read-only-alert{background:#ffb4000d!important;border:1px solid rgba(255,180,0,.1)!important;border-radius:8px;padding:12px 16px;margin-top:15px;display:flex!important;gap:12px;align-items:flex-start;color:#ffb400}.read-only-alert strong{display:block;font-size:13px;margin-bottom:2px}.read-only-alert p{margin:0;font-size:11px;color:var(--muted);line-height:1.4}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:10px}.evidence-card{position:relative;aspect-ratio:1;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease}.evidence-card:hover{transform:translateY(-2px);border-color:var(--primary);background:#ffffff0d}.evidence-thumb{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.evidence-file-icon{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.evidence-file-icon span{font-size:10px;max-width:80%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evidence-delete{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:4px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;display:none;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.evidence-card:hover .evidence-delete{display:flex}.evidence-delete:hover{background:var(--danger)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:40px;animation:fadeIn .2s ease}.lightbox-content{position:relative;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}.lightbox-img{max-width:100%;max-height:85vh;border-radius:8px;box-shadow:0 20px 50px #00000080}.lightbox-close{position:absolute;top:-50px;right:-50px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.lightbox-close:hover{background:#fff3;transform:rotate(90deg)}.lightbox-caption{margin-top:15px;color:#fff;font-size:14px;text-align:center}.closed-session{opacity:.7;filter:grayscale(.5);border-style:dashed!important}.closed-session:hover{filter:grayscale(.2);opacity:.9}
