@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;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{--bg: #F8FAFC;--surface: #FFFFFF;--surface2: #F1F5F9;--card: #FFFFFF;--border: #E8EDF2;--border2: #D1D9E2;--accent: #007AFF;--accent2: #5AC8FA;--accent-pink: #FF2D55;--accent-mint: #00D4AA;--accent-purple: #AF52DE;--warn: #FF9500;--danger: #FF3B30;--success: #34C759;--muted: #8E8E93;--text: #1C1C1E;--text2: #000000;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-ui: "Inter", sans-serif;--radius: 18px;--radius2: 24px;--shadow: 0 8px 30px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04)}.m-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a5c;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.m-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius2);width:100%;max-height:92vh;overflow:visible;box-shadow:0 20px 48px #0f172a29;animation:m-in .22s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes m-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}.m-accent-bar{height:3px;border-radius:var(--radius2) var(--radius2) 0 0}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;gap:16px;border-bottom:1px solid var(--border)}.m-header-left{flex:1;min-width:0}.m-eyebrow{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.m-title{font-size:18px;font-weight:700;color:var(--text);margin:0;line-height:1.3}.m-close{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;padding:7px;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.m-close:hover{border-color:var(--border2);color:var(--text)}.m-body{padding:22px 24px;display:flex;flex-direction:column;gap:18px;flex:1;overflow:visible;position:relative}.m-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 14px 14px;flex-shrink:0}.m-field{display:flex;flex-direction:column;gap:7px;position:relative}.m-field-row{display:flex;align-items:center;justify-content:space-between}.m-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--muted)}.m-hint{font-size:11px;color:var(--muted);font-style:italic}.m-required{color:var(--danger);margin-left:2px}.m-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:9px 13px;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box;font-family:var(--font-sans)}.m-input:focus{border-color:var(--accent)}.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(--border);border-radius:8px;color:var(--text);font-size:13px;padding:9px 13px;outline:none;width:100%;cursor:pointer;font-family:var(--font-sans)}.m-select:focus{border-color:var(--accent)}.m-textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-family:var(--font-mono);padding:10px 13px;line-height:1.6;outline:none;resize:vertical;transition:border-color .15s;width:100%;box-sizing:border-box}.m-textarea:focus{border-color:var(--accent)}.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:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:12px;color:#ef4444}.m-notice{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:8px;font-size:12px;background:#6366f114;border:1px solid rgba(99,102,241,.2);color:var(--text2)}.m-btn-primary{display:flex;align-items:center;gap:7px;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:700;padding:9px 20px;cursor:pointer;transition:opacity .15s;white-space:nowrap}.m-btn-primary:disabled{opacity:.5;cursor:not-allowed}.m-btn-primary:not(:disabled):hover{opacity:.88}.m-btn-ghost{background:none;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:13px;padding:8px 16px;cursor:pointer;transition:all .15s}.m-btn-ghost:hover{border-color:var(--border2);color:var(--text)}.m-btn-danger{display:flex;align-items:center;gap:6px;background:none;border:1px solid rgba(239,68,68,.35);border-radius:8px;color:#ef4444;font-size:12px;font-weight:600;padding:8px 14px;cursor:pointer;transition:all .15s;margin-right:auto}.m-btn-danger:hover{background:#ef44441a}.m-divider{height:1px;background:var(--border);margin:4px 0}.app-shell{display:flex;height:100vh;background:var(--bg);overflow:hidden}.app-sidebar{width:260px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:10}.app-sidebar.collapsed{width:72px}.sb-logo{display:flex;align-items:center;gap:12px;padding:32px 24px 24px}.sb-logo-icon{width:40px;height:40px;flex-shrink:0;background:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #007aff33}.sb-logo-title{font-size:18px;font-weight:800;color:var(--text2);letter-spacing:-.5px}.sb-logo-sub{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.sb-nav{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.sb-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;border:none;background:none;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:all .2s;white-space:nowrap}.sb-nav-item:hover{color:var(--text);background:var(--bg)}.sb-nav-item.active{background:var(--accent);color:#fff;box-shadow:0 8px 20px #007aff26}.sb-nav-item.active svg{color:#fff}.sb-bottom{padding:20px 16px;display:flex;flex-direction:column;gap:16px}.sb-collapse-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;transition:all .2s}.sb-collapse-btn:hover{background:var(--bg);color:var(--accent)}.sb-user{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:16px}.sb-user-avatar{width:36px;height:36px;flex-shrink:0;background:var(--accent-pink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.sb-user-info{flex:1;min-width:0}.sb-user-name{font-size:13px;font-weight:700;color:var(--text2)}.sb-user-role{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700}.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:20px 32px;background:var(--bg);flex-shrink:0;gap:24px}.app-topbar-search{flex:1;max-width:480px;display:flex;align-items:center;gap:12px;border-radius:14px;background:#fff;padding:10px 16px;box-shadow:var(--shadow-sm)}.app-topbar-search input{border:none;outline:none;background:transparent;width:100%;font-size:14px;color:var(--text)}.app-topbar-search svg{color:var(--muted)}.app-page-title{font-size:24px;font-weight:800;color:var(--text2)}.app-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:4px;display:flex;gap:6px}.app-content{flex:1;overflow-y:auto;padding:0 32px 32px}.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(3,1fr);gap:20px}.dash-kpi{background:#fff;border-radius:var(--radius);padding:24px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow);transition:transform .2s}.dash-kpi:hover{transform:translateY(-2px)}.dash-kpi-icon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:24px}.dash-kpi-body{display:flex;flex-direction:column;gap:2px}.dash-kpi-label{font-size:13px;font-weight:600;color:var(--muted)}.dash-kpi-value{font-size:28px;font-weight:800;color:var(--text2)}.dash-right-rail{display:flex;flex-direction:column;gap:24px}.dash-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.dash-card-title{font-size:16px;font-weight:700;color:var(--text2);margin-bottom:20px}.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:linear-gradient(135deg,#fff,#f9fafb);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:#0f172a;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.05)}.cockpit-envbar{padding:12px 16px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:12px}.cockpit-env-toggle{display:flex;align-items:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px 12px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s;border:none}.cockpit-env-toggle:hover{background:#ffffff14;color:#fff}.env-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:#ffffff0d;color:#e2e8f0;font-size:11px;font-weight:600}.cockpit-run-bar{padding:16px 20px;background:#ffffff05;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05)}.cockpit-url{font-family:var(--font-mono);font-size:12px;color:#6366f1;background:#6366f11a;padding:6px 12px;border-radius:8px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-run-btn{display:flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #6366f14d}.cockpit-run-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.cockpit-run-btn.running{background:#334155;cursor:wait}.cockpit-main{flex:1;display:grid;grid-template-columns:1fr;min-height:0}.ct-tabs{display:flex;background:#ffffff05;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.05)}.ct-tab{padding:12px 16px;color:#64748b;font-size:12px;font-weight:600;border-bottom:2px solid transparent;cursor:pointer;background:none;border:none}.ct-tab.active{color:#fff;border-bottom-color:var(--accent)}.ct-body{padding:20px;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:#cbd5e1;overflow-y:auto;background:#0f172a}.ct-line{margin-bottom:4px;display:flex;gap:12px}.ct-time{color:#475569;flex-shrink:0}.ct-line.error{color:#f87171}.ct-line.success{color:#4ade80}.ct-line.warning{color:#fbbf24}.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}*,: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}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.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}.flex-grow{flex-grow: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}.italic{font-style:italic}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(79,124,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(79,124,255,.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.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-mono);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-mono);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-mono);font-size:13px;padding:10px 14px;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.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-mono);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:linear-gradient(135deg,var(--accent),#3a6be8);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:600;padding:12px;cursor:pointer;transition:opacity .2s,transform .1s}.auth-submit:hover{opacity:.92}.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-mono);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-mono);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:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--success),var(--accent2));transition:width .6s ease}.progress-pct{font-size:11px;color:var(--accent2);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-mono);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)}.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-mono);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:#4f7cff26;border:1px solid rgba(79,124,255,.3);border-radius:20px;padding:2px 10px;font-size:11px;color:var(--accent);font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead tr{background:var(--surface);border-bottom:1px solid var(--border)}th{padding:11px 14px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);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:#4f7cff0f}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(--accent);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:20px;padding:3px 10px;font-size:10px;font-weight:700;letter-spacing:.5px;white-space:nowrap;text-transform:uppercase}.badge-pass{background:#00e0961f;color:var(--success);border:1px solid rgba(0,224,150,.25)}.badge-fail{background:#ff45601f;color:var(--danger);border:1px solid rgba(255,69,96,.25)}.badge-pending{background:#ff8c421f;color:var(--warn);border:1px solid rgba(255,140,66,.25)}.badge-block{background:#ff456038;color:#ff8fa3;border:1px solid rgba(255,69,96,.4)}.badge-p1{background:#ff45601f;color:#ff8fa3;border:1px solid rgba(255,69,96,.25)}.badge-p2{background:#ff8c421f;color:var(--warn);border:1px solid rgba(255,140,66,.25)}.badge-p3{background:#00e0961a;color:#5ce6b8;border:1px solid rgba(0,224,150,.2)}.badge-crit{background:#ff456026;color:#ff8fa3;border:1px solid rgba(255,69,96,.25)}.badge-maj{background:#ff8c4226;color:var(--warn);border:1px solid rgba(255,140,66,.25)}.badge-min{background:#00d4aa1a;color:var(--accent2);border:1px solid rgba(0,212,170,.2)}.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:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--card);border:1px solid var(--border2);border-radius:var(--radius2);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #0009;animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(12px)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 18px;border-bottom:1px solid var(--border);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:16px;font-weight:700;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:#4f7cff14;border:1px solid rgba(79,124,255,.2);border-radius:var(--radius);padding:10px 14px;font-size:12px;color:var(--muted)}.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-mono);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-mono);font-size:12px;padding:10px 14px;outline:none;resize:vertical;transition:border-color .2s}.modal-textarea:focus{border-color:var(--accent)}.modal-textarea:disabled{opacity:.5;cursor:default}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border)}.btn-cancel{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-family:var(--font-mono);font-size:12px;padding:8px 16px;cursor:pointer;transition:all .2s}.btn-cancel:hover{border-color:var(--border2);color:var(--text)}.btn-save{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--accent),#3a6be8);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:600;padding:8px 18px;cursor:pointer;transition:opacity .2s}.btn-save:hover{opacity:.9}.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-mono);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-mono);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-mono);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:32px;height:32px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}.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:#ff50501f;border-color:var(--danger);color:var(--danger)}.priority-btn.p1:hover{border-color:var(--danger);color:var(--danger)}.priority-btn.p2.active{background:#ff8c421f;border-color:var(--warn);color:var(--warn)}.priority-btn.p2:hover{border-color:var(--warn);color:var(--warn)}.priority-btn.p3.active{background:#4f7cff1f;border-color:var(--accent);color:var(--accent)}.priority-btn.p3:hover{border-color:var(--accent);color:var(--accent)}.priority-btn.impact-critique.active{background:#ff50501f;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:#ff8c421f;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:#00d4aa1f;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:#4f7cff1f;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-mono);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-mono);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-mono);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:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:3000;pointer-events:none}.toast{pointer-events:auto;min-width:280px;max-width:400px;background:#191923d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px #0006;animation:toast-in .3s cubic-bezier(.18,.89,.32,1.28)}.toast-icon.success{color:#00d4aa}.toast-icon.error{color:#ff5050}.toast-icon.info{color:var(--accent)}.toast-message{flex:1;color:var(--text);font-size:13px;font-weight:500}.toast-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.toast-close:hover{background:#ffffff0d;color:var(--text)}@keyframes toast-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.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:#ff50501a!important;color:#ff5050!important}.avatar-info{background:#4f7cff1a!important;color:var(--accent)!important}.btn-danger{background:#ff5050!important;color:#fff!important}.btn-danger:hover{background:#ff7575!important;box-shadow:0 4px 12px #ff50504d}.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}
