.run-detail{max-width:900px;margin:0 auto;padding:1rem}.rd-message{padding:.6rem 1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.rd-message-success{background:#1a3a2a;border:1px solid #2d7a4f;color:#6ee7b7}.rd-message-error{background:#3a1a1a;border:1px solid #7a2d2d;color:#f87171}.rd-message-info{background:#1a2a3a;border:1px solid #2d5a7a;color:#93c5fd}.rd-message button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem}.loading{color:#64748b;text-align:center;padding:3rem}.rd-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.rd-back{padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border, #475569);background:var(--bg-secondary, #1e293b);color:var(--text, #e2e8f0);cursor:pointer;font-size:.85rem;white-space:nowrap}.rd-back:hover{border-color:#60a5fa}.rd-header-info{flex:1}.rd-header-info h2{margin:0 0 .5rem;font-size:1.25rem}.rd-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rd-status{font-size:.75rem;padding:.2rem .6rem;border-radius:4px;text-transform:uppercase;font-weight:700}.rd-status-succeeded{background:#16653422;color:#86efac}.rd-status-failed{background:#7f1d1d22;color:#fca5a5}.rd-status-running{background:#1e3a5f22;color:#93c5fd}.rd-status-scheduled{background:#7c3aed22;color:#a78bfa}.rd-status-cleaned{background:#47556922;color:#94a3b8}.rd-status-cleaning_up{background:#f59e0b22;color:#fcd34d}.rd-id{font-size:.75rem;color:#64748b;background:var(--bg-tertiary, #0f172a);padding:.15rem .5rem;border-radius:3px}.rd-time{font-size:.8rem;color:#64748b}.rd-polling{font-size:.75rem;color:#22c55e;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.rd-steps{margin-bottom:2rem}.rd-steps h3{margin:0 0 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.rd-step-list{position:relative}.rd-step{display:flex;gap:1rem;min-height:60px}.rd-step-connector{display:flex;flex-direction:column;align-items:center;width:32px;flex-shrink:0}.rd-step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;background:var(--bg-tertiary, #0f172a);border:2px solid var(--border, #334155);z-index:1}.rd-step.step-success .rd-step-dot{border-color:#22c55e}.rd-step.step-failed .rd-step-dot{border-color:#ef4444}.rd-step.step-running .rd-step-dot{border-color:#3b82f6;animation:pulse 1.5s infinite}.rd-step.step-warning .rd-step-dot{border-color:#f59e0b}.rd-step-line{width:2px;flex:1;background:var(--border, #334155);margin:4px 0}.rd-step-content{flex:1;padding-bottom:1.25rem}.rd-step-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rd-step-num{font-size:.7rem;color:#64748b;font-weight:600;text-transform:uppercase}.rd-step-header strong{font-size:.9rem}.rd-step-badge{font-size:.65rem;padding:.1rem .4rem;border-radius:3px;text-transform:uppercase;font-weight:600}.rd-step-badge-succeeded{background:#16653422;color:#86efac}.rd-step-badge-failed{background:#7f1d1d22;color:#fca5a5}.rd-step-badge-running{background:#1e3a5f22;color:#93c5fd}.rd-step-badge-pending{background:#47556922;color:#94a3b8}.rd-step-badge-awaiting_approval{background:#f59e0b22;color:#fcd34d}.rd-step-badge-skipped{background:#47556922;color:#64748b}.rd-step-error{margin-top:.4rem;padding:.5rem .75rem;border-radius:6px;background:#7f1d1d11;border:1px solid #7f1d1d44;font-size:.8rem;color:#fca5a5}.rd-error-label{font-weight:600}.rd-btn-retry-step{margin-top:.5rem;padding:.3rem .75rem;border-radius:4px;border:1px solid #f59e0b;background:transparent;color:#fcd34d;cursor:pointer;font-size:.8rem;transition:all .15s}.rd-btn-retry-step:hover{background:#f59e0b22}.rd-btn-approve{margin-top:.5rem;padding:.4rem 1rem;border-radius:4px;border:1px solid #10b981;background:#10b981;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .15s}.rd-btn-approve:hover{background:#059669;border-color:#059669}.rd-single-task{text-align:center;padding:2rem;margin-bottom:2rem}.rd-task-status{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;border-radius:10px;font-size:1.2rem;font-weight:600;border:1px solid var(--border, #334155);background:var(--bg-secondary, #1e293b)}.rd-task-status.step-success{border-color:#22c55e;color:#86efac}.rd-task-status.step-failed{border-color:#ef4444;color:#fca5a5}.rd-task-status.step-running{border-color:#3b82f6;color:#93c5fd}.rd-task-icon{font-size:1.5rem}.rd-progress{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.rd-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--bg-tertiary, #0f172a);overflow:hidden}.rd-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#22c55e,#86efac);transition:width .5s ease}.rd-progress-text{font-size:.8rem;color:#64748b;white-space:nowrap}.rd-actions h3{margin:0 0 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.rd-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.rd-action-card{padding:1rem;border-radius:10px;border:1px solid var(--border, #334155);background:var(--bg-secondary, #1e293b)}.rd-action-card h4{margin:0 0 .3rem;font-size:.9rem}.rd-action-card p{margin:0 0 .75rem;font-size:.78rem;color:#94a3b8;line-height:1.4}.rd-btn{padding:.45rem 1rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;font-size:.8rem;transition:all .15s}.rd-btn.primary{background:#1d4ed8;color:#dbeafe}.rd-btn.primary:hover{background:#2563eb}.rd-btn.warning{background:#92400e;color:#fcd34d}.rd-btn.warning:hover:not(:disabled){background:#a16207}.rd-btn.danger{background:#7f1d1d;color:#fca5a5}.rd-btn.danger:hover:not(:disabled){background:#991b1b}.rd-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=light] .rd-message-success{background:#ecfdf5;border-color:#86efac;color:#166534}[data-theme=light] .rd-message-error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}[data-theme=light] .rd-message-info{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}[data-theme=light] .rd-back{background:#fff;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .rd-back:hover{background:#eff6ff;border-color:#93c5fd}[data-theme=light] .rd-status-succeeded,[data-theme=light] .rd-step-badge-succeeded{background:#dcfce7;color:#166534}[data-theme=light] .rd-status-failed,[data-theme=light] .rd-step-badge-failed{background:#fee2e2;color:#991b1b}[data-theme=light] .rd-status-running,[data-theme=light] .rd-step-badge-running{background:#dbeafe;color:#1d4ed8}[data-theme=light] .rd-status-scheduled{background:#f5f3ff;color:#6d28d9}[data-theme=light] .rd-status-cleaned,[data-theme=light] .rd-step-badge-pending,[data-theme=light] .rd-step-badge-skipped{background:#e2e8f0;color:#475569}[data-theme=light] .rd-status-cleaning_up,[data-theme=light] .rd-step-badge-awaiting_approval{background:#fef3c7;color:#92400e}[data-theme=light] .rd-id{background:#f1f5f9;color:#475569;border:1px solid #d2dce6}[data-theme=light] .rd-polling{color:#059669}[data-theme=light] .rd-step-dot{background:#fff;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .rd-step-line{background:#d2dce6}[data-theme=light] .rd-step-header strong{color:#1e293b}[data-theme=light] .rd-step-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}[data-theme=light] .rd-btn-retry-step{border-color:#f59e0b;color:#b45309}[data-theme=light] .rd-btn-retry-step:hover{background:#fffbeb}[data-theme=light] .rd-task-status{background:#fff;border-color:#d2dce6;color:#1e293b}[data-theme=light] .rd-task-status.step-success{border-color:#16a34a;color:#166534}[data-theme=light] .rd-task-status.step-failed{border-color:#dc2626;color:#991b1b}[data-theme=light] .rd-task-status.step-running{border-color:#2563eb;color:#1d4ed8}[data-theme=light] .rd-progress-bar{background:#e2e8f0}[data-theme=light] .rd-progress-fill{background:linear-gradient(90deg,#16a34a,#059669)}[data-theme=light] .rd-action-card{background:#fff;border-color:#d2dce6;box-shadow:0 1px 3px #0000000f}[data-theme=light] .rd-action-card h4{color:#1e293b}[data-theme=light] .rd-action-card p{color:#475569}[data-theme=light] .rd-btn.primary{background:#2563eb;color:#fff}[data-theme=light] .rd-btn.warning{background:#fef3c7;color:#92400e}[data-theme=light] .rd-btn.warning:hover:not(:disabled){background:#fde68a}[data-theme=light] .rd-btn.danger{background:#fee2e2;color:#991b1b}[data-theme=light] .rd-btn.danger:hover:not(:disabled){background:#fecaca}.onboarding-shell{display:flex;flex-direction:column;gap:1.5rem}.onboarding-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 36px #0000002e}.onboarding-hero{padding:2rem;display:flex;flex-direction:column;gap:1rem}.onboarding-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.onboarding-hero h1,.onboarding-panel h2,.onboarding-status-card h3,.onboarding-alert h3{margin:0;color:var(--text)}.onboarding-lead,.onboarding-panel p,.onboarding-step-body p,.onboarding-alert p,.onboarding-muted{color:var(--muted)}.onboarding-panel{padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem}.onboarding-panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.onboarding-primary-button,.onboarding-secondary-button,.onboarding-ghost-button,.onboarding-link-button{border-radius:10px;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .15s ease,opacity .15s ease}.onboarding-primary-button{background:var(--accent);color:#000;border:none;padding:.85rem 1.25rem;align-self:flex-start}.onboarding-secondary-button,.onboarding-ghost-button{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:.8rem 1rem}.onboarding-link-button{text-decoration:none;background:transparent;color:var(--accent);border:1px solid var(--accent);padding:.7rem 1rem}.onboarding-link-button[aria-disabled=true]{opacity:.55;pointer-events:none}.onboarding-primary-button:hover,.onboarding-secondary-button:hover,.onboarding-ghost-button:hover,.onboarding-link-button:hover{transform:translateY(-1px)}.onboarding-primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.onboarding-steps{display:grid;gap:1rem}.onboarding-step{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:14px}.onboarding-step-number{width:3rem;height:3rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#63b3ed24;color:var(--accent);font-size:1.1rem;font-weight:700}.onboarding-step-body{display:flex;flex-direction:column;gap:.85rem}.onboarding-step-body h3{margin:0;color:var(--text)}.onboarding-field{display:flex;flex-direction:column;gap:.45rem;color:var(--text);font-size:.9rem}.onboarding-field input{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.85rem 1rem;font-size:.95rem}.onboarding-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #63b3ed26}.onboarding-inline-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.onboarding-inline-actions,.onboarding-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.onboarding-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.onboarding-copy-state{font-size:.85rem;font-weight:600}.onboarding-copy-state.success{color:var(--success)}.onboarding-copy-state.error{color:var(--danger)}.onboarding-status-card{padding:1.25rem}.onboarding-checklist{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.75rem}.onboarding-checklist li{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--bg)}.onboarding-checklist li.valid{border-color:#68d39159;color:var(--success)}.onboarding-checklist li.invalid{color:var(--muted)}.onboarding-checkmark{width:1.35rem;text-align:center;font-size:1rem;font-weight:700}.onboarding-alert{border-radius:14px;padding:1rem 1.25rem;border:1px solid var(--border)}.onboarding-alert ul{margin:.75rem 0 0;padding-left:1.25rem;color:var(--text)}.onboarding-alert-error{background:#fc81811a;border-color:#fc81814d}.onboarding-alert-success{background:#68d3911a;border-color:#68d3914d}.onboarding-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.onboarding-detail{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:12px}.onboarding-detail code{color:var(--accent);word-break:break-all}.onboarding-detail-wide{grid-column:1 / -1}.onboarding-detail-label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.onboarding-domain-list{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-domain-pill{padding:.4rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem}@media (max-width: 720px){.onboarding-panel-header,.onboarding-inline-input{grid-template-columns:1fr;display:grid}.onboarding-step{grid-template-columns:1fr}}[data-theme=light] .onboarding-card{box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a}[data-theme=light] .onboarding-primary-button{color:#fff}[data-theme=light] .onboarding-step{background:#fff;border-color:#d2dce6}[data-theme=light] .onboarding-step-number{background:#2b6cb01a;color:#2b6cb0}[data-theme=light] .onboarding-field input{background:#fafbfc;border-color:#cbd5e0}[data-theme=light] .onboarding-field input:focus{background:#fff;border-color:#2b6cb0;box-shadow:0 0 0 3px #2b6cb01f}[data-theme=light] .onboarding-checklist li{background:#fff}[data-theme=light] .onboarding-checklist li.valid{border-color:#c6f6d5;background:#f0fff4}[data-theme=light] .onboarding-detail{background:#fafbfc;border-color:#d2dce6}[data-theme=light] .onboarding-alert-error{background:#fff5f5;border-color:#feb2b2}[data-theme=light] .onboarding-alert-success{background:#f0fff4;border-color:#9ae6b4}[data-theme=light] .onboarding-domain-pill{background:#edf2f7;border-color:#cbd5e0}.onboarding-saved-tenants{margin-top:1.5rem}.onboarding-saved-tenants h2{margin-bottom:.25rem}.onboarding-saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:.75rem}.onboarding-saved-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border-radius:8px;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;text-align:left;transition:all .15s}.onboarding-saved-card:hover{border-color:#10b981;box-shadow:0 2px 8px #10b98126}.onboarding-saved-card strong{font-size:.95rem;color:#1e293b}.onboarding-saved-domain{font-size:.8rem;color:#475569}.onboarding-saved-id{font-size:.75rem;color:#94a3b8;background:transparent;padding:0}.session-launcher{max-width:1200px;margin:0 auto;padding:1rem}.session-message{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.session-message-success{background:#1a3a2a;border:1px solid #2d7a4f;color:#6ee7b7}.session-message-error{background:#3a1a1a;border:1px solid #7a2d2d;color:#f87171}.session-message-info{background:#1a2a3a;border:1px solid #2d5a7a;color:#93c5fd}.session-message button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem}[data-theme=light] .session-message-success{background:#e6f7ed;border-color:#86efac;color:#166534}[data-theme=light] .session-message-error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}[data-theme=light] .session-message-info{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.session-topbar{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;background:var(--bg-secondary, #1e293b);border:1px solid var(--border, #334155)}.session-active-indicator,.session-no-active{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.session-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.session-dot.active{background:#22c55e;box-shadow:0 0 6px #22c55e88}.session-dot.inactive{background:#64748b}.session-label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-id-mini{font-size:.75rem;padding:.1rem .4rem;border-radius:3px;background:var(--bg-tertiary, #0f172a);color:#94a3b8}.params-loaded-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:10px;background:#166534;color:#86efac}.btn-sm{padding:.3rem .8rem;border-radius:4px;border:1px solid var(--border, #475569);background:var(--bg-tertiary, #0f172a);color:var(--text, #e2e8f0);cursor:pointer;font-size:.8rem;margin-left:auto}.btn-sm:hover{background:var(--bg-hover, #1e293b);border-color:#60a5fa}.session-list-panel{background:var(--bg-secondary, #1e293b);border:1px solid var(--border, #334155);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.session-list-panel h3{margin:0 0 .75rem;font-size:1rem}.session-list-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;border-radius:6px;margin-bottom:.5rem;border:1px solid var(--border, #334155)}.session-list-item.current{border-color:#3b82f6;background:#1e3a5f22}.session-list-info{display:flex;flex-direction:column;gap:.2rem}.session-list-info code{font-size:.75rem;color:#94a3b8}.session-meta{font-size:.75rem;color:#64748b}.session-hint{font-size:.85rem;color:#64748b;text-align:center;margin:.5rem 0 0}.session-module-select h2{margin:0 0 .25rem}.session-module-select .subtitle{color:#94a3b8;margin:0 0 1.5rem}.session-filter-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.session-filter-bar button{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--border, #475569);background:var(--bg-secondary, #1e293b);color:var(--text, #e2e8f0);cursor:pointer;font-size:.85rem;transition:all .15s}.session-filter-bar button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.session-filter-bar button:hover:not(.active){border-color:#60a5fa}.session-module-group{margin-bottom:2rem}.group-header{font-size:1.1rem;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.group-count{background:var(--bg-tertiary, #0f172a);padding:.1rem .5rem;border-radius:10px;font-size:.75rem;color:#94a3b8}.session-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.session-module-card{padding:1rem;border-radius:8px;cursor:pointer;transition:all .15s;border:1px solid var(--border, #334155);background:var(--bg-secondary, #1e293b)}.session-module-card:hover{border-color:#60a5fa;transform:translateY(-2px)}.session-module-card h4{margin:.5rem 0 .25rem;font-size:1rem}.session-module-card .module-id{font-size:.75rem;color:#94a3b8;display:block;margin-bottom:.5rem}.session-module-card .card-desc{font-size:.8rem;color:#94a3b8;margin:0 0 .5rem;line-height:1.4}.card-header{display:flex;align-items:center;gap:.5rem}.risk-dot{width:8px;height:8px;border-radius:50%}.risk-dot.risk-low{background:#22c55e}.risk-dot.risk-medium{background:#eab308}.risk-dot.risk-high{background:#f97316}.risk-dot.risk-critical{background:#ef4444}.risk-label{font-size:.75rem;text-transform:uppercase;font-weight:600}.session-module-card.risk-low .risk-label{color:#22c55e}.session-module-card.risk-medium .risk-label{color:#eab308}.session-module-card.risk-high .risk-label{color:#f97316}.session-module-card.risk-critical .risk-label{color:#ef4444}.technique-tag{display:inline-block;font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:var(--bg-tertiary, #0f172a);color:#60a5fa;margin:.1rem .2rem .1rem 0}.card-techniques{margin-bottom:.5rem}.card-deps{font-size:.75rem;color:#f59e0b}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.session-header h2{margin:0 0 .5rem}.session-meta-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.layer-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;font-weight:600}.layer-badge.layer-path{background:#7c3aed22;color:#a78bfa;border:1px solid #7c3aed55}.layer-badge.layer-scenario{background:#3b82f622;color:#93c5fd;border:1px solid #3b82f655}.layer-badge.layer-deployment{background:#22c55e22;color:#86efac;border:1px solid #22c55e55}.layer-badge.layer-task{background:#f59e0b22;color:#fcd34d;border:1px solid #f59e0b55}.session-desc{color:#94a3b8;font-size:.9rem;line-height:1.5;margin:0}.session-template-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:1rem;background:var(--bg-secondary, #1e293b);border-radius:8px;border:1px solid var(--border, #334155)}.btn-download,.btn-upload,.btn-save-params{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border, #475569);background:var(--bg-tertiary, #0f172a);color:var(--text, #e2e8f0);cursor:pointer;font-size:.85rem;transition:all .15s}.btn-download:hover{border-color:#60a5fa;background:#1e3a5f}.btn-upload{cursor:pointer}.btn-upload:hover{border-color:#a78bfa;background:#2e1a5f}.btn-save-params{background:#166534;border-color:#22c55e;color:#86efac}.btn-save-params:hover{background:#15803d}.btn-discover-domain{padding:.5rem 1rem;border-radius:6px;border:1px solid #0ea5e9;background:#0c4a6e;color:#7dd3fc;cursor:pointer;font-size:.85rem;transition:all .15s}.btn-discover-domain:hover{background:#075985}.domain-panel{margin-bottom:1.5rem;padding:1.25rem;border-radius:8px;background:var(--bg-secondary, #1e293b);border:1px solid #0ea5e9}.domain-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.domain-panel-header h3{margin:0;font-size:1rem}.domain-tenant-id{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem}.domain-tenant-id label{color:#94a3b8}.domain-tenant-id code{background:var(--bg-tertiary, #0f172a);padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.domain-select-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.domain-select-row label{font-size:.9rem;font-weight:600;white-space:nowrap}.domain-select-row select{flex:1;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border, #475569);background:var(--bg-tertiary, #0f172a);color:var(--text, #e2e8f0);font-size:.85rem}.domain-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.domain-info-item{padding:.5rem .75rem;border-radius:6px;background:var(--bg-tertiary, #0f172a);border:1px solid var(--border, #334155)}.domain-info-label{display:block;font-size:.7rem;color:#64748b;text-transform:uppercase;margin-bottom:.25rem}.domain-info-item code{font-size:.9rem;color:#7dd3fc}.upn-preview{margin-bottom:1rem}.upn-preview h4{margin:0 0 .5rem;font-size:.9rem}.upn-table{width:100%;font-size:.85rem;border-collapse:collapse}.upn-table th{text-align:left;padding:.4rem .75rem;background:var(--bg-tertiary, #0f172a);color:#94a3b8;font-size:.75rem;text-transform:uppercase}.upn-table td{padding:.4rem .75rem;border-top:1px solid var(--border, #334155)}.upn-table code{color:#86efac;font-size:.8rem}.domain-actions{display:flex;gap:.75rem}.btn-apply-domain{padding:.5rem 1.5rem;border-radius:6px;border:none;background:#0ea5e9;color:#fff;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .15s}.btn-apply-domain:hover:not(:disabled){background:#0284c7}.btn-apply-domain:disabled{opacity:.5;cursor:not-allowed}.session-params-section{margin-bottom:1.5rem;padding:1.5rem;background:var(--bg-secondary, #1e293b);border-radius:12px;border:1px solid var(--border, #334155)}.session-params-section h3{margin:0 0 1.25rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:600}.param-field{margin-bottom:1.25rem;position:relative}.param-field-inner{padding:.875rem 1rem;border-radius:10px;background:var(--bg-tertiary, #0f172a);border:1px solid var(--border, #334155);transition:border-color .2s,box-shadow .2s}.param-field-inner:hover{border-color:#475569}.param-field-inner:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.param-field.is-required .param-field-inner{border-left:3px solid #3b82f6}.param-field.has-value .param-field-inner{border-left:3px solid #22c55e}.param-field-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.param-friendly-name{font-size:.9rem;font-weight:600;color:var(--text, #e2e8f0)}.param-key-hint{font-size:.7rem;color:#475569;font-family:monospace;background:var(--bg-secondary, #1e293b);padding:.1rem .4rem;border-radius:3px}.param-required-dot{color:#f87171;font-size:1.2rem;font-weight:700;line-height:1}.param-lock-icon{font-size:.8rem}.param-field-desc{font-size:.78rem;color:#64748b;margin:.15rem 0 .5rem;line-height:1.4}.param-field-input{display:flex;align-items:center;gap:.5rem}.param-field-input input{flex:1;padding:.55rem 0;border:none;border-bottom:1px solid #334155;background:transparent;color:var(--text, #e2e8f0);font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.88rem;outline:none;transition:border-color .2s}.param-field-input input:focus{border-bottom-color:#3b82f6}.param-field-input input::placeholder{color:#475569;font-style:italic;font-family:inherit}.param-eye-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem .4rem;border-radius:4px;transition:background .15s}.param-eye-btn:hover{background:#334155}.deployment-param-group{margin-bottom:1.25rem;padding:1rem 1.25rem;border:1px solid var(--border, #334155);border-radius:10px;background:#0f172a66}.deployment-param-group h4{margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.dep-id{font-size:.7rem;color:#64748b;font-weight:400;font-family:monospace}.session-steps-list{display:flex;flex-direction:column;gap:.75rem}.session-step-card{padding:.75rem;border-radius:6px;border:1px solid var(--border, #334155);background:var(--bg-tertiary, #0f172a)}.step-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.step-index{background:#3b82f622;color:#60a5fa;padding:.1rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.step-header code{font-size:.75rem;color:#94a3b8}.approval-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:#f59e0b22;color:#fbbf24;border:1px solid #f59e0b44}.step-bindings,.step-unbound{margin-top:.25rem;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.binding-label,.unbound-label{font-size:.75rem;color:#64748b;margin-right:.25rem}.binding-tag{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:#16653422;color:#86efac;border:1px solid #22c55e33}.binding-tag code{font-size:.65rem;color:#6ee7b7}.unbound-tag{font-size:.7rem;padding:.1rem .4rem;border-radius:3px;background:var(--bg-secondary, #1e293b);color:#94a3b8}.session-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border, #334155)}.btn-deploy-session,.btn-execute-session{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s;border:none}.btn-deploy-session{background:#166534;color:#86efac}.btn-deploy-session:hover:not(:disabled){background:#15803d}.btn-execute-session{background:#1d4ed8;color:#dbeafe}.btn-execute-session:hover:not(:disabled){background:#2563eb}.btn-deploy-session:disabled,.btn-execute-session:disabled{opacity:.5;cursor:not-allowed}.empty-state{color:#64748b;text-align:center;padding:1rem}.featured-section{margin-bottom:2.5rem}.featured-title{margin:0 0 .25rem;font-size:1.5rem}.featured-subtitle{color:#64748b;margin:0 0 1.25rem;font-size:.9rem}.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.25rem}.featured-card{padding:1.5rem;border-radius:12px;cursor:pointer;border:1px solid var(--border, #334155);background:var(--bg-secondary, #1e293b);transition:all .2s ease}.featured-card:hover{border-color:#60a5fa;transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.featured-card.risk-critical{border-left:4px solid #ef4444}.featured-card.risk-high{border-left:4px solid #f97316}.featured-card.risk-medium{border-left:4px solid #eab308}.featured-card.risk-low{border-left:4px solid #22c55e}.featured-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.risk-badge{font-size:.7rem;text-transform:uppercase;font-weight:700;padding:.2rem .6rem;border-radius:4px}.risk-badge.risk-critical{background:#ef444422;color:#fca5a5}.risk-badge.risk-high{background:#f9731622;color:#fdba74}.risk-badge.risk-medium{background:#eab30822;color:#fde047}.risk-badge.risk-low{background:#22c55e22;color:#86efac}.technique-count{font-size:.75rem;color:#64748b}.featured-card h3{margin:0 0 .5rem;font-size:1.1rem}.featured-card p{font-size:.85rem;color:#94a3b8;line-height:1.5;margin:0 0 1rem}.featured-card-footer{display:flex;flex-direction:column;gap:.5rem}.collapsible-section{margin-bottom:1rem;border:1px solid var(--border, #334155);border-radius:10px;overflow:hidden}.collapsible-section.inner{border:none;margin-top:1rem}.collapsible-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border:none;background:var(--bg-secondary, #1e293b);color:var(--text, #e2e8f0);cursor:pointer;font-size:1rem;font-weight:600;text-align:left;transition:background .15s}.collapsible-header:hover{background:#1e3a5f}.collapsible-header.small{font-size:.85rem;padding:.6rem 1rem;background:transparent}.collapse-icon{font-size:.9rem;color:#64748b}.session-module-grid.compact{padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.session-module-grid.compact .session-module-card{padding:.75rem;border-radius:8px}.session-module-grid.compact .session-module-card h4{font-size:.9rem;margin:.3rem 0 .15rem}.workspace-header{margin-bottom:1.25rem}.workspace-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.workspace-title-row h2{margin:0}.workspace-desc{color:#94a3b8;font-size:.9rem;margin:0;line-height:1.5}.workspace-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:2px solid var(--border, #334155)}.workspace-tabs button{padding:.7rem 1.5rem;border:none;background:transparent;color:#64748b;font-size:.9rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.workspace-tabs button:hover{color:var(--text, #e2e8f0)}.workspace-tabs button.active{color:#60a5fa;border-bottom-color:#3b82f6;font-weight:600}.workspace-panel{background:var(--bg-secondary, #1e293b);border-radius:12px;border:1px solid var(--border, #334155);padding:1.5rem}.param-toolbar{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.param-toolbar button,.param-toolbar-upload{padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border, #475569);background:var(--bg-tertiary, #0f172a);color:var(--text, #e2e8f0);cursor:pointer;font-size:.8rem;transition:all .15s}.param-toolbar button:hover,.param-toolbar-upload:hover{border-color:#60a5fa}.param-toolbar-upload{display:inline-flex;align-items:center}.param-toolbar-upload input{display:none}.param-grid{display:grid;grid-template-columns:1fr;gap:0}.domain-compact-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.domain-compact-row select{flex:1;padding:.5rem;border-radius:6px;border:1px solid var(--border, #475569);background:var(--bg-tertiary, #0f172a);color:var(--text, #e2e8f0);font-size:.85rem}.upn-preview-compact{display:flex;flex-wrap:wrap;gap:.4rem}.upn-chip{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;background:#16653422;color:#86efac;border:1px solid #22c55e33;font-family:monospace}.steps-timeline{display:flex;flex-direction:column;gap:0}.step-row{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border, #1e293b)}.step-row:last-child{border-bottom:none}.step-row.gated{background:#f59e0b08;border-radius:6px;padding:1rem}.step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#3b82f622;color:#60a5fa;font-size:.8rem;font-weight:700;flex-shrink:0}.step-content{flex:1}.step-content strong{display:block;margin-bottom:.25rem}.step-bindings-compact{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.binding-chip{font-size:.7rem;padding:.15rem .5rem;border-radius:3px;background:var(--bg-tertiary, #0f172a);color:#94a3b8;font-family:monospace}.action-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.action-card{display:flex;gap:1rem;padding:1.25rem;border-radius:10px;border:1px solid var(--border, #334155);background:var(--bg-tertiary, #0f172a);transition:border-color .2s}.action-card:hover{border-color:#475569}.action-card-icon{font-size:1.5rem;flex-shrink:0}.action-card-content h4{margin:0 0 .3rem;font-size:.95rem}.action-card-content p{margin:0 0 .75rem;font-size:.8rem;color:#94a3b8;line-height:1.4}.btn-action{padding:.5rem 1.25rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .15s}.btn-action.deploy{background:#166534;color:#86efac}.btn-action.deploy:hover:not(:disabled){background:#15803d}.btn-action.execute{background:#1d4ed8;color:#dbeafe}.btn-action.execute:hover:not(:disabled){background:#2563eb}.btn-action.reset{background:#7f1d1d;color:#fca5a5}.btn-action.reset:hover:not(:disabled){background:#991b1b}.btn-action:disabled{opacity:.5;cursor:not-allowed}.action-hint{font-size:.85rem;color:#f59e0b;text-align:center;margin-top:1rem}[data-theme=light] .session-topbar{background:#fff;border-color:#d2dce6;box-shadow:0 1px 3px #0000000f;color:#1e293b}[data-theme=light] .session-topbar span,[data-theme=light] .session-topbar .session-label,[data-theme=light] .session-no-active{color:#4a5568}[data-theme=light] .session-topbar .btn-sm{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}[data-theme=light] .session-id-mini{background:#f1f5f9;color:#475569;border:1px solid #d2dce6}[data-theme=light] .session-module-card .module-id{color:#64748b}[data-theme=light] .session-dot.active{background:#16a34a;box-shadow:0 0 6px #16a34a66}[data-theme=light] .session-bar .btn-sm,[data-theme=light] .btn-new-session,[data-theme=light] .domain-panel .btn-sm{background:#f8fafc;color:#1e293b;border-color:#cbd5e0}[data-theme=light] .btn-sm:hover,[data-theme=light] .btn-new-session:hover{background:#edf2f7;border-color:#2b6cb0}[data-theme=light] .session-list-item{background:#fff;border-color:#d2dce6;color:#1e293b}[data-theme=light] .session-list-item.current{border-color:#3b82f6;background:#eff6ff}[data-theme=light] .session-list-item:hover{background:#f1f5f9}[data-theme=light] .featured-card{background:#fff;border-color:#d2dce6;color:#1e293b;box-shadow:0 2px 8px #0000000f}[data-theme=light] .featured-card:hover{box-shadow:0 6px 20px #0000001a;border-color:#93c5fd}[data-theme=light] .featured-card h3{color:#1e293b}[data-theme=light] .featured-card p,[data-theme=light] .featured-card .featured-desc{color:#4a5568}[data-theme=light] .featured-card .tech-count,[data-theme=light] .technique-count{color:#64748b}[data-theme=light] .featured-card .technique-tag,[data-theme=light] .technique-tag{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}[data-theme=light] .featured-card .prereq-note{color:#c53030}[data-theme=light] .risk-badge.risk-critical{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}[data-theme=light] .risk-badge.risk-high{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}[data-theme=light] .risk-badge.risk-medium{background:#fefce8;color:#854d0e;border:1px solid #fef08a}[data-theme=light] .risk-badge.risk-low{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}[data-theme=light] .session-module-card{background:#fff;border-color:#d2dce6;color:#1e293b;box-shadow:0 1px 3px #0000000a}[data-theme=light] .session-module-card:hover{border-color:#93c5fd}[data-theme=light] .session-module-card h4{color:#1e293b}[data-theme=light] .session-module-card p{color:#4a5568}[data-theme=light] .session-module-card .technique-tag{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}[data-theme=light] .collapsible-header{background:#fff;border-color:#d2dce6;color:#1e293b;box-shadow:0 1px 2px #0000000a}[data-theme=light] .collapsible-header:hover{background:#f1f5f9}[data-theme=light] .collapsible-header .group-count,[data-theme=light] .group-count{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}[data-theme=light] .workspace-panel{background:#fff;border-color:#d2dce6;box-shadow:0 2px 8px #0000000f}[data-theme=light] .workspace-tabs button{background:#f8fafc;color:#4a5568;border-color:#d2dce6}[data-theme=light] .workspace-tabs button.active{background:#fff;color:#1e293b;border-bottom-color:transparent}[data-theme=light] .param-section{background:#fff;border-color:#d2dce6}[data-theme=light] .param-field{background:#f8fafc;border-color:#d2dce6}[data-theme=light] .param-field label{color:#374151}[data-theme=light] .param-field input,[data-theme=light] .param-field select,[data-theme=light] .param-field textarea{background:#fff;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .param-field input:focus,[data-theme=light] .param-field select:focus{border-color:#2b6cb0;box-shadow:0 0 0 3px #2b6cb01a}[data-theme=light] .param-field.has-value .param-field-inner{border-left-color:#16a34a}[data-theme=light] .param-field .param-badge{background:#eff6ff;color:#1e40af}[data-theme=light] .domain-discovery-panel{background:#f0f9ff;border-color:#bae6fd}[data-theme=light] .domain-discovery-panel label{color:#1e293b}[data-theme=light] .domain-pill{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}[data-theme=light] .btn-discover-domain{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}[data-theme=light] .btn-discover-domain:hover{background:#dbeafe}[data-theme=light] .btn-apply-domain{background:#2b6cb0;color:#fff}[data-theme=light] .btn-apply-domain:hover:not(:disabled){background:#1e5a9e}[data-theme=light] .btn-download,[data-theme=light] .btn-upload{background:#f8fafc;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .btn-download:hover{border-color:#3b82f6;background:#eff6ff}[data-theme=light] .btn-upload:hover{border-color:#7c3aed;background:#f5f3ff}[data-theme=light] .btn-save-params{background:#dcfce7;border-color:#16a34a;color:#166534}[data-theme=light] .btn-save-params:hover{background:#bbf7d0}[data-theme=light] .btn-action.deploy{background:#dcfce7;color:#166534;border:1px solid #86efac}[data-theme=light] .btn-action.deploy:hover:not(:disabled){background:#bbf7d0}[data-theme=light] .btn-action.execute{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}[data-theme=light] .btn-action.execute:hover:not(:disabled){background:#bfdbfe}[data-theme=light] .btn-action.reset{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}[data-theme=light] .btn-action.reset:hover:not(:disabled){background:#fee2e2}[data-theme=light] .btn-deploy-session{background:#16a34a;color:#fff}[data-theme=light] .btn-deploy-session:hover:not(:disabled){background:#15803d}[data-theme=light] .btn-execute-session{background:#2563eb;color:#fff}[data-theme=light] .btn-execute-session:hover:not(:disabled){background:#1d4ed8}[data-theme=light] .step-item{background:#f8fafc;border-color:#d2dce6;color:#1e293b}[data-theme=light] .step-item .step-status{color:#4a5568}[data-theme=light] .step-item code{background:#edf2f7;color:#1e293b}[data-theme=light] .layer-badge{background:#edf2f7;color:#2d3748}[data-theme=light] .layer-badge.layer-deployment{background:#dcfce7;color:#166534;border-color:#86efac}[data-theme=light] .action-hint{color:#b45309}[data-theme=light] .session-launcher h2,[data-theme=light] .session-launcher h3{color:#1e293b}[data-theme=light] .session-launcher p{color:#4a5568}[data-theme=light] .session-list-panel{background:#fff;border-color:#d2dce6}[data-theme=light] .session-list-info code{color:#475569}[data-theme=light] .session-meta,[data-theme=light] .session-hint{color:#64748b}[data-theme=light] .session-module-select .subtitle{color:#4a5568}[data-theme=light] .session-filter-bar button{background:#fff;border-color:#cbd5e0;color:#4a5568}[data-theme=light] .session-filter-bar button.active{background:#2563eb;border-color:#2563eb;color:#fff}[data-theme=light] .session-filter-bar button:hover:not(.active){border-color:#93c5fd;background:#eff6ff}[data-theme=light] .featured-subtitle{color:#64748b}[data-theme=light] .session-module-card .card-desc{color:#4a5568}[data-theme=light] .card-deps{color:#b45309}[data-theme=light] .workspace-desc,[data-theme=light] .session-desc{color:#4a5568}[data-theme=light] .workspace-tabs{border-bottom-color:#d2dce6}[data-theme=light] .workspace-tabs button{color:#64748b;background:transparent}[data-theme=light] .workspace-tabs button:hover{color:#1e293b}[data-theme=light] .workspace-tabs button.active{color:#2563eb;border-bottom-color:#2563eb}[data-theme=light] .session-template-bar{background:#fff;border-color:#d2dce6}[data-theme=light] .domain-panel{background:#f0f9ff;border-color:#7dd3fc}[data-theme=light] .domain-tenant-id label{color:#475569}[data-theme=light] .domain-tenant-id code{background:#edf2f7;color:#1e293b}[data-theme=light] .domain-info-item{background:#fff;border-color:#d2dce6}[data-theme=light] .domain-info-label{color:#64748b}[data-theme=light] .domain-info-item code{color:#0369a1}[data-theme=light] .upn-table th{background:#f1f5f9;color:#475569}[data-theme=light] .upn-table td{border-color:#e2e8f0}[data-theme=light] .upn-table code{color:#166534}[data-theme=light] .upn-chip{background:#dcfce7;color:#166534;border-color:#86efac}[data-theme=light] .domain-select-row select{background:#fff;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .session-params-section{background:#fff;border-color:#d2dce6}[data-theme=light] .session-params-section h3{color:#475569}[data-theme=light] .param-field-inner{background:#fafbfc;border-color:#d2dce6}[data-theme=light] .param-field-inner:hover{border-color:#94a3b8}[data-theme=light] .param-friendly-name{color:#1e293b}[data-theme=light] .param-key-hint{background:#edf2f7;color:#64748b}[data-theme=light] .param-field-desc{color:#64748b}[data-theme=light] .param-field-input input{color:#1e293b;border-bottom-color:#cbd5e0}[data-theme=light] .param-field-input input::placeholder{color:#94a3b8}[data-theme=light] .param-eye-btn:hover{background:#edf2f7}[data-theme=light] .deployment-param-group{background:#f8fafc;border-color:#d2dce6}[data-theme=light] .dep-id{color:#64748b}[data-theme=light] .session-step-card{background:#fafbfc;border-color:#d2dce6}[data-theme=light] .step-index{background:#eff6ff;color:#2563eb}[data-theme=light] .step-header code{color:#475569}[data-theme=light] .step-number{background:#eff6ff;color:#2563eb}[data-theme=light] .step-content strong{color:#1e293b}[data-theme=light] .approval-badge{background:#fffbeb;color:#b45309;border-color:#fcd34d}[data-theme=light] .binding-tag{background:#dcfce7;color:#166534;border-color:#86efac}[data-theme=light] .binding-tag code{color:#166534}[data-theme=light] .binding-label,[data-theme=light] .unbound-label{color:#64748b}[data-theme=light] .unbound-tag{background:#f1f5f9;color:#64748b}[data-theme=light] .binding-chip{background:#f1f5f9;color:#475569}[data-theme=light] .step-row{border-bottom-color:#e2e8f0}[data-theme=light] .step-row.gated{background:#fffbeb}[data-theme=light] .action-card{background:#fff;border-color:#d2dce6}[data-theme=light] .action-card:hover{border-color:#93c5fd}[data-theme=light] .action-card-content h4{color:#1e293b}[data-theme=light] .action-card-content p{color:#4a5568}[data-theme=light] .params-loaded-badge{background:#dcfce7;color:#166534}[data-theme=light] .layer-badge.layer-path{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}[data-theme=light] .layer-badge.layer-scenario{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}[data-theme=light] .layer-badge.layer-deployment{background:#f0fdf4;color:#166534;border-color:#86efac}[data-theme=light] .layer-badge.layer-task{background:#fffbeb;color:#92400e;border-color:#fcd34d}[data-theme=light] .param-toolbar button,[data-theme=light] .param-toolbar-upload{background:#fff;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .param-toolbar button:hover,[data-theme=light] .param-toolbar-upload:hover{border-color:#3b82f6;background:#eff6ff}[data-theme=light] .domain-compact-row select{background:#fff;border-color:#cbd5e0;color:#1e293b}[data-theme=light] .empty-state{color:#64748b}[data-theme=light] .collapsible-section{border-color:#d2dce6}[data-theme=light] .session-actions{border-top-color:#d2dce6}[data-theme=light] .session-module-card.risk-low .risk-label{color:#16a34a}[data-theme=light] .session-module-card.risk-medium .risk-label{color:#ca8a04}[data-theme=light] .session-module-card.risk-high .risk-label{color:#ea580c}[data-theme=light] .session-module-card.risk-critical .risk-label{color:#dc2626}:root,[data-theme=dark]{--bg: #0f1419;--surface: #1a2332;--border: #2d3748;--text: #e2e8f0;--muted: #718096;--accent: #63b3ed;--danger: #fc8181;--warning: #f6ad55;--success: #68d391;--code-bg: #0d1117;--code-border: #30363d;--code-text: #c9d1d9}[data-theme=light]{--bg: #f0f4f8;--surface: #ffffff;--border: #d2dce6;--text: #1a202c;--muted: #4a5568;--accent: #2b6cb0;--danger: #c53030;--warning: #c05621;--success: #276749;--code-bg: #edf2f7;--code-border: #cbd5e0;--code-text: #1a202c}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{max-width:1400px;margin:0 auto;padding:1rem}header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}header h1{font-size:1.5rem}nav button{background:transparent;border:1px solid var(--border);color:var(--text);padding:.4rem 1rem;margin-left:.5rem;border-radius:6px;cursor:pointer}nav button.active{background:var(--accent);color:#000;border-color:var(--accent)}.nav-more{position:relative;display:inline-block;margin-left:.5rem}.nav-more>button{background:transparent;border:1px solid var(--border);color:var(--text);padding:.4rem 1rem;border-radius:6px;cursor:pointer}.nav-more>button.active{background:var(--accent);color:#000;border-color:var(--accent)}.nav-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.25rem;z-index:100;min-width:150px;box-shadow:0 8px 24px #0000004d}.nav-dropdown button{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:.5rem .75rem;border-radius:6px;cursor:pointer;margin:0}.nav-dropdown button:hover{background:var(--border)}.theme-toggle{font-size:1.1rem;padding:.4rem .6rem!important}.user-info{display:inline-flex;align-items:center;gap:.5rem;margin-left:.75rem;padding-left:.75rem;border-left:1px solid var(--border)}.user-name{font-size:.8rem;color:var(--text-muted, #aaa);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:transparent;border:none;color:var(--text-muted, #aaa);cursor:pointer;font-size:1rem;padding:.2rem .4rem;border-radius:4px}.logout-btn:hover{background:#ff3c3c26;color:#f44}.message{background:var(--surface);border:1px solid var(--accent);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between}.message button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.2rem}.filters{display:flex;gap:.5rem;margin-bottom:1rem}.filters select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.4rem .8rem;border-radius:6px}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.module-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;cursor:pointer;transition:border-color .2s}.module-card:hover{border-color:var(--accent)}.module-card h3{margin:.5rem 0 .25rem;font-size:1rem}.module-card code{font-size:.8rem;color:var(--muted)}.module-card .techniques{margin-top:.5rem;font-size:.75rem;color:var(--accent)}.layer-badge,.risk-badge{font-size:.7rem;padding:2px 6px;border-radius:4px;text-transform:uppercase}.layer-badge{background:#2d3748}.risk-badge{margin-left:.5rem}.risk-low .risk-badge{background:#2f855a}.risk-medium .risk-badge{background:#c05621}.risk-high .risk-badge{background:#c53030}.risk-critical .risk-badge{background:#9b2c2c;color:#fff}.detail-panel{position:fixed;right:0;top:0;width:450px;height:100vh;background:var(--surface);border-left:1px solid var(--border);padding:2rem;overflow-y:auto;z-index:100}.detail-panel h2{margin-bottom:.5rem}.detail-panel table{width:100%;margin:1rem 0}.detail-panel td{padding:.3rem .5rem;border-bottom:1px solid var(--border)}.param-row{margin-bottom:.75rem}.param-row label{display:block;font-size:.85rem;margin-bottom:.25rem}.param-row .required{color:var(--danger)}.param-row .sensitive-badge{margin-left:.4rem;font-size:.75rem}.param-input-wrap{display:flex;align-items:center;gap:.25rem}.param-input-wrap input{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.4rem;border-radius:4px}.btn-eye{background:none;border:1px solid var(--border);border-radius:4px;padding:.3rem .5rem;cursor:pointer;font-size:.9rem;line-height:1}.btn-eye:hover{border-color:var(--accent)}.actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.actions button,.btn-close{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-deploy{background:var(--accent);color:#000}.btn-run{background:var(--success);color:#000}.btn-schedule{background:var(--warning);color:#000}.btn-close{background:var(--border);color:var(--text);margin-top:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.8rem;text-transform:uppercase}.status-active,.result-success{color:var(--success)}.status-scheduled{color:var(--accent)}.status-failed{color:var(--danger)}.status-awaiting_approval{color:var(--warning)}.compose-view{height:calc(100vh - 120px)}.compose-split{display:flex;gap:1rem;height:100%}.compose-palette{width:300px;flex-shrink:0;overflow-y:auto;background:var(--surface);border-radius:8px;padding:1rem;border:1px solid var(--border)}.compose-palette h3{font-size:.9rem;margin-bottom:.75rem;color:var(--muted)}.palette-list{display:flex;flex-direction:column;gap:.4rem}.palette-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:grab;font-size:.85rem;transition:border-color .2s}.palette-item:active{cursor:grabbing}.palette-item:hover{border-color:var(--accent)}.palette-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compose-canvas{flex:1;display:flex;flex-direction:column}.canvas-header{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.compose-layer-select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.6rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer}.compose-name-input{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.6rem 1rem;border-radius:6px;font-size:1rem}.btn-save-compose{background:var(--accent);color:#000;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600}.btn-save-compose:disabled{opacity:.4;cursor:not-allowed}.canvas-drop-zone{flex:1;border:2px dashed var(--border);border-radius:8px;padding:1rem;overflow-y:auto;min-height:300px;transition:border-color .2s}.canvas-drop-zone:hover{border-color:var(--accent)}.canvas-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:1.1rem}.canvas-node{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:.5rem;cursor:grab;transition:all .15s}.canvas-node:active{cursor:grabbing}.canvas-node.drag-over{border-color:var(--accent);transform:translateY(2px)}.canvas-node-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.canvas-node-index{font-size:.7rem;font-weight:700;color:var(--accent);background:#63b3ed26;padding:2px 6px;border-radius:4px}.stage-name-input{flex:1;background:transparent;border:1px solid transparent;color:var(--text);padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.stage-name-input:focus{border-color:var(--border);background:var(--bg);outline:none}.btn-edit-node{background:var(--border);border:none;color:var(--text);padding:2px 8px;border-radius:4px;cursor:pointer;font-size:.75rem}.btn-remove-node{background:transparent;border:none;color:var(--danger);cursor:pointer;font-size:1rem;font-weight:700}.canvas-node-body{display:flex;align-items:center;gap:.5rem}.canvas-node-body code{font-size:.75rem;color:var(--muted)}.canvas-node-label{font-size:.85rem}.node-editor-panel{position:fixed;right:0;top:0;width:400px;height:100vh;background:var(--surface);border-left:1px solid var(--border);padding:2rem;overflow-y:auto;z-index:100}.node-editor-panel h3{margin-bottom:.75rem}.node-editor-hint{font-size:.8rem;color:var(--muted);margin-bottom:1rem}.node-editor-hint code{color:var(--accent)}.admin-page{padding:.5rem 0}.admin-nav{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}.admin-nav button{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem}.admin-nav button.active{background:var(--accent);color:#000;border-color:var(--accent)}.admin-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.admin-section h2{margin-bottom:1rem}.admin-note{font-size:.85rem;color:var(--muted);margin-bottom:.75rem}.admin-form{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.admin-form h4{margin-bottom:.5rem}.admin-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.4rem .6rem;border-radius:4px;margin-right:.5rem;margin-bottom:.5rem}.btn-danger{background:var(--danger);color:#000;border:none;padding:.3rem .6rem;border-radius:4px;cursor:pointer;margin-left:.5rem}.credential-tenant{margin-bottom:1rem;padding:.75rem;background:var(--bg);border-radius:6px}.config-page{padding:.5rem 0}.config-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.config-tabs button{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.5rem 1rem;border-radius:6px;cursor:pointer}.config-tabs button.active{background:var(--accent);color:#000;border-color:var(--accent)}.config-editor-layout{display:flex;gap:1rem;height:calc(100vh - 180px)}.config-editor-main{flex:1;display:flex;flex-direction:column}.config-editor-sidebar{width:400px;overflow-y:auto}.editor-toolbar{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap;align-items:center}.editor-toolbar select,.editor-toolbar button,.btn-import{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.4rem .7rem;border-radius:4px;cursor:pointer;font-size:.8rem}.btn-import{display:inline-block}.spec-textarea{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:Fira Code,Consolas,monospace;font-size:.85rem;padding:1rem;border-radius:6px;resize:none;line-height:1.5}.params-textarea{width:100%;height:80px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:monospace;font-size:.8rem;padding:.5rem;border-radius:4px;resize:vertical;margin-bottom:1rem}.validation-result{margin-top:.5rem;padding:.5rem .75rem;border-radius:4px;font-size:.85rem}.validation-result.valid{background:#68d39126;color:var(--success)}.validation-result.invalid{background:#fc818126;color:var(--danger)}.validation-error{margin:.25rem 0}.compile-output{background:var(--bg);border-radius:6px;padding:1rem;margin-top:.5rem}.compile-output h4{margin-bottom:.5rem}.compile-output pre{font-size:.75rem;overflow-x:auto;white-space:pre-wrap;color:var(--muted)}.compile-section{margin-bottom:.75rem}.compile-section strong{font-size:.8rem;color:var(--accent)}.credential-note{font-size:.75rem;color:var(--warning);margin-bottom:.5rem}.config-browse{background:var(--surface);border-radius:8px;padding:1.5rem;border:1px solid var(--border)}.config-browse h2{margin-bottom:1rem}.wiki-page{padding:1rem}.wiki-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.wiki-tabs button{padding:.5rem 1.25rem;border-radius:6px 6px 0 0;background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer}.wiki-tabs button.active{background:var(--accent);color:#000;font-weight:600}.wiki-message{background:var(--success);color:#000;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.wiki-message button{background:none;border:none;font-size:1.1rem;cursor:pointer}.wiki-docs{max-width:900px}.wiki-docs h2{color:var(--accent);margin-bottom:1rem}.wiki-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem}.wiki-section h3{color:var(--accent);margin-bottom:.75rem}.wiki-section p{color:var(--text);line-height:1.6;margin-bottom:.5rem}.wiki-section ul,.wiki-section ol{padding-left:1.5rem;color:var(--text);line-height:1.8}.wiki-code{background:var(--code-bg);border:1px solid var(--code-border);border-radius:6px;padding:1rem;font-family:Fira Code,monospace;font-size:.8rem;color:var(--code-text);overflow-x:auto;white-space:pre;margin:.75rem 0}.wiki-table{width:100%;border-collapse:collapse}.wiki-table th,.wiki-table td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left;font-size:.85rem}.wiki-table th{background:#1a2332;color:var(--accent)}.wiki-table td{color:var(--text)}.wiki-table code{background:#0d1117;padding:2px 5px;border-radius:3px;font-size:.8rem}.wiki-note{background:#1a1a2e;border-left:3px solid var(--accent);padding:.75rem 1rem;border-radius:0 6px 6px 0;color:#a0aec0;font-size:.9rem}.wiki-submit{max-width:800px}.wiki-submit h2{color:var(--accent);margin-bottom:.25rem}.wiki-subtitle{color:#a0aec0;margin-bottom:1.25rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-grid label{display:flex;flex-direction:column;gap:.3rem;color:var(--text);font-size:.85rem}.form-grid label.full-width{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.5rem;color:var(--text);font-size:.85rem}.form-grid textarea{resize:vertical;font-family:Fira Code,monospace}.btn-primary{background:var(--accent);color:#000;border:none;padding:.6rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer}.btn-primary:hover{opacity:.9}.wiki-browse h2{color:var(--accent);margin-bottom:1rem}.wiki-browse .empty{color:#a0aec0}.fr-list{display:flex;flex-direction:column;gap:.75rem}.fr-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.fr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.fr-title{font-weight:600;color:var(--text)}.fr-status{color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;text-transform:capitalize}.fr-desc{color:#a0aec0;font-size:.9rem;margin:.25rem 0}.fr-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:#718096}.fr-usecase{font-size:.85rem;color:#a0aec0;margin-top:.25rem}.fr-admin-note{font-size:.85rem;color:#8be9fd;margin-top:.25rem}.fr-enrolled{font-size:.85rem;color:#50fa7b}.btn-vote{background:none;border:1px solid var(--border);border-radius:6px;padding:.25rem .75rem;color:var(--text);cursor:pointer;margin-top:.5rem}.btn-vote:hover{border-color:var(--accent)}.link-btn{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.85rem;text-decoration:none;font-family:SF Mono,monospace;padding:0;transition:color .15s}.link-btn:hover{color:#93c5fd;text-decoration:underline}.status-pill{font-size:.7rem;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;font-weight:600}.status-pill.status-active,.status-pill.status-succeeded{background:#16653422;color:#86efac}.status-pill.status-failed{background:#7f1d1d22;color:#fca5a5}.status-pill.status-running,.status-pill.status-deploying{background:#1e3a5f22;color:#93c5fd}.status-pill.status-scheduled{background:#7c3aed22;color:#a78bfa}.status-pill.status-torn_down,.status-pill.status-cleaned{background:#47556922;color:#94a3b8}.status-pill.status-not_deployed{background:#47556922;color:#64748b}[data-theme=light] header{border-bottom:2px solid var(--border)}[data-theme=light] nav button{border-color:#cbd5e0;color:#2d3748;font-weight:500}[data-theme=light] nav button:hover{background:#edf2f7}[data-theme=light] nav button.active{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=light] .nav-more>button.active{background:var(--accent);color:#fff}[data-theme=light] .btn-deploy,[data-theme=light] .btn-save-compose,[data-theme=light] .btn-primary,[data-theme=light] .btn-run,[data-theme=light] .btn-schedule,[data-theme=light] .admin-nav button.active,[data-theme=light] .config-tabs button.active,[data-theme=light] .btn-danger{color:#fff}[data-theme=light] .module-card{box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}[data-theme=light] .module-card:hover{box-shadow:0 4px 12px #0000001a}[data-theme=light] .detail-panel{box-shadow:-4px 0 16px #00000014}[data-theme=light] .layer-badge{background:#e2e8f0;color:#2d3748;border:1px solid #cbd5e0}[data-theme=light] .risk-low .risk-badge{background:#f0fff4;color:#276749;border:1px solid #9ae6b4}[data-theme=light] .risk-medium .risk-badge{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}[data-theme=light] .risk-high .risk-badge{background:#fff5f5;color:#c53030;border:1px solid #feb2b2}[data-theme=light] .risk-critical .risk-badge{background:#fff5f5;color:#9b2c2c;border:1px solid #fc8181;font-weight:700}[data-theme=light] .wiki-table th{background:#f1f5f9;color:#1e40af;border-color:#d2dce6}[data-theme=light] .wiki-table td{color:#1e293b;border-color:#e2e8f0}[data-theme=light] .wiki-table code{background:#f1f5f9;color:#1e293b;border:1px solid #d2dce6}[data-theme=light] .wiki-note{background:#eff6ff;border-left-color:#3b82f6;color:#1e293b}[data-theme=light] .wiki-subtitle,[data-theme=light] .fr-desc,[data-theme=light] .fr-usecase{color:#4a5568}[data-theme=light] .fr-admin-note{color:#0369a1}[data-theme=light] .fr-enrolled{color:#166534}[data-theme=light] .fr-meta{color:#64748b}[data-theme=light] .btn-primary,[data-theme=light] .wiki-tabs button.active{color:#fff}[data-theme=light] .wiki-message{background:#dcfce7;color:#166534;border:1px solid #86efac}[data-theme=light] .wiki-message button{color:inherit}[data-theme=light] .wiki-browse .empty{color:#64748b}[data-theme=light] .link-btn{color:#2b6cb0}[data-theme=light] .link-btn:hover{color:#1a4971}[data-theme=light] .status-pill.status-active,[data-theme=light] .status-pill.status-succeeded{background:#c6f6d5;color:#22543d}[data-theme=light] .status-pill.status-failed{background:#fed7d7;color:#742a2a}[data-theme=light] .status-pill.status-running,[data-theme=light] .status-pill.status-deploying{background:#bee3f8;color:#2a4365}[data-theme=light] .status-pill.status-scheduled{background:#e9d8fd;color:#44337a}[data-theme=light] .status-pill.status-torn_down,[data-theme=light] .status-pill.status-cleaned,[data-theme=light] .status-pill.status-not_deployed{background:#e2e8f0;color:#4a5568}[data-theme=light] .filters select{border-color:#cbd5e0;background:#fff}[data-theme=light] .message{box-shadow:0 1px 3px #0000000f}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{border-color:#cbd5e0;background:#fff;color:#1a202c}[data-theme=light] input:focus,[data-theme=light] textarea:focus,[data-theme=light] select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2b6cb026}[data-theme=light] .nav-dropdown{box-shadow:0 8px 24px #0000001f;border-color:#cbd5e0}[data-theme=light] .nav-dropdown button:hover{background:#edf2f7}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f23,#1a1a3e,#0f0f23)}[data-theme=light] .login-page{background:linear-gradient(135deg,#e8eaf6,#f5f5f5,#e8eaf6)}.login-card{background:#1e1e3ce6;border:1px solid rgba(100,100,255,.2);border-radius:16px;padding:3rem;text-align:center;max-width:400px;width:90%;box-shadow:0 20px 60px #0006}[data-theme=light] .login-card{background:#fffffff2;border:1px solid #ddd;box-shadow:0 8px 32px #0000001a}.login-logo{font-size:4rem;margin-bottom:.5rem}.login-card h1{margin:0 0 .25rem;font-size:2rem;color:#fff}[data-theme=light] .login-card h1{color:#1a1a2e}.login-subtitle{color:#aaa;margin:0 0 1.5rem;font-size:.9rem}[data-theme=light] .login-subtitle{color:#666}.login-desc{color:#ccc;font-size:.85rem;margin-bottom:2rem;line-height:1.5}[data-theme=light] .login-desc{color:#555}.login-btn{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:#2f2f6f;border:1px solid rgba(100,100,255,.3);border-radius:8px;cursor:pointer;transition:all .2s}.login-btn:hover{background:#3f3f8f;border-color:#6464ff99;transform:translateY(-1px)}[data-theme=light] .login-btn{background:#1a73e8;border-color:#1a73e8;color:#fff}[data-theme=light] .login-btn:hover{background:#1557b0}.login-footer{color:#888;font-size:.75rem;margin-top:2rem;line-height:1.5}[data-theme=light] .login-footer{color:#777}.login-footer strong{color:#bbb}[data-theme=light] .login-footer strong{color:#333}
