@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700&family=Space+Mono:wght@400;700&family=Barlow:wght@300;400;500;600&display=swap";.notif-bell[data-v-1eb10da4]{position:relative}.notif-badge[data-v-1eb10da4]{background:var(--danger,#ff1744);color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;font-family:Space Mono,monospace;font-size:.5rem;display:flex;position:absolute;top:-4px;right:-4px}.clickable[data-v-1eb10da4]{cursor:pointer;border-bottom:1px dashed #00c8ff4d}.clickable[data-v-1eb10da4]:hover{color:var(--primary,#00c8ff)}.my-access[data-v-cf0f5714]{padding:1rem}.id-card[data-v-cf0f5714]{background:var(--surface-2,#1a1a2e);border:1px solid var(--border,#333);border-radius:8px;margin-bottom:1rem;padding:1rem;position:relative;overflow:hidden}.id-glow[data-v-cf0f5714]{background:radial-gradient(circle,#00c8ff08 0%,#0000 70%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.id-header[data-v-cf0f5714]{align-items:center;gap:.75rem;display:flex;position:relative}.id-avatar[data-v-cf0f5714]{background:var(--accent,#00c8ff);color:#000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.7rem;font-weight:700;display:flex}.id-name[data-v-cf0f5714]{color:var(--text-primary,#eee);font-size:.85rem;font-weight:600}.id-badge[data-v-cf0f5714]{color:var(--accent,#00c8ff);background:#00c8ff26;border-radius:3px;margin-right:.5rem;padding:2px 6px;font-size:.6rem}.id-tenant[data-v-cf0f5714]{color:var(--text-secondary,#888);font-size:.6rem}.access-section[data-v-cf0f5714]{margin-bottom:1rem}.section-label[data-v-cf0f5714]{letter-spacing:.1em;color:var(--text-secondary,#888);margin-bottom:.4rem;font-size:.6rem;font-weight:600}.access-item[data-v-cf0f5714]{color:var(--text-primary,#ccc);align-items:center;gap:.4rem;padding:3px 0;font-size:.75rem;display:flex}.access-item.granted[data-v-cf0f5714]{color:var(--success,#4caf50)}.access-item.restricted[data-v-cf0f5714]{color:var(--danger,#f44336)}.dot[data-v-cf0f5714]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-on[data-v-cf0f5714]{background:var(--success,#4caf50)}.dot-off[data-v-cf0f5714]{background:var(--danger,#f44336)}.billing-records[data-v-4d2faa0f]{flex-direction:column;gap:6px;display:flex}.billing-record[data-v-4d2faa0f]{background:#00c8ff08;border:1px solid #00c8ff0f;border-radius:2px;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;transition:border-color .2s;display:flex}.billing-record[data-v-4d2faa0f]:hover{border-color:#00c8ff26}.br-event[data-v-4d2faa0f]{color:var(--text,#c8d8e8);flex:1}.br-plan[data-v-4d2faa0f]{letter-spacing:.1em;text-transform:uppercase;color:var(--primary,#00c8ff);background:#00c8ff1a;border-radius:1px;padding:2px 8px;font-family:Orbitron,monospace;font-size:.6rem}.br-time[data-v-4d2faa0f]{color:#c8d8e84d;white-space:nowrap;font-family:Space Mono,monospace;font-size:.65rem}.sub-current[data-v-5d789925]{color:var(--text-dim,#c8d8e873);margin-bottom:16px;font-size:.8rem}.sub-current strong[data-v-5d789925]{color:var(--primary,#00c8ff);font-family:Space Mono,monospace}.usage-section[data-v-5d789925]{background:linear-gradient(135deg,#00c8ff08 0%,#7800ff08 100%);border:1px solid #00c8ff1a;border-radius:8px;width:100%;padding:10px 12px;position:relative;overflow:hidden}.usage-section[data-v-5d789925]:before{content:"";background:linear-gradient(90deg,#0000,#00c8ff66,#0000);height:1px;position:absolute;top:0;left:0;right:0}.usage-title[data-v-5d789925]{color:var(--primary,#00c8ff);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.6rem;font-weight:700;display:block}.usage-table[data-v-5d789925]{border-collapse:collapse;width:100%;color:var(--text-dim,#c8d8e899);font-size:.6rem}.usage-table tr[data-v-5d789925]{border-bottom:1px solid #00c8ff0f;transition:background .2s}.usage-table tr[data-v-5d789925]:hover{background:#00c8ff0a}.usage-table tr[data-v-5d789925]:last-child{border-bottom:none}.usage-label[data-v-5d789925]{padding:5px 0;font-size:.6rem}.usage-value[data-v-5d789925]{text-align:right;white-space:nowrap;color:#00c8ffb3;letter-spacing:.3px;padding:5px 0;font-family:Space Mono,monospace;font-size:.55rem}.usage-note[data-v-5d789925]{color:var(--text-dim,#c8d8e859);border-top:1px solid #00c8ff0f;margin-top:.5rem;padding-top:.4rem;font-size:.5rem;font-style:italic;display:block}.msg-channels[data-v-b96870dc]{gap:4px;padding:2px 0;display:flex}.msg-ch-btn[data-v-b96870dc]{color:#c8d8e866;cursor:pointer;letter-spacing:.06em;white-space:nowrap;background:0 0;border:1px solid #00c8ff1a;border-radius:2px;padding:4px 10px;font-family:Orbitron,sans-serif;font-size:.68rem;transition:all .2s}.msg-ch-btn[data-v-b96870dc]:hover{color:#00c8ffb3;border-color:#00c8ff4d}.msg-ch-btn.active[data-v-b96870dc]{color:var(--primary,#00c8ff);background:#00c8ff0f;border-color:#00c8ff66}.coming-soon-view[data-v-b96870dc]{opacity:.4;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:60%;display:flex}.cs-icon[data-v-b96870dc]{font-size:2rem}.cs-title[data-v-b96870dc]{letter-spacing:.1em;font-family:Orbitron,sans-serif;font-size:.85rem}.cs-hint[data-v-b96870dc]{text-align:center;max-width:220px;font-size:.72rem;line-height:1.5}.optout-view[data-v-b96870dc]{padding:16px}.optout-view h3[data-v-b96870dc]{letter-spacing:.06em;color:var(--text-1,#c8d8e8);margin:0 0 8px;font-family:Orbitron,sans-serif;font-size:.75rem}.optout-view p[data-v-b96870dc]{opacity:.6;margin:0 0 12px;font-size:.65rem;line-height:1.5}.btn-outline[data-v-b96870dc]{color:#00c8ffcc;cursor:pointer;letter-spacing:.05em;background:0 0;border:1px solid #00c8ff4d;border-radius:2px;padding:6px 14px;font-family:Orbitron,monospace;font-size:.55rem;transition:all .2s}.btn-outline[data-v-b96870dc]:hover{background:#00c8ff0f;border-color:#00c8ff99}.btn-outline[data-v-b96870dc]:disabled{opacity:.4;cursor:not-allowed}.btn-danger-outline[data-v-b96870dc]{color:#f44c;cursor:pointer;letter-spacing:.05em;background:0 0;border:1px solid #ff44444d;border-radius:2px;padding:6px 14px;font-family:Orbitron,monospace;font-size:.55rem;transition:all .2s}.btn-danger-outline[data-v-b96870dc]:hover{background:#ff44440f;border-color:#f449}.btn-danger-outline[data-v-b96870dc]:disabled{opacity:.4;cursor:not-allowed}.chat-viewer[data-v-c8628bd2]{flex-direction:column;height:100%;display:flex}.chat-history[data-v-c8628bd2]{scrollbar-width:thin;scrollbar-color:#00c8ff4d transparent;flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.chat-msg[data-v-c8628bd2]{word-break:break-word;border-radius:3px;max-width:85%;padding:8px 12px;font-size:.78rem;line-height:1.5}.chat-out[data-v-c8628bd2]{color:#04060a;background:#00c8ffe6;border-radius:3px 3px 0;align-self:flex-end}.chat-in[data-v-c8628bd2]{color:#c8d8e8;background:#00c8ff0a;border:1px solid #00c8ff14;border-radius:3px 3px 3px 0;align-self:flex-start}.chat-text[data-v-c8628bd2] h1{color:#00c8ffcc;margin:.4em 0 .2em;font-family:Orbitron,monospace;font-size:.85rem;font-weight:600}.chat-text[data-v-c8628bd2] h2{color:#00c8ffb3;margin:.3em 0 .2em;font-family:Orbitron,monospace;font-size:.8rem;font-weight:600}.chat-text[data-v-c8628bd2] h3{margin:.3em 0 .1em;font-size:.78rem;font-weight:600}.chat-text[data-v-c8628bd2] ul,.chat-text[data-v-c8628bd2] ol{margin:.2em 0;padding-left:1.2em}.chat-text[data-v-c8628bd2] li{margin:.1em 0}.chat-text[data-v-c8628bd2] strong{color:#00c8ffe6}.chat-text[data-v-c8628bd2] hr{border:none;border-top:1px solid #00c8ff1a;margin:.4em 0}.chat-text[data-v-c8628bd2] p{margin:0 0 .3em}.chat-text[data-v-c8628bd2] p:last-child{margin-bottom:0}.chat-quote[data-v-c8628bd2]{opacity:.85;border-left:2px solid #00c8ff4d;padding-left:8px;font-style:italic}.chat-text[data-v-c8628bd2] code{background:#00c8ff14;border-radius:2px;padding:.1em .3em;font-size:.72rem}.chat-text[data-v-c8628bd2] table{border-collapse:collapse;width:100%;margin:.4rem 0;font-size:.7rem}.chat-text[data-v-c8628bd2] th{color:#00c8ffb3;text-align:left;background:#00c8ff0d;border:1px solid #00c8ff1a;padding:3px 6px}.chat-text[data-v-c8628bd2] td{border:1px solid #00c8ff0f;padding:3px 6px}.chat-time[data-v-c8628bd2]{color:#c8d8e859;letter-spacing:.03em;margin-top:2px;font-size:.6rem;display:block}.chat-status[data-v-c8628bd2]{margin-right:2px;font-weight:600}.st-sending[data-v-c8628bd2]{color:#c8d8e866}.st-submitted[data-v-c8628bd2]{color:#00c8ff99}.st-executed[data-v-c8628bd2],.st-approved[data-v-c8628bd2]{color:#00ff7fb3}.st-denied[data-v-c8628bd2],.st-failed[data-v-c8628bd2]{color:#ff5050b3}.st-executed[data-v-c8628bd2],.st-approved[data-v-c8628bd2],.st-submitted[data-v-c8628bd2]{color:#00c8ff99}.st-sending[data-v-c8628bd2],.st-pending[data-v-c8628bd2]{color:#c8d8e866}.st-failed[data-v-c8628bd2],.st-denied[data-v-c8628bd2]{color:#ff3c3c99}.chat-build[data-v-c8628bd2]{color:#00c8ff80;background:#00c8ff14;border-radius:2px;margin-right:4px;padding:0 3px;font-family:Space Mono,monospace;font-size:.55rem}.chat-refined[data-v-c8628bd2]{color:#04060a99;margin-top:2px;font-size:.65rem;font-style:italic;display:block}.chat-in .chat-refined[data-v-c8628bd2]{color:#00c8ff80}.chat-thinking[data-v-c8628bd2]{cursor:pointer;background:#00c8ff05;border-radius:2px;margin-bottom:4px;padding:4px 6px;font-size:.65rem}.thinking-label[data-v-c8628bd2]{color:#00c8ff66}.thinking-body[data-v-c8628bd2]{color:#c8d8e866;margin-top:4px;font-size:.62rem;line-height:1.4}.chat-stream[data-v-c8628bd2]{animation:1.5s infinite stream-pulse-c8628bd2}.chat-stream-indicator[data-v-c8628bd2]{align-items:center;gap:4px;padding:2px 0;display:flex}.chat-stream-text[data-v-c8628bd2]{color:#c8d8e880;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.72rem;overflow:hidden}.chat-stream-dots[data-v-c8628bd2]{gap:3px;display:flex}.chat-stream-dots span[data-v-c8628bd2]{background:#00c8ff99;border-radius:50%;width:6px;height:6px;animation:1.4s infinite stream-dot-c8628bd2;display:inline-block}.chat-stream-dots span[data-v-c8628bd2]:nth-child(2){animation-delay:.2s}.chat-stream-dots span[data-v-c8628bd2]:nth-child(3){animation-delay:.4s}@keyframes stream-dot-c8628bd2{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes stream-pulse-c8628bd2{0%,to{opacity:1}50%{opacity:.5}}.chat-error[data-v-c8628bd2]{text-align:center;background:#ff28280f!important;border:1px solid #ff282826!important;align-self:center!important;max-width:90%!important}.chat-error-text[data-v-c8628bd2]{color:#f44;font-size:.72rem}.chat-consent[data-v-c8628bd2]{box-sizing:border-box;letter-spacing:.5px;color:#00c8ffe6;border-radius:3px;font-family:Space Mono,monospace;font-size:.75rem;background:#00c8ff0f!important;border:1px solid #00c8ff26!important;width:100%!important;max-width:100%!important;padding:8px 12px!important}.chat-consent-resolved[data-v-c8628bd2]{background:#00c8ff08;border:1px solid #00c8ff1a;border-radius:3px;align-self:flex-start;max-width:85%;padding:8px 12px}.consent-resolved-label[data-v-c8628bd2]{color:#00c8ff80;letter-spacing:.06em;margin-bottom:4px;font-family:Orbitron,monospace;font-size:.65rem;display:block}.consent-resolved-status[data-v-c8628bd2]{margin-top:4px;font-family:Space Mono,monospace;font-size:.65rem;display:block}.cs-approved[data-v-c8628bd2]{color:#00c8ffb3}.cs-denied[data-v-c8628bd2]{color:#ff3c3c99}.cs-pending[data-v-c8628bd2]{color:#c8d8e84d}.chat-patch[data-v-c8628bd2]{background:#00e6760a;border:1px solid #00e67626;border-radius:3px;margin:4px 0;padding:8px 12px}.patch-label[data-v-c8628bd2]{color:#00e676;margin-bottom:4px;font-family:Orbitron,monospace;font-size:.65rem;display:block}.patch-preview[data-v-c8628bd2]{opacity:.6;white-space:pre-wrap;word-break:break-all;max-height:80px;margin:0 0 6px;font-size:.6rem;overflow:auto}.btn-mode[data-v-c8628bd2]{color:#00c8ff66;cursor:pointer;background:0 0;border:1px solid #00c8ff4d;border-radius:3px;flex-shrink:0;width:26px;height:26px;font-size:.75rem;transition:all .2s}.btn-mode.active[data-v-c8628bd2]{color:#00c8ff;border-color:#00c8ff80;box-shadow:0 0 8px #00c8ff40}.chat-empty[data-v-c8628bd2]{color:#c8d8e833;text-align:center;padding:24px 0;font-family:Space Mono,monospace;font-size:.75rem}.chat-reload-btn[data-v-c8628bd2]{color:#c8d8e866;cursor:pointer;background:0 0;border:1px solid #c8d8e826;border-radius:4px;margin-top:8px;padding:4px 12px;font-size:.7rem}.chat-reload-btn[data-v-c8628bd2]:hover{color:#c8d8e899;border-color:#c8d8e84d}.msg-enter-active[data-v-c8628bd2]{transition:all .3s ease-out}.msg-enter-from[data-v-c8628bd2]{opacity:0;transform:translateY(10px)}.chat-consent[data-v-c8628bd2]{text-align:center;border-top:1px solid #00c8ff14;padding:8px}.consent-label[data-v-c8628bd2]{color:#00c8ffcc;font-family:Orbitron,monospace;font-size:.7rem}.consent-desc[data-v-c8628bd2]{color:#c8d8e899;text-align:left;max-height:200px;margin:6px 0;font-size:.72rem;line-height:1.5;display:block;overflow-y:auto}.consent-desc[data-v-c8628bd2] p{margin:4px 0}.consent-desc[data-v-c8628bd2] code{background:#00c8ff14;border-radius:2px;padding:1px 4px;font-size:.68rem}.consent-desc[data-v-c8628bd2] pre{background:#0000004d;border-radius:3px;margin:4px 0;padding:6px 8px;font-size:.65rem;overflow-x:auto}.consent-desc[data-v-c8628bd2] ul,.consent-desc[data-v-c8628bd2] ol{margin:4px 0;padding-left:16px}.consent-buttons[data-v-c8628bd2]{justify-content:center;gap:6px;margin-top:8px;display:flex}.btn-consent[data-v-c8628bd2]{color:#c8d8e8;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:2px;padding:4px 12px;font-family:Space Mono,monospace;font-size:.65rem;transition:all .2s}.btn-allow[data-v-c8628bd2]{color:#00c8ffe6;background:#00c8ff0f;border-color:#00c8ff80}.btn-allow[data-v-c8628bd2]:hover{background:#00c8ff1f}.btn-allow-all[data-v-c8628bd2]{color:#00e676;border-color:#00e6764d}.btn-deny[data-v-c8628bd2]{color:#ff1744;border-color:#ff17444d}.chat-footer[data-v-c8628bd2]{border-top:1px solid #00c8ff14;align-items:center;gap:6px;padding:8px;display:flex}.chat-thinking[data-v-c8628bd2]{color:#00c8ff4d;text-align:center;padding:4px 8px;font-size:.55rem}.chat-thinking-dot[data-v-c8628bd2]{background:#00c8ff66;border-radius:50%;width:6px;height:6px;animation:1s infinite pulse-c8628bd2;display:inline-block}@keyframes pulse-c8628bd2{0%,to{opacity:.3}50%{opacity:1}}.chat-intent-hint[data-v-c8628bd2]{color:#00e67699;text-align:left;background:#00e67608;border-left:2px solid #00e67633;border-radius:2px;margin:4px 8px;padding:6px 10px;font-size:.7rem;font-style:italic;animation:.3s fadeIn-c8628bd2}@keyframes fadeIn-c8628bd2{0%{opacity:0}to{opacity:1}}.chat-input[data-v-c8628bd2]{color:#c8d8e8;background:#00c8ff08;border:1px solid #00c8ff14;border-radius:2px;outline:none;flex:1;height:40px;padding:6px 10px;font-family:Space Mono,monospace;font-size:.75rem}@media (width<=768px){.chat-input[data-v-c8628bd2]{font-size:1rem}}.chat-input[data-v-c8628bd2]:focus{border-color:#00c8ff80}.btn-chat-send[data-v-c8628bd2]{color:#04060a;cursor:pointer;background:#00c8ffe6;border:none;border-radius:2px;height:2.4rem;padding:6px 10px;font-size:.85rem}.btn-chat-send[data-v-c8628bd2]:disabled{opacity:.3;cursor:not-allowed}.btn-mic[data-v-c8628bd2]{color:#c8d8e866;cursor:pointer;background:0 0;border:1px solid #00c8ff14;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:all .2s;display:flex}.btn-mic.recording[data-v-c8628bd2]{color:#ff1744;border-color:#ff1744;animation:1s infinite mic-pulse-c8628bd2}.btn-mic.active[data-v-c8628bd2]{color:#00c8ffcc;border-color:#00c8ff80}.btn-mic.speaking[data-v-c8628bd2]{animation:1s infinite mic-pulse-c8628bd2}@keyframes mic-pulse-c8628bd2{0%,to{opacity:1}50%{opacity:.5}}.btn-accept-task[data-v-c8628bd2]{color:#00e676e6;cursor:pointer;background:#00e67614;border:1px solid #00e6764d;border-radius:2px;margin-top:6px;padding:4px 10px;font-family:Space Mono,monospace;font-size:.6rem;display:block}.btn-accept-task[data-v-c8628bd2]:hover{background:#00e67626;border-color:#00e67680}.task-accepted[data-v-c8628bd2]{color:#00e67699;margin-top:4px;font-size:.55rem;display:block}:root{--void:#04060a;--layer:#0c1218;--layer-2:#111820;--layer-3:#161f28;--primary:#00c8ff;--primary-rgb:0,200,255;--primary-dim:#00c8ff2e;--primary-ghost:#00c8ff0f;--secondary:#005eff;--secondary-rgb:0,94,255;--text:#c8d8e8;--text-dim:#c8d8e873;--success:#00e676;--warning:#ffab00;--danger:#ff1744;--border:#00c8ff1f;--border-2:#00c8ff4d;--glow:0 0 24px #00c8ff59;--glow-strong:0 0 60px #00c8ff40;--bg-dark:var(--void);--bg-card:var(--layer);--bg-input:var(--layer-2);--bg-secondary:var(--layer-3);--accent:var(--primary);--accent-glow:var(--primary-dim);--text-muted:var(--text-dim);--text-secondary:var(--text-dim)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--void);color:var(--text);background-image:linear-gradient(#00c8ff08 1px,#0000 1px),linear-gradient(90deg,#00c8ff08 1px,#0000 1px);background-size:40px 40px;font-family:Barlow,system-ui,sans-serif;font-size:16px;line-height:1.6}.control-tower{flex-direction:column;min-height:100vh;display:flex}.tower-header{border-bottom:1px solid var(--border-2);background:var(--layer);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:300;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:relative}.brand{align-items:center;gap:.75rem;display:flex}.logo{border-radius:2px;width:64px;height:64px}.brand h1{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);text-shadow:0 0 20px #00c8ff66;font-family:Orbitron,sans-serif;font-size:1.25rem;font-weight:600}.badge{border:1px solid var(--primary);text-transform:uppercase;color:var(--primary);letter-spacing:.1em;background:0 0;border-radius:2px;padding:.25rem .625rem;font-family:Space Mono,monospace;font-size:.5625rem}.status-bar{align-items:center;gap:1rem;display:flex}.tenant-stack{border:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;border-radius:2px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-family:Space Mono,monospace;font-size:.7rem;display:flex}.stack-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;display:inline-block}.stack-CREATE_COMPLETE .stack-dot,.stack-UPDATE_COMPLETE .stack-dot{background:#0f0;box-shadow:0 0 6px #0f0}.stack-CREATE_IN_PROGRESS .stack-dot,.stack-UPDATE_IN_PROGRESS .stack-dot,.stack-UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS .stack-dot{background:#ff0;animation:1s infinite pulse-dot;box-shadow:0 0 6px #ff0}.stack-ROLLBACK_COMPLETE .stack-dot,.stack-DELETE_COMPLETE .stack-dot,.stack-CREATE_FAILED .stack-dot,.stack-UPDATE_ROLLBACK_COMPLETE .stack-dot{background:#f44;box-shadow:0 0 6px #f44}.stack-NOT_FOUND .stack-dot{background:var(--text-muted)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.project-name{font-weight:500}.danger-toggle{color:var(--text-muted);cursor:pointer;border:1px solid var(--border);border-radius:1rem;align-items:center;gap:.5rem;padding:.25rem .75rem;font-family:Space Mono,monospace;font-size:.75rem;transition:all .2s;display:flex}.danger-toggle:hover{border-color:var(--danger)}.danger-toggle input{display:none}.danger-toggle span:before{content:"○ "}.danger-toggle input:checked+span{color:var(--danger);font-weight:500}.danger-toggle input:checked+span:before{content:"● "}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1rem}.btn-icon:hover{color:var(--text)}.tower-main{flex:1;padding:2rem}.launch-pad{justify-content:center;align-items:flex-start;min-height:70vh;padding-top:2rem;display:flex}.launch-content{text-align:center;width:100%;min-width:400px;max-width:100%;padding:0 2rem}.launch-icon{margin-bottom:1rem;font-size:4rem}.launch-content h2{letter-spacing:.08em;color:var(--primary);text-shadow:0 0 30px #00c8ff4d;margin-bottom:.5rem;font-family:Orbitron,sans-serif;font-size:1.75rem}.launch-content>p{color:var(--text-muted);margin-bottom:2rem}.launch-form{text-align:left;background:var(--layer);border:1px solid var(--border-2);box-shadow:var(--glow);border-radius:2px;padding:2rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--layer-2);border:1px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:2px;padding:.75rem;font-family:Space Mono,monospace;font-size:.875rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 12px #00c8ff33}.plan-options{gap:.75rem;display:flex}.plan-option{text-align:center;background:var(--layer-2);border:2px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:1.25rem .75rem 1rem;transition:all .2s;display:flex;position:relative}@media (width<=768px){.plan-options{flex-wrap:wrap}.plan-option{flex:calc(50% - .75rem);order:1}.plan-option.active{flex:100%;order:0}}.plan-option:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.plan-option.active{border-color:var(--accent);background:#00c8ff0f;box-shadow:0 0 16px #00c8ff26}.plan-option input{display:none}.plan-badge{background:var(--accent);color:#000;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:.15rem .5rem;font-size:.55rem;font-weight:700;position:absolute;top:-.5rem}.plan-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.plan-price{justify-content:center;align-items:baseline;gap:.2rem;margin:.25rem 0;display:flex}.plan-price em{color:var(--text);font-size:1.75rem;font-style:normal;font-weight:800;line-height:1}.plan-option.active .plan-price em{color:var(--accent)}.plan-price small{color:var(--text-muted);font-size:.55rem;line-height:1.2}.plan-divider{background:var(--border);width:2rem;height:1px;margin:.25rem 0}.plan-desc{color:var(--text-muted);margin:.25rem .1rem;font-size:.7rem;line-height:1.4}.file-input{cursor:pointer;background:var(--bg-input);border:2px dashed var(--border);color:var(--text-muted);border-radius:2px;padding:.75rem;transition:all .2s}.file-input:hover{border-color:var(--primary);background:var(--primary-ghost)}.file-input::file-selector-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:2px;margin-right:1rem;padding:.5rem 1rem;font-weight:500}.file-input::file-selector-button:hover{background:var(--accent-hover)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.btn-launch{border:2px solid var(--primary);width:100%;color:var(--primary);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-family:Orbitron,sans-serif;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-launch:hover{background:var(--primary-dim);box-shadow:var(--glow)}.saved-projects{text-align:left;margin-top:1rem}.projects-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.projects-header h3{color:var(--text-muted);text-transform:uppercase;margin:0;font-size:.875rem}.btn-new-project-sm{border:1px solid var(--primary);color:var(--primary);cursor:pointer;text-transform:uppercase;background:0 0;border-radius:2px;padding:.375rem .75rem;font-family:Space Mono,monospace;font-size:.6875rem}.btn-new-project-sm:hover{opacity:.9}.category-tabs{gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.cat-tab{background:var(--layer-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.5rem 1rem;font-family:Space Mono,monospace;font-size:.75rem;transition:all .15s}.cat-tab:hover{border-color:var(--primary);color:var(--text)}.cat-tab.active{border-color:var(--primary);color:var(--primary);background:0 0;box-shadow:0 0 8px #00c8ff33}.cat-count{opacity:.7;margin-left:.25rem;font-size:.6875rem}.project-list{flex-direction:column;gap:.5rem;max-height:100%;display:flex;overflow-y:auto}.project-item{background:var(--layer);border:1px solid var(--border);cursor:pointer;border-radius:2px;justify-content:space-between;align-items:center;padding:1rem;transition:all .15s;display:flex}.project-item:hover{border-color:var(--primary);background:var(--primary-ghost);box-shadow:0 0 12px #00c8ff1a}.proj-main{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.proj-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;font-family:Orbitron,sans-serif;font-size:.9375rem;font-weight:600;overflow:hidden}.proj-meta{color:var(--text-muted);gap:.75rem;font-size:.75rem;display:flex}.proj-desc{opacity:.8;text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.proj-tenant{opacity:.8}.proj-features{opacity:.6;color:var(--text-muted);font-size:.75rem}.build-status{text-transform:uppercase;letter-spacing:.08em;border-radius:2px;padding:.125rem .5rem;font-family:Space Mono,monospace;font-size:.5625rem;font-weight:600}.build-status.new{border:1px solid var(--text-dim);color:var(--text-dim);background:0 0}.build-status.started{border:1px solid var(--secondary);color:var(--secondary);background:0 0}.build-status.building{border:1px solid var(--warning);color:var(--warning);background:0 0}.build-status.completed{border:1px solid var(--success);color:var(--success);background:0 0}.build-status.locked{border:1px solid var(--danger);color:var(--danger);background:0 0}.proj-actions{align-items:center;gap:.5rem;display:flex}.btn-proj{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;opacity:.7;border-radius:4px;padding:.375rem .5rem;font-size:.875rem;transition:all .15s}.btn-proj:hover{opacity:1;border-color:var(--accent)}.btn-proj.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;opacity:1}.btn-proj.btn-danger:hover{border-color:var(--danger);background:#ef44441a}.feature-summary-preview{max-height:520px;color:var(--text);background:0 0;border:none;border-radius:4px;padding:1rem 1.25rem;font-size:.82rem;line-height:1.6;overflow-y:auto}.feature-summary-preview h1,.feature-summary-preview h2,.feature-summary-preview h3{color:#00e5ff;letter-spacing:.05em;margin:.5rem 0 .25rem;font-size:.9rem}.feature-summary-preview table{border-collapse:collapse;width:100%;margin:.5rem 0}.feature-summary-preview th,.feature-summary-preview td{border:1px solid var(--border-2,#00c8ff4d);text-align:left;padding:.3rem .6rem;font-size:.8rem}.feature-summary-preview th{color:#00e5ff;background:#00c8ff14;font-weight:600}.feature-summary-preview td code{color:#00e5ff;background:#00c8ff14;border-radius:3px;padding:.1rem .3rem}.feature-summary-preview code{background:var(--layer-3,#111);border-radius:3px;padding:.1rem .35rem;font-size:.75rem}.feature-summary-preview pre{background:var(--layer-3,#111);border-radius:4px;padding:.6rem .8rem;overflow-x:auto}.feature-summary-preview pre code{background:0 0;padding:0}.feature-summary-preview ul,.feature-summary-preview ol{margin:.25rem 0;padding-left:1.4rem}.feature-summary-preview a{color:#00e5ff;text-decoration:underline}.feature-summary-preview blockquote{opacity:.8;border-left:3px solid #00c8ff4d;margin:.4rem 0;padding-left:.75rem}.feature-summary-preview ul{margin:.25rem 0;padding-left:1.2rem}.feature-summary-preview p{margin:.25rem 0}.form-actions .btn-launch{flex:1}.form-actions .btn-cancel{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:2px;padding:1rem}.wf-cards{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=600px){.wf-cards{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;flex-wrap:nowrap;overflow-x:auto}.wf-cards>*{scroll-snap-align:start;flex:0 0 80%}}.wf-card{border:1px solid var(--border);cursor:pointer;background:var(--bg-input);border-radius:4px;flex:1;min-width:140px;padding:.75rem;transition:border-color .2s}.wf-card:hover{border-color:var(--primary)}.wf-card.selected{border-color:var(--accent);background:#00c8ff0d}.wf-card.locked{opacity:.4;cursor:not-allowed}.wf-lock{font-size:.75rem}.wf-plan-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--cyan);opacity:.7;margin-bottom:.2rem;font-size:.6rem}.wf-price{color:var(--cyan);opacity:.8;margin-bottom:.2rem;font-family:Space Mono,monospace;font-size:.7rem}.wf-price span{opacity:.6;font-size:.55rem}.upgrade-banner{background:#ffc8000f;border:1px solid #ffc80033;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.6rem 1rem;font-size:.75rem;animation:.2s fadeIn;display:flex}.upgrade-banner em{color:var(--cyan);font-style:normal;font-weight:600}.wf-card-name{color:var(--text);margin-bottom:.35rem;font-size:.85rem;font-weight:600}.wf-card-flow{letter-spacing:.1em;font-size:1rem}.wf-card-labels{color:var(--text-muted);margin-top:.25rem;font-size:.7rem}.project-dashboard{display:contents}.tower-main:has(.project-dashboard){grid-template-rows:auto auto;grid-template-columns:280px 1fr;align-content:start;gap:1.5rem;height:calc(100vh - 140px);display:grid}.tower-main:has(.project-dashboard) .features-panel{grid-area:1/1;align-self:stretch;height:100%;max-height:none}.tower-main:has(.project-dashboard) .features-panel.full-width{grid-column:1/-1}.tower-main:has(.project-dashboard) .feature-detail{border:1px solid var(--border);background:0 0;border-radius:2px;flex-direction:column;grid-area:1/2;padding:1.5rem;display:flex;overflow-y:auto}.tower-main:has(.project-dashboard) .console{grid-area:2/1/auto/-1}.features-panel{background:var(--layer);border:1px solid var(--border);border-radius:2px;flex-direction:column;max-height:775px;transition:max-height .3s;display:flex;overflow:auto}.features-panel.collapsed{max-height:200px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.panel-header h3{text-transform:uppercase;color:var(--primary);letter-spacing:.1em;font-family:Orbitron,sans-serif;font-size:.6875rem}.project-tabs{border-bottom:1px solid var(--border);display:flex}.proj-tab{color:#c8d8e859;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:6px 8px;font-family:Space Mono,monospace;font-size:.6rem;transition:all .15s}.proj-tab.active{color:var(--cyan,#0ff);border-bottom-color:var(--cyan,#0ff);background:#00c8ff08}.proj-tab:hover:not(.active){color:#c8d8e899;background:#00c8ff05}.btn-add{border:1px solid var(--primary);color:var(--primary);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border-radius:2px;padding:.375rem .75rem;font-family:Space Mono,monospace;font-size:.6875rem}.features-list{flex:1;padding:.5rem;position:relative;overflow-y:auto}.feature-item{cursor:pointer;border-radius:2px;justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.75rem;display:flex}.feature-item:hover{background:var(--bg-input)}.feature-item.active{background:var(--primary-dim);border:1px solid var(--primary)}.feature-info{flex-direction:column;min-width:0;display:flex}.feature-name{letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-family:Orbitron,sans-serif;font-size:.875rem;font-weight:500;overflow:hidden}.feature-code{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;font-family:Space Mono,monospace;font-size:.6875rem;display:flex;overflow:hidden}.feature-item.active .feature-code{color:#ffffffb3}.feature-status{align-items:center;gap:.5rem;display:flex}.btn-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.125rem;line-height:1}.btn-delete:hover{color:var(--error)}.ws-badge{font-size:1rem}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-dot.running{background:var(--warning);animation:1s infinite pulse}.status-dot.completed{background:var(--success)}.status-dot.failed{background:var(--danger)}.empty-features{text-align:center;color:var(--text-muted);padding:2rem;font-size:.875rem}.feature-detail{background:var(--layer);border:1px solid var(--border);border-radius:2px;flex-direction:column;padding:1.5rem;display:flex;overflow-y:auto}.feature-detail .chat-viewer{max-height:400px;overflow-y:auto}.add-feature-form h3,.workspace-selector{margin-bottom:1.5rem}.workspace-selector>label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;display:block}.workspace-options{gap:.5rem;display:flex}.workspace-option{background:var(--bg-input);border:2px solid var(--border);cursor:pointer;text-align:center;border-radius:2px;flex:1;padding:.75rem .5rem}.workspace-option:hover{border-color:var(--accent)}.workspace-option.active{border-color:var(--primary);background:var(--primary-dim)}.workspace-option .ws-icon{margin-bottom:.25rem;font-size:1.25rem;display:block}.workspace-option .ws-name{color:var(--text-muted);font-size:.6875rem}.workspace-option.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ws-hint{color:var(--text-muted);margin-top:.5rem;font-size:.75rem}.form-actions{gap:.5rem;margin-top:1.5rem;display:flex}.btn-cancel{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:2px;flex:1;padding:.75rem}.btn-primary{border:2px solid var(--primary);color:var(--primary);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:2px;flex:1;padding:.75rem;font-family:Orbitron,sans-serif}.btn-secondary{border:2px solid var(--border);color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:2px;padding:.75rem;font-family:Orbitron,sans-serif;font-size:.75rem}.btn-secondary.btn-highlight{border-color:var(--cyan,#0ff);color:var(--cyan,#0ff);box-shadow:0 0 8px #00ffff26}.design-details-section{border:1px solid var(--border);border-radius:2px;margin:1rem 0}.details-toggle{background:var(--bg-input);cursor:pointer;width:100%;color:var(--text-muted);border:none;border-radius:2px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.details-toggle:hover{background:var(--bg-dark)}.details-content{border-top:1px solid var(--border);padding:1rem}.details-content .form-group{margin-bottom:.75rem}.details-content .form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.colors-row{grid-template-columns:repeat(4,1fr)!important}.form-group input[type=color]{cursor:pointer;height:36px;padding:2px}.file-input{background:var(--layer-2);border:1px solid var(--border);cursor:pointer;border-radius:2px;padding:.75rem;position:relative;overflow:hidden}.file-input input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-input span{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.8rem}.no-selection{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.feature-workspace .feature-header{justify-content:space-between;margin-bottom:1.5rem;display:flex}.feature-workspace .feature-header>div:first-child{min-width:0}.feature-workspace .feature-header h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feature-workspace h3{letter-spacing:.06em;margin-bottom:.25rem;font-family:Orbitron,sans-serif;font-size:1.125rem}.feature-workspace .problem{color:var(--text-muted);font-size:.875rem}.workspace-badge{background:var(--layer-2);border:1px solid var(--border);border-radius:2px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Space Mono,monospace;font-size:.8125rem;display:flex}.btn-validate{border:1px solid var(--success);color:var(--success);cursor:pointer;text-transform:uppercase;background:0 0;border-radius:2px;padding:.5rem 1rem;font-family:Space Mono,monospace;font-size:.8125rem;font-weight:500}.btn-validate:hover{opacity:.9}.workspace-tabs{background:var(--layer-2);border:1px solid var(--border);border-radius:2px;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:flex}.workspace-tabs-mobile{background:var(--layer-2);border:1px solid var(--border);border-radius:2px;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.75rem;padding:.25rem;display:flex}.ws-shard{color:var(--text-muted);opacity:.4;padding:0 .25rem;font-size:.75rem}.ws-loading{letter-spacing:.15em;text-transform:uppercase;color:#00c8ff59;text-align:center;text-shadow:0 0 8px #00c8ff26;width:100%;padding:.5rem;font-family:Orbitron,sans-serif;font-size:.55rem;animation:2s ease-in-out infinite ws-load-pulse}@keyframes ws-load-pulse{0%,to{opacity:.25}50%{opacity:.6}}.ws-tab{color:var(--text-dim);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-radius:2px;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.5rem;font-family:Space Mono,monospace;font-size:.6875rem;display:flex}.ws-tab:hover:not(:disabled){color:var(--text)}.ws-tab.active{background:var(--primary-dim);color:var(--primary);border:1px solid var(--primary)}.ws-tab.disabled{opacity:.35;cursor:not-allowed}.ws-tab .ws-icon{font-size:.875rem}.pipeline{margin-bottom:1.5rem}.pipeline-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.pipeline-header h4{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.pipeline-progress{flex:1;justify-content:center;align-items:center;gap:6px;font-size:.7rem;display:flex;position:relative}.pipeline-progress .state-waiting{color:var(--text-muted);font-style:italic}.pipeline-progress:before,.pipeline-progress:after{content:"";background:var(--border);height:1px;position:absolute;top:50%}.pipeline-progress:before{left:0;right:calc(50% + 60px)}.pipeline-progress:after{left:calc(50% + 60px);right:0}.state-dots{flex-wrap:nowrap;align-items:center;gap:3px;display:flex}.state-dot{color:var(--text-muted);font-size:.5rem;transition:color .2s}.state-dot.passed{color:var(--success)}.state-dot.failed{color:var(--error)}.state-dot.running{color:var(--primary);animation:1s infinite blink}.state-dot.pending{color:var(--border)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.state-tag{white-space:nowrap;border-radius:2px;padding:2px 6px;font-size:.65rem;display:inline-flex}.state-tag.running{background:var(--layer);border:1px solid var(--primary);color:var(--primary);animation:1s infinite blink}.state-tag.failed{border:1px solid var(--error);color:var(--error);background:#ff6b6b1a}.state-tag.pending{border:1px solid var(--border);color:var(--text-muted);background:#ffffff0d}.back-to-last{color:var(--primary);cursor:pointer;opacity:.8;font-size:.7rem}.back-to-last:hover{opacity:1;text-decoration:underline}.progress-bar{background:var(--primary);height:100%;transition:width .3s;box-shadow:0 0 8px #00c8ff66}.pipeline-header .next-step{background:var(--layer-2);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:2px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;display:flex}.pipeline-header .next-step:hover{border-color:var(--primary);color:var(--primary)}.pipeline-header .next-step .mini-icon{font-size:.8rem}.pipeline-header .next-step .mini-name{white-space:nowrap}.progress-text{color:var(--text-muted);font-size:.75rem}.btn-view-toggle{background:var(--layer-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:2px;padding:.25rem .5rem;font-size:.875rem;transition:all .15s}.btn-view-toggle:hover{border-color:var(--primary);color:var(--primary)}.btn-view-toggle.active{border-color:var(--success);color:var(--success);background:#00e67614}.stage{background:var(--layer-2);cursor:pointer;border:1px solid var(--border);text-align:center;border-radius:2px;min-height:104px;padding:.75rem .5rem;transition:all .15s}.stage.locked{opacity:.4;cursor:not-allowed;pointer-events:none}.stage:hover:not(.locked){border-color:var(--border-2)}.stage.selected{border-color:var(--primary);background:var(--primary-ghost);box-shadow:0 0 12px #00c8ff26}.stage.running{border-color:var(--warning);animation:1.5s infinite glow-warn}.stage.passed{background:#00e6760f;border-color:#00e67640}.stage.passed.selected{border-color:var(--success);background:#00e6761f;box-shadow:0 0 12px #00e67633}.stage.failed{background:#ff17440f;border-color:#ff174440}.stage.failed.selected{border-color:var(--danger);background:#ff17441f}.stage-icon{font-size:1.25rem}.stage-name{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-family:Space Mono,monospace;font-size:.5625rem;display:block}.stage-status{font-size:.75rem}@keyframes glow-warn{0%,to{box-shadow:0 0 5px var(--warning)}50%{box-shadow:0 0 15px var(--warning)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spinner{border:2px solid var(--text-muted);vertical-align:middle;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dag-view{position:relative;overflow-x:auto}.pipeline-mini{justify-content:center;align-items:center;gap:0;padding:.5rem 0;display:flex}.mini-node{cursor:pointer;border-radius:4px;flex-direction:column;align-items:center;gap:.125rem;min-width:60px;padding:.375rem;display:flex}.mini-node.current{background:var(--primary-ghost);border:1px solid var(--primary)}.mini-ws-dep{aspect-ratio:1;border:2px solid var(--border);background:var(--bg-input);border-radius:50%;justify-content:center;width:auto;min-width:40px;height:auto;min-height:40px;padding:.5rem}.mini-ws-dep.passed{border-color:var(--success)}.mini-ws-label{color:var(--text-muted);text-align:center;font-family:Space Mono,monospace;font-size:.5rem}.mini-node.locked{opacity:.4;cursor:not-allowed;pointer-events:none}.mini-node.passed .mini-icon{color:var(--success)}.mini-node.failed .mini-icon{color:var(--danger)}.mini-node.running .mini-icon{animation:1.5s infinite pulse}.mini-icon{font-size:1.25rem}.mini-name{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-family:Space Mono,monospace;font-size:.5rem;overflow:hidden}.mini-status{font-size:.625rem}.mini-line{background:var(--border);flex:1;min-width:12px;height:2px}.mini-line.active{background:var(--success)}.dag-grid{z-index:1;position:relative}.dag-node{flex-direction:column;justify-content:center;align-items:center;min-width:90px;min-height:70px;display:flex}.dag-node.dag-optional{border-style:dashed}.dag-node.locked{opacity:.4;cursor:not-allowed;pointer-events:none}.dag-connectors{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.action-panel{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.chat-input-bar{align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.chat-input{background:var(--layer-2);border:1px solid var(--border);color:var(--text);border-radius:1rem;outline:none;flex:1;padding:.5rem 1rem;font-family:Space Mono,monospace;font-size:.8125rem}.chat-input:focus{border-color:var(--accent)}.btn-chat-send{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;display:flex}.btn-chat-send:disabled{opacity:.3;cursor:default}.btn-run-pipeline{background:var(--accent);color:#000;cursor:pointer;white-space:nowrap;border:none;border-radius:2px;padding:.25rem .75rem;font-family:Space Mono,monospace;font-size:.75rem;font-weight:600}.btn-run-pipeline:disabled{opacity:.3;cursor:default}.btn-run-pipeline.locked{background:var(--border);color:var(--text-muted)}.btn-run-pipeline.btn-passthrough{color:var(--cyan,#0ff);letter-spacing:1px;text-shadow:0 0 6px #0ff6;background:0 0;border:1px solid #00ffff4d;padding:.25rem .4rem;font-size:.65rem;box-shadow:inset 0 0 4px #00ffff0d}.btn-run-pipeline.btn-passthrough:hover{border-color:#0ff;box-shadow:0 0 8px #0ff3,inset 0 0 6px #00ffff1a}.btn-run-stop{background:var(--danger,#e74c3c);color:#fff}.btn-stopping{color:#fff;letter-spacing:.18em;cursor:not-allowed;opacity:.9;background:linear-gradient(135deg,#ff6b00 0%,#ff1744 100%);font-family:Orbitron,sans-serif;font-size:.7rem;animation:1.2s ease-in-out infinite stopping-glow}.btn-stopping .stop-pulse{vertical-align:middle;background:#fff;border-radius:50%;width:8px;height:8px;margin-right:8px;animation:1s ease-in-out infinite stop-dot;display:inline-block}@keyframes stopping-glow{0%,to{box-shadow:0 0 12px #ff174466}50%{box-shadow:0 0 28px #ff6b00b3,inset 0 0 8px #ff174433}}@keyframes stop-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.template-config{align-items:center;gap:.5rem;display:flex}.template-config label{color:var(--text-muted);white-space:nowrap;font-size:.875rem}.template-config select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:2px;padding:.5rem;font-size:.875rem}.prompt-input{flex:1}.prompt-input-wrapper{flex:1;position:relative}.prompt-hints{background:var(--bg-card);border:1px solid var(--border);z-index:10;border-radius:2px;flex-wrap:wrap;gap:.25rem;margin-bottom:4px;padding:.5rem;display:flex;position:absolute;bottom:100%;left:0;right:0;box-shadow:0 4px 12px #00000026}.hint-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.hint-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.prompt-input-wrapper input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:2px;padding:.75rem}.action-buttons{gap:.5rem;display:flex}.btn-action{background:var(--layer-2);border:1px solid var(--border);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;border-radius:2px;flex:none;padding:.75rem 1.25rem;font-family:Space Mono,monospace;font-size:.8125rem;transition:all .15s}.btn-action:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 8px #00c8ff26}.btn-action:disabled{opacity:.3;cursor:not-allowed}.btn-action.btn-primary{border:2px solid var(--primary);color:var(--primary);background:0 0}.btn-action.btn-primary:hover:not(:disabled){background:var(--primary-dim);box-shadow:var(--glow)}.btn-action.btn-danger{border:2px solid var(--danger);color:var(--danger);background:0 0}.btn-action.btn-warning{border:2px solid var(--warning);color:var(--warning);background:0 0}.btn-action.btn-warning:disabled{opacity:.7;cursor:default}.btn-sm{padding:.4rem .75rem;font-size:.75rem}.pending-actions{align-items:center;gap:.5rem;display:inline-flex}.console{background:var(--layer);border:1px solid var(--border);border-radius:2px;flex-direction:column;grid-column:1/-1;max-height:200px;transition:max-height .3s;display:flex}.console.expanded{max-height:700px}.console.minimized{max-height:200px}.console.minimized .console-output{display:none}.console-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.console-header h3{color:var(--primary);text-transform:uppercase;letter-spacing:.1em;font-family:Orbitron,sans-serif;font-size:.625rem}.console-tabs{align-items:center;gap:.5rem;display:flex}.console-tabs h3{cursor:pointer;opacity:.4;transition:opacity .15s}.console-tabs h3:hover{opacity:.7}.console-tabs h3.active{opacity:1}.console-tabs .tab-sep{color:var(--border);font-size:.7rem}.console-chat{padding:0}.console-chat .chat-viewer{height:100%}.console-controls{align-items:center;gap:.125rem;display:flex}.console-controls .btn-icon{opacity:.6;cursor:pointer;background:0 0;border:none;padding:.2rem .35rem;font-size:.7rem;transition:all .15s}.console-controls .btn-icon:hover{opacity:1;background:var(--bg-hover);border-radius:4px}.btn-open-url{border:1px solid var(--primary);color:var(--primary);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.2rem .5rem;font-family:Space Mono,monospace;font-size:.625rem;text-decoration:none;transition:all .15s}.btn-open-url:hover{background:var(--primary-dim);box-shadow:0 0 8px #00c8ff33}.status-indicator{color:var(--text-muted);border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:.25rem;margin-right:.125rem;padding-right:.375rem;font-size:.625rem;display:flex}.status-indicator.running{color:var(--success)}.status-indicator.running .status-icon{animation:1s linear infinite spin;display:inline-block}.console-output{flex:1;padding:.75rem 1rem;font-family:Space Mono,monospace;font-size:.75rem;line-height:1.5;overflow-y:auto}.log-line{gap:.75rem;display:flex}.log-time{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.log-msg{white-space:pre-wrap;word-break:break-word}.log-msg .log-link{color:var(--primary);cursor:pointer;text-decoration:underline}.log-msg .log-link:hover{color:var(--primary-light)}.log-error .log-msg{color:var(--danger)}.log-success .log-msg{color:var(--success)}.log-warn .log-msg{color:var(--warning)}.log-info .log-msg{color:var(--text)}.console-empty{color:var(--text-muted)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:#00c8ff33;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#00c8ff66}.doc-viewer{flex-direction:column;min-height:325px;display:flex}.chat-history{flex-direction:column;flex:1;gap:.5rem;padding:.5rem;display:flex;overflow-y:auto}.chat-msg{word-break:break-word;border-radius:.75rem;max-width:85%;padding:.5rem .75rem;font-family:Space Mono,monospace;font-size:.8125rem}.chat-text{line-height:1.4}.chat-text p{margin:0 0 .25rem}.chat-text p:last-child{margin:0}.chat-text h1,.chat-text h2,.chat-text h3,.chat-text h4{margin:.25rem 0;font-size:.8125rem;font-weight:600}.chat-text ul,.chat-text ol{margin:.25rem 0;padding-left:1.25rem}.chat-text li{margin:.1rem 0}.chat-text code{background:#ffffff1a;border-radius:3px;padding:.1rem .3rem;font-size:.75rem}.chat-text pre{background:#0000004d;border-radius:4px;margin:.25rem 0;padding:.4rem;font-size:.7rem;overflow-x:auto}.chat-text pre code{background:0 0;padding:0}.chat-text blockquote{border-left:2px solid var(--border);opacity:.8;margin:.25rem 0;padding-left:.5rem}.chat-text a{color:var(--accent);text-decoration:underline}.chat-out .chat-text code{background:#00000026}.chat-out .chat-text pre{background:#0003}.chat-in{background:var(--layer-2);border:1px solid var(--border);align-self:flex-start}.chat-out{background:var(--accent);color:#000;align-self:flex-end}.chat-time{opacity:.5;margin-top:.25rem;font-size:.625rem;display:block}.chat-build{background:var(--border);color:var(--text);border-radius:3px;margin-right:.25rem;padding:.05rem .3rem;font-weight:600}.chat-out .chat-build{color:#fff;background:#0003}.chat-empty{color:var(--text-muted);text-align:center;padding:2rem;font-size:.8125rem}.chat-consent{background:var(--layer-2);border-radius:.75rem;flex-direction:column;align-self:center;gap:.375rem;padding:.5rem .75rem;animation:1.5s infinite pulse;display:flex}.consent-label{color:var(--text);font-size:.75rem;font-weight:500}.consent-desc{color:var(--text-secondary);font-size:.6875rem;line-height:1.4}.consent-buttons{gap:.375rem;display:flex}.btn-consent{cursor:pointer;border:none;border-radius:.5rem;padding:.25rem .625rem;font-family:Space Mono,monospace;font-size:.75rem}.btn-allow{background:var(--accent);color:#000}.btn-allow-all{background:var(--success,#4caf50);color:#fff}.btn-deny{background:var(--danger);color:#fff}.doc-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.doc-footer{border-top:1px solid var(--border);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.doc-footer .chat-input{flex:1;min-width:0}@media (width<=768px){.doc-footer{z-index:50;background:var(--layer);gap:.5rem;padding:.75rem;position:fixed;bottom:0;left:0;right:0}.doc-footer .btn-mic{flex-shrink:0;width:40px;height:40px;font-size:1rem}.doc-footer .chat-input{padding:.6rem .75rem;font-size:1rem}.doc-footer .btn-chat-send{flex-shrink:0;width:40px;height:40px;font-size:1.1rem}}.btn-mic{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:32px;height:32px;font-size:.875rem}.btn-mic:hover{background:var(--layer-2)}.btn-mic.recording{background:var(--danger);color:#fff;border-color:var(--danger);animation:1s infinite pulse}.btn-mic.active{background:var(--accent);color:#000;border-color:var(--accent)}.btn-mic.speaking{background:var(--accent);color:#000;border-color:var(--accent);animation:.8s infinite pulse}.doc-title{align-items:center;gap:.5rem;display:flex}.doc-icon{font-size:1.25rem}.doc-name{color:var(--text-primary);font-weight:500}.btn-refresh{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:2px;width:32px;height:32px;font-size:1rem}.btn-refresh:hover{background:var(--bg-input);color:var(--text-primary)}.btn-refresh .spinning{animation:1s linear infinite spin;display:inline-block}.legal-back{letter-spacing:.15em;text-transform:uppercase;color:#00c8ff80;cursor:pointer;background:linear-gradient(135deg,#00c8ff0a,#0000);border:1px solid #00c8ff33;border-radius:2px;padding:6px 14px;font-family:Orbitron,sans-serif;font-size:.6rem;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.legal-back:before{content:"";background:linear-gradient(90deg,#0000,#00c8ff1a,#0000);width:100%;height:100%;transition:left .4s;position:absolute;top:0;left:-100%}.legal-back:hover:before{left:100%}.legal-back:hover{color:#00c8ff;text-shadow:0 0 8px #00c8ff80;border-color:#00c8ff80;box-shadow:0 0 14px #00c8ff26,inset 0 0 6px #00c8ff0d}.doc-content-wrapper{flex:1;padding:1rem;overflow:auto}.doc-content{word-wrap:break-word;color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.6}.doc-content h1,.doc-content h2,.doc-content h3{color:var(--text);margin:1rem 0 .5rem}.doc-content code{background:var(--layer-2);border-radius:3px;padding:.15rem .4rem;font-size:.75rem}.doc-content pre{background:var(--layer-2);border-radius:4px;padding:.75rem;overflow-x:auto}.doc-content pre code{background:0 0;padding:0}.doc-content ul,.doc-content ol{padding-left:1.5rem}.doc-content table{border-collapse:collapse;width:100%;margin:.5rem 0}.doc-content th,.doc-content td{border:1px solid var(--border-2,#00c8ff26);padding:.4rem .6rem;font-size:.75rem}.doc-content th{color:#00e5ff;background:#00c8ff14;font-weight:600}.doc-loading,.doc-empty{color:var(--text-muted);text-align:center;padding:2rem;font-size:.875rem}.prompt-input{border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:2px;flex:1;padding:.5rem;font-size:.8125rem}.repo-view{flex-direction:column;padding:1.5rem;display:flex;overflow:hidden}.repo-commits{flex-shrink:0;max-height:40%;margin-bottom:.75rem;overflow-y:auto}.repo-chat{flex:1;min-height:0}.repo-view .doc-footer{flex-shrink:0}.repo-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.repo-icon{font-size:1.5rem}.repo-path{background:var(--layer-2);border:1px solid var(--border);border-radius:2px;flex:1;padding:.5rem .75rem;font-family:Space Mono,monospace;font-size:.8125rem}.repo-commits h4{color:var(--text-muted);text-transform:uppercase;margin-bottom:.75rem;font-size:.75rem}.commit-list{flex-direction:column;gap:.5rem;display:flex}.commit-entry{border-left:2px solid var(--border);padding-left:.75rem}.commit-entry:hover{border-left-color:var(--accent)}.commit-item{background:var(--bg-input);border-radius:2px;align-items:center;gap:.75rem;padding:.5rem;font-size:.8125rem;display:flex}.commit-item.active{background:var(--bg-secondary);border:1px solid var(--accent)}.commit-hash{color:var(--primary);min-width:60px;font-family:Space Mono,monospace}.commit-date{color:var(--text-secondary);min-width:90px;font-size:.75rem}.commit-msg{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.btn-revert{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.btn-revert:hover{background:var(--bg-input);color:var(--text)}.btn-details{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.75rem}.commit-details{background:var(--bg-secondary);border:1px solid var(--border);border-radius:2px;max-height:400px;margin-top:.25rem;padding:.5rem;overflow-y:auto}.commit-details pre{white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.5}.detail-section{margin-bottom:.75rem}.detail-section:last-child{margin-bottom:0}.detail-section h5{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .375rem;font-size:.7rem}.details-loading{color:var(--text-muted);padding:.5rem;font-size:.75rem}.details-empty{color:var(--text-muted);font-size:.75rem}.no-commits{color:var(--text-muted);font-size:.875rem}.preview-iframe{background:#fff;border:none;flex:1;width:100%;overflow:auto}.preview-iframe::-webkit-scrollbar{width:8px;height:8px}.preview-iframe::-webkit-scrollbar-track{background:var(--bg-secondary)}.preview-iframe::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.preview-iframe::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.preview-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.preview-header{background:var(--bg-input);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;display:flex}.preview-header a{color:var(--accent);text-overflow:ellipsis;flex:1;text-decoration:none;overflow:hidden}.preview-header a:hover{text-decoration:underline}.preview-placeholder{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn-small{padding:.25rem .5rem;font-size:.75rem}.dialog-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-box{background:var(--layer);text-align:center;border:1px solid var(--border-2);max-width:400px;box-shadow:var(--glow-strong);border-radius:2px;padding:1.5rem;position:relative}.s3-logs-overlay{align-items:stretch;padding:0}.s3-logs-viewer{text-align:left;border:none;border-radius:0;flex-direction:column;width:100%;max-width:100%;height:100%;padding:1rem;display:flex}.s3-logs-viewer .dialog-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.s3-logs-viewer .dialog-header h3{white-space:nowrap;margin:0}.log-filters{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.log-filter-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:2px;padding:.2rem .5rem;font-size:.7rem}.log-filter-btn.active{background:var(--cyan,#0ff);color:var(--bg);border-color:var(--cyan,#0ff)}.s3-logs-files{flex-wrap:wrap;gap:.25rem;max-height:4rem;margin-bottom:.5rem;display:flex;overflow-y:auto}.log-file-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:2px;padding:.15rem .4rem;font-family:monospace;font-size:.65rem}.log-file-btn.active{border-color:var(--cyan,#0ff);color:var(--cyan,#0ff)}.s3-logs-content{background:var(--bg);border:1px solid var(--border);border-radius:2px;flex:1;padding:.5rem;overflow:auto}.s3-logs-content pre{white-space:pre-wrap;word-break:break-all;color:var(--text);margin:0;font-size:.75rem}.dialog-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.75rem}.dialog-close:hover{color:var(--text)}.dialog-icon{margin-bottom:1rem;font-size:2.5rem}.dialog-message{color:var(--text);margin-bottom:1.5rem;line-height:1.5}.dialog-actions{justify-content:center;gap:.75rem;display:flex}.btn-dialog{cursor:pointer;border:none;border-radius:2px;padding:.625rem 1.25rem;font-size:.875rem}.btn-cancel{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-confirm{border:2px solid var(--danger);color:var(--danger);background:0 0}.btn-danger{background:var(--danger);border:2px solid var(--danger);color:#fff}.btn-cancel:hover{background:var(--layer-2)}.btn-confirm:hover{background:#ff174426;box-shadow:0 0 12px #ff17444d}.btn-dialog.btn-danger{border:1px solid var(--danger);color:var(--danger);background:#ff174433;font-weight:600}.dialog-wide{text-align:left;border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100vh;padding:0;display:flex}.dialog-edit-feature{text-align:left;border-radius:6px;flex-direction:column;width:90vw;max-width:600px;max-height:85vh;padding:1.25rem;display:flex;overflow-y:auto}@media (width<=768px){.dialog-edit-feature{border-radius:0;width:98vw;max-height:95vh;padding:.75rem}}.dialog-wide h3{color:var(--text);border-bottom:1px solid var(--border);margin:0;padding:.75rem 1rem}.dialog-wide .doc-content-wrapper{flex:1;padding:1rem;overflow-y:auto}.preview-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}.preview-features h4,.preview-integrations h4{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem}.feature-preview-list{flex-direction:column;gap:.5rem;max-height:200px;margin-bottom:1rem;display:flex;overflow-y:auto}.feature-preview-item{background:var(--bg-input);border-radius:2px;padding:.75rem}.fp-name{margin-bottom:.25rem;font-weight:600;display:block}.fp-desc{color:var(--text-muted);font-size:.8125rem}.integration-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.int-tag{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);border-radius:2px;padding:.25rem .75rem;font-size:.75rem}.edit-form{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.btn-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.25rem .5rem;font-size:.8rem}.btn-tab.active{color:#00e5ff;border-bottom-color:#00e5ff}.edit-form .form-group{flex-direction:column;gap:.25rem;display:flex}.edit-form label{color:var(--text-muted);font-size:.75rem}.edit-form input,.edit-form textarea,.edit-form select{border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:2px;padding:.5rem;font-family:Space Mono,monospace;font-size:.875rem}.edit-form input[type=color]{height:36px;padding:2px}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.btn-edit-sm{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:1rem;padding:.25rem .75rem;font-family:Space Mono,monospace;font-size:.75rem;transition:all .2s}.btn-edit-sm:hover{border-color:var(--primary);color:var(--text)}.feature-header-actions{align-items:center;gap:.5rem;display:flex}@media (width<=768px){.feature-header-actions{flex-direction:column;align-items:stretch;gap:.25rem}.feature-header-actions .btn-edit-sm,.feature-header-actions .danger-toggle{text-align:center;justify-content:center}}.build-version{color:var(--text-muted);opacity:.6;font-family:Space Mono,monospace;font-size:.7rem;font-weight:400}.btn-edit-sm:hover{opacity:1}.mobile-only{display:none!important}.desktop-only{display:flex}.hamburger{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;padding:.5rem;display:flex}.hamburger span{background:var(--primary);width:18px;height:2px;transition:all .2s;display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(4px,4px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(4px,-4px)}.mobile-nav{background:var(--layer);border-left:1px solid var(--border-2);z-index:200;width:260px;box-shadow:var(--glow-strong);flex-direction:column;gap:.25rem;padding:3.5rem 1rem 1rem;animation:.2s slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}.mobile-nav-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem;position:absolute;top:.75rem;right:.75rem}.mobile-nav-back{color:var(--primary);padding:.25rem 0;font-size:.7rem;position:absolute;top:.75rem;left:.75rem}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-nav-item{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:2px;width:100%;padding:.75rem;font-family:Space Mono,monospace;font-size:.75rem}.mobile-nav-item:hover{background:var(--primary-ghost)}.mobile-nav-item.breadcrumb{color:var(--primary);cursor:default;font-weight:500}.mobile-nav-item.danger{color:var(--danger)}.mobile-nav-divider{background:var(--border);height:1px;margin:.5rem 0}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.tower-header{flex-wrap:nowrap;gap:.5rem;padding:.5rem .75rem}.project-name.mobile-only{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1;font-family:Orbitron,sans-serif;font-size:1.2rem;overflow:hidden}.tower-main{padding:.5rem}.logo{width:64px;height:64px}.brand{gap:.375rem}.brand h1{font-size:.875rem}.badge{padding:.125rem .375rem;font-size:.4375rem}.status-bar{gap:.375rem;font-size:.75rem}.project-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.875rem;overflow:hidden}.build-status{display:none}.launch-pad{padding:.5rem}.launch-content{min-width:0;max-width:100%;padding:0 .5rem}.launch-content h2{font-size:1.5rem}.launch-form{padding:1rem}.saved-projects{margin-top:1rem}.project-item{padding:.75rem}.proj-main{min-width:0}.proj-name{font-size:.9rem}.proj-actions{opacity:1;gap:.125rem}.btn-proj{padding:.25rem .375rem;font-size:.8rem}.form-actions{flex-direction:column}.form-actions .btn-launch,.form-actions .btn-cancel{width:100%}.tower-main:has(.project-dashboard){flex-direction:column;gap:.5rem;height:auto;padding:.5rem;display:flex}.features-panel{flex-shrink:0;min-height:auto;max-height:none}.features-list{flex-direction:row;gap:.5rem;padding:.5rem;display:flex;overflow-x:auto}.feature-item{flex-shrink:0;padding:.5rem .75rem}.ws-badge{display:none}.features-panel.collapsed{min-height:0;max-height:0;padding:0;overflow:hidden}.main-content{min-width:0}.feature-detail{padding:.75rem;overflow-x:hidden}.pipeline{flex-wrap:wrap;gap:.25rem}.stage{min-width:50px;min-height:60px;padding:.375rem}.dag-node{min-width:70px;min-height:50px}.stage-icon{font-size:1rem}.stage-name{font-size:.5rem}.action-panel{flex-direction:column;align-items:stretch}.action-buttons{justify-content:stretch}.action-buttons button{flex:1}.console{max-height:150px}.console.expanded{max-height:740px}.console-controls{flex-wrap:wrap}.preview-iframe{min-height:300px}.doc-viewer{padding-bottom:4rem}}@media (width<=480px){.logo{width:32px;height:32px}.has-project .brand h1,.badge{display:none}.project-name{max-width:300px}.header{padding:.5rem}.header h1{font-size:1rem}.launch-content h2{font-size:1.25rem}.launch-content>p{font-size:.875rem}.launch-icon{font-size:2.5rem}.project-item{padding:.5rem .75rem}.proj-name{font-size:.85rem}.proj-meta{flex-direction:column;gap:.125rem}.proj-features{display:none}.features-panel{max-height:150px}.stage{min-width:40px}.stage.doc-only,.stage-status{display:none}.console-header h3{font-size:.625rem}}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dialog-subtitle{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}.btn-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.btn-close:hover{color:var(--text)}.btn-icon-text{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem}.btn-icon-text:hover{background:var(--bg-secondary)}@keyframes sb-scan{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes sb-pulse-bar{0%,to{opacity:1;box-shadow:0 0 6px var(--primary)}50%{opacity:.5;box-shadow:0 0 14px var(--primary)}}@keyframes sb-flicker{0%,to{opacity:1}92%,96%{opacity:.92}}.sidebar-toggle{display:none}.sidebar-mobile-info{border-bottom:1px solid #00c8ff1a;padding:10px 16px 4px}.sidebar-user{color:var(--text-dim);padding-bottom:6px;font-size:.78rem}.sidebar-role{opacity:.6}.sidebar{top:var(--header-h,57px);width:220px;height:calc(100vh - var(--header-h,57px));z-index:200;background:linear-gradient(#0a1520 0%,#060d14 100%);border-top:1px solid #00c8ff2e;border-right:1px solid #00c8ff2e;flex-direction:column;padding:0;transition:left .25s cubic-bezier(.4,0,.2,1);animation:8s infinite sb-flicker;display:flex;position:fixed;left:-260px;overflow:hidden;box-shadow:inset -1px 0 #00c8ff0f,4px 0 40px #000000b3}.sidebar:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#00c8ff04 3px 4px);position:absolute;inset:0}.sidebar:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(#0000,#00c8ff0a,#0000);height:60px;animation:6s linear infinite sb-scan;position:absolute;left:0;right:0}.sidebar.open{left:0}.sidebar-overlay{top:var(--header-h,57px);inset-inline:0;z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;position:fixed;bottom:0}.sidebar-head{z-index:3;border-bottom:1px solid #00c8ff1f;justify-content:space-between;align-items:center;padding:18px 16px 14px;display:flex;position:relative}.sidebar-head-title{letter-spacing:.18em;text-transform:uppercase;color:var(--primary);opacity:.7;font-family:Orbitron,sans-serif;font-size:.6rem}.sidebar-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.8rem;line-height:1;transition:color .15s;display:none}.sidebar-close:hover{color:var(--primary)}.sidebar-scroll{z-index:3;flex:1;padding-bottom:8px;position:relative;overflow:hidden auto}.sidebar-scroll::-webkit-scrollbar{width:2px}.sidebar-scroll::-webkit-scrollbar-track{background:0 0}.sidebar-scroll::-webkit-scrollbar-thumb{background:#00c8ff33;border-radius:1px}.sidebar-section{padding:12px 0 4px}.sidebar-label{text-transform:uppercase;letter-spacing:.16em;color:#00c8ff59;align-items:center;gap:6px;padding:0 16px 6px;font-family:Space Mono,monospace;font-size:.55rem;display:flex}.sidebar-label:after{content:"";background:linear-gradient(90deg,#00c8ff33,#0000);flex:1;height:1px}.sidebar-item{text-align:left;color:#c8d8e88c;cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:10px;width:100%;padding:9px 16px 9px 14px;font-family:Barlow,system-ui,sans-serif;font-size:.78rem;transition:color .15s,background .15s;display:flex;position:relative}.sidebar-item .si-icon{text-align:center;flex-shrink:0;width:18px;font-size:.9rem}.sidebar-item:hover{color:var(--primary);background:#00c8ff0d;border-left-color:#00c8ff4d}.sidebar-item.active{color:var(--primary);border-left-color:var(--primary);text-shadow:0 0 12px #00c8ff66;background:#00c8ff14;animation:2.5s ease-in-out infinite sb-pulse-bar}.sidebar-item.active .si-icon{filter:drop-shadow(0 0 4px var(--primary))}.sidebar-item.danger{color:#ff174499}.sidebar-item.danger:hover{color:var(--danger);background:#ff17440f;border-left-color:#ff174466}.sidebar-footer{z-index:3;background:linear-gradient(#0000,#00c8ff08);border-top:1px solid #00c8ff1a;flex-direction:row-reverse;justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:relative}.sidebar-version{letter-spacing:.08em;color:#c8d8e833;font-family:Space Mono,monospace;font-size:.55rem}@media (width<=600px){.sidebar-version{font-size:.75rem}:root{--text:#e8f0f8;--sidebar-text:#ffffff85}.sidebar-item{color:var(--sidebar-text)}}.sidebar-logout{color:#ff1744a6;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:2px;width:100%;padding:10px 16px;font-family:Orbitron,Space Mono,monospace;font-size:.7rem;transition:all .3s;position:relative;overflow:hidden}.sidebar-logout:before{content:"";background:linear-gradient(90deg,#0000,#ff174414,#0000);width:100%;height:100%;transition:left .4s;position:absolute;top:0;left:-100%}.sidebar-logout:hover:before{left:100%}.sidebar-logout:hover{color:var(--danger);text-shadow:0 0 6px #ff174466}.sidebar-view{padding:0 20px 32px}.sidebar-view-header{border-bottom:1px solid #00c8ff1f;align-items:center;gap:12px;margin-bottom:20px;padding:16px 0 14px;display:flex}.sidebar-view-header h2{letter-spacing:.06em;color:var(--primary);text-shadow:0 0 16px #00c8ff66;margin:0;font-family:Orbitron,sans-serif;font-size:.9rem}.config-group{margin-bottom:24px}.config-label{text-transform:uppercase;letter-spacing:.12em;color:#00c8ff66;margin-bottom:8px;font-family:Space Mono,monospace;font-size:.6rem}.billing-stat{border-bottom:1px solid #00c8ff14;justify-content:space-between;align-items:center;padding:10px 0;font-size:.82rem;display:flex}.billing-stat span{color:var(--text-dim);font-size:.75rem}.billing-stat strong{color:var(--primary);font-family:Space Mono,monospace;font-size:.78rem}.legal-links{flex-direction:column;gap:2px;display:flex}.legal-link{color:#00c8ff99;cursor:pointer;border-bottom:1px solid #00c8ff0f;align-items:center;gap:8px;padding:8px 0;font-size:.82rem;text-decoration:none;transition:color .15s,padding-left .15s;display:flex}.legal-link:before{content:"›";opacity:.4}.legal-link:hover{color:var(--primary);cursor:pointer;padding-left:4px}.coming-soon{color:#00c8ff4d;letter-spacing:.04em;padding:12px 0;font-family:Space Mono,monospace;font-size:.78rem}.coming-soon:before{content:"// ";opacity:.5}.sidebar-view .sub-current{color:var(--text-secondary);letter-spacing:.04em;font-family:Space Mono,monospace;font-size:.8rem}.sidebar-view .sub-current strong{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 12px #00c8ff66;font-family:Orbitron,sans-serif}.sidebar-view .plan-options{flex-direction:row}.sidebar-view .plan-option{text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem}.sidebar-view .plan-option .plan-name{font-family:Orbitron,sans-serif;font-size:.75rem}.sidebar-view .plan-option .plan-price{margin:0}.sidebar-view .plan-option .plan-price em{font-family:Orbitron,sans-serif}.sidebar-view .plan-option .plan-divider{background:var(--border);width:2rem;margin:.25rem 0}.sidebar-view .plan-option ul{text-align:left}.sidebar-view .plan-option ul li{color:#00c8ff80}.sidebar-view .plan-option.active ul li{color:var(--accent)}.sidebar-view .plan-option .btn-cancel{text-transform:uppercase;letter-spacing:.06em;font-family:Orbitron,sans-serif;font-size:.65rem;transition:all .2s}.sidebar-view .plan-option .btn-cancel:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 8px #00c8ff26}.sidebar-view .btn-primary{text-transform:uppercase;letter-spacing:.08em;font-family:Orbitron,sans-serif}.sidebar-view .btn-primary:hover:not(:disabled){background:var(--primary-dim);box-shadow:var(--glow)}.btn-danger-outline{color:#ff1744b3;cursor:pointer;letter-spacing:.06em;background:0 0;border:1px solid #ff174466;margin-top:12px;padding:8px 18px;font-family:Space Mono,monospace;font-size:.8rem;transition:all .2s}.btn-danger-outline:hover{border-color:var(--danger);color:var(--danger);background:#ff17440f;box-shadow:0 0 12px #ff174433}.um-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.um-refresh{color:var(--primary);cursor:pointer;letter-spacing:.06em;background:0 0;border:1px solid #00c8ff33;padding:5px 12px;font-size:.75rem;transition:all .2s}.um-refresh:hover{background:#00c8ff14}.um-refresh:disabled{opacity:.4;cursor:default}.um-count{color:var(--text-dim);font-family:Space Mono,monospace;font-size:.7rem}.um-error{color:var(--danger);padding:8px 0;font-size:.8rem}.um-table{border-collapse:collapse;width:100%;font-size:.8rem}.um-table th{text-transform:uppercase;letter-spacing:.1em;color:#00c8ff66;text-align:left;border-bottom:1px solid #00c8ff1f;padding:6px 8px;font-family:Space Mono,monospace;font-size:.6rem}.um-table td{vertical-align:middle;border-bottom:1px solid #00c8ff0f;padding:8px}.um-table td.um-role-cell{padding:4px 8px}.um-name{color:var(--text);font-size:.82rem}.um-email{color:var(--text-dim);font-family:Space Mono,monospace;font-size:.7rem}.um-role-select{background:var(--layer-2);color:var(--text);cursor:pointer;border:1px solid #00c8ff26;min-height:2.9rem;padding:3px 6px;font-size:.75rem}.um-role-cell{align-items:center;gap:4px;height:100%;display:flex;position:relative}.um-locked{opacity:.4;font-size:.7rem}.um-row{cursor:pointer;transition:background .15s}.um-row:hover td{background:#00c8ff08}.um-detail-nav{background:#00c8ff05;border-bottom:1px solid #00c8ff14;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.um-role-change{border-bottom:1px solid #00c8ff0f;align-items:center;gap:8px;padding:10px 16px;display:flex}.um-role-change-label{letter-spacing:.08em;opacity:.4;flex-shrink:0;width:36px;font-family:Orbitron,sans-serif;font-size:.62rem}.um-back{color:#00c8ff80;cursor:pointer;letter-spacing:.04em;background:0 0;border:none;padding:0;font-family:Space Mono,monospace;font-size:.72rem;transition:color .2s}.um-back:hover{color:var(--primary,#00c8ff);text-shadow:0 0 8px #00c8ff66}.um-role-confirm{z-index:10;background:#04060af2;border:1px solid #00c8ff33;border-radius:2px;gap:4px;padding:3px 5px;display:flex;position:absolute;top:-32px;left:0;box-shadow:0 0 12px #00c8ff26}.um-update-btn{letter-spacing:.06em;cursor:pointer;color:var(--primary,#00c8ff);white-space:nowrap;background:#00c8ff1f;border:1px solid #00c8ff66;border-radius:2px;padding:3px 10px;font-family:Orbitron,sans-serif;font-size:.62rem;transition:all .2s}.um-update-btn:hover{background:#00c8ff38;box-shadow:0 0 8px #00c8ff40}.um-cancel-btn{cursor:pointer;color:#ff4d6d;background:0 0;border:1px solid #ff4d6d4d;border-radius:2px;padding:3px 7px;font-size:.62rem;transition:all .2s}.um-cancel-btn:hover{background:#ff4d6d14}.um-badge{letter-spacing:.04em;border-radius:2px;padding:2px 6px;font-family:Space Mono,monospace;font-size:.65rem}.um-badge.role-tenant-admin{color:var(--primary);background:#00c8ff1f}.um-badge.role-tenant-user{color:#6ec6ff;background:#005eff1f}.um-badge.role-end-user{color:var(--text-dim);background:#c8d8e80f}@media (width>=769px){.sidebar{left:0}.sidebar-close{display:none!important}.sidebar-overlay{display:none}.tower-main{margin-left:220px}.tower-main.no-sidebar{margin-left:0}}@media (width<=768px){.sidebar-close{display:block}.tower-main{margin-left:0}.sidebar{width:100%;left:-100%}.sidebar.open{left:0}.sidebar-item{padding:12px 20px 12px 18px;font-size:.9rem}.sidebar-label{font-size:.6rem}.sidebar-head-title{font-size:.65rem}.sidebar-view{padding:0 24px 32px}.sidebar-view-header h2{font-size:1rem}.config-label{font-size:.65rem}.billing-stat{font-size:.9rem}.sidebar-logout{padding:14px 20px;font-size:.9rem}}.create-feature-page{min-height:calc(100vh - var(--header-h,57px));justify-content:center;padding:3rem 2rem;display:flex}.create-feature-container{width:100%;max-width:640px}.create-feature-container h2{letter-spacing:.08em;color:var(--primary);text-shadow:0 0 20px #00c8ff4d;margin-bottom:1.5rem;font-family:Orbitron,sans-serif;font-size:1.25rem}.create-feature-container h2 small{letter-spacing:.05em;color:var(--text-dim);text-shadow:none;font-family:Space Mono,monospace;font-size:.65rem}.create-feature-container .setup-group{background:var(--layer);border:1px solid var(--border);border-radius:2px;padding:1rem 1.25rem}.create-feature-container .setup-group-header strong{letter-spacing:.04em;color:var(--text);font-family:Space Mono,monospace;font-size:.8rem}.create-feature-container .btn-primary{transition:all .2s}.quota-box{background:var(--layer-2);border:1px solid var(--border);border-radius:4px;flex-direction:column;flex:1;align-items:center;padding:.75rem .5rem;display:flex}.quota-val{color:var(--accent);text-shadow:0 0 12px #00c8ff66;font-family:Orbitron,sans-serif;font-size:1.4rem;font-weight:700}.quota-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.25rem;font-size:.6rem}.create-feature-container .btn-primary:hover:not(:disabled){background:var(--primary-dim);box-shadow:var(--glow)}.create-feature-container .btn-primary:disabled{opacity:.3;cursor:not-allowed}.create-feature-container .btn-cancel{text-transform:uppercase;letter-spacing:.06em;font-family:Orbitron,sans-serif;font-size:.7rem;transition:all .15s}.create-feature-container .btn-cancel:hover{background:var(--layer-2);border-color:var(--primary);color:var(--primary);box-shadow:0 0 8px #00c8ff26}@media (width<=768px){.create-feature-page{padding:1.5rem 1rem}}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option,select optgroup{color:#c8d8e8;background:#0d0d1a}.um-perm-section{border-top:1px solid #00c8ff0f;padding:12px 16px}.um-perm-title{letter-spacing:.1em;opacity:.4;text-transform:uppercase;margin-bottom:8px;font-family:Orbitron,sans-serif;font-size:.62rem}.um-perm-add{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.um-perm-flags{flex-wrap:wrap;gap:6px;display:flex}.um-perm-flag{letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #00c8ff1f;border-radius:2px;align-items:center;gap:4px;padding:3px 8px;font-family:Orbitron,sans-serif;font-size:.62rem;transition:all .2s;display:flex}.um-perm-flag:has(input:checked){color:var(--primary,#00c8ff);background:#00c8ff14;border-color:#00c8ff66}.um-perm-flag input{display:none}.um-perm-flag span{opacity:.5;transition:opacity .2s}.um-perm-flag:has(input:checked) span{opacity:1}.um-perm-row{border-bottom:1px solid #ffffff08;align-items:center;gap:6px;padding:5px 0;display:flex}.um-perm-key{opacity:.6;flex-shrink:0;font-family:Space Mono,monospace;font-size:.7rem}.um-perm-badge{letter-spacing:.05em;color:var(--primary,#00c8ff);border:1px solid #00c8ff40;border-radius:2px;padding:1px 6px;font-family:Orbitron,sans-serif;font-size:.58rem}.um-toggle-btn{letter-spacing:.06em;cursor:pointer;border-radius:2px;padding:3px 10px;font-family:Orbitron,sans-serif;font-size:.62rem;transition:all .2s}.um-disable{color:#ff4d6d;background:#ff4d6d0f;border:1px solid #ff4d6d4d}.um-disable:hover{background:#ff4d6d1f}.um-enable{color:#00e676;background:#00e6760f;border:1px solid #00e6764d}.um-enable:hover{background:#00e6761f}.um-row-disabled td{opacity:.4}.um-revoke-dialog{background:#ff4d6d0f;border:1px solid #ff4d6d33;border-radius:2px;margin:8px 16px;padding:10px 14px}.um-revoke-msg{margin-bottom:8px;font-size:.75rem}.um-revoke-msg strong{color:#ff4d6d;font-family:Space Mono,monospace}.um-revoke-actions{justify-content:flex-end;gap:8px;display:flex}.mobile-chat{z-index:100;background:linear-gradient(#080c14fa 0%,#0c121cf2 100%);border-top:1px solid #00dcff33;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000080}.mobile-chat.expanded{flex-direction:column;display:flex;top:60px}.mobile-chat-header{align-items:center;gap:8px;padding:10px 12px;display:flex}.mobile-chat-toggle{color:#00dcffb3;cursor:pointer;padding:4px 10px;font-size:.9rem}.mobile-chat-toggle:hover{color:#00e0ff}.mobile-chat-input{color:#c8dcf0e6;background:#0006;border:1px solid #00dcff33;border-radius:4px;outline:none;flex:1;padding:10px 14px;font-size:.85rem}.mobile-chat-input:focus{border-color:#00dcff80;box-shadow:0 0 10px #00c8ff33}.mobile-chat-input::placeholder{color:#648cb466}.mobile-chat-send{color:#00e0ff;cursor:pointer;background:#00c8ff26;border:1px solid #00dcff66;border-radius:4px;padding:10px 16px;font-size:.9rem}.mobile-chat-send:hover:not(:disabled){background:#00c8ff40;box-shadow:0 0 12px #00c8ff4d}.mobile-chat-send:disabled{opacity:.3;cursor:default}.mobile-chat-body{border-bottom:1px solid #00dcff1a;flex:1;min-height:0;overflow-y:auto}.mobile-chat.expanded .mobile-chat-body{display:block}.mobile-chat:not(.expanded) .mobile-chat-body{display:none}.notif-panel{background:var(--layer,#0c1218);border:1px solid var(--border,#00c8ff1f);width:320px;max-height:400px;box-shadow:var(--glow-strong,0 0 60px #00c8ff40);z-index:9999;border-radius:6px;position:fixed;top:42px;right:12px;overflow-y:auto}.notif-header{border-bottom:1px solid var(--border,#00c8ff1f);color:var(--primary,#00c8ff);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:10px 14px;font-family:Orbitron,monospace;font-size:.7rem;display:flex}.notif-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:.8rem}.notif-empty{text-align:center;color:var(--text-dim);padding:24px;font-size:.75rem}.notif-item{border-bottom:1px solid var(--border,#00c8ff0f);cursor:pointer;gap:8px;padding:10px 14px;transition:background .15s;display:flex}.notif-item:hover{background:var(--primary-ghost,#00c8ff0f)}.notif-item.unread{border-left:2px solid var(--primary,#00c8ff)}.notif-icon{flex-shrink:0;font-size:.9rem}.notif-body{flex:1;min-width:0}.notif-title{color:var(--text,#c8d8e8);margin:0 0 2px;font-size:.7rem;font-weight:600}.notif-text{color:var(--text-dim);margin:0;font-size:.65rem;line-height:1.4}.notif-actions{gap:6px;margin-top:6px;display:flex}.notif-actions .btn-primary,.notif-actions .btn-secondary{padding:3px 8px;font-size:.6rem}.notif-time{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.55rem}.notif-result{color:var(--success,#00e676);margin:4px 0 0;font-family:Space Mono,monospace;font-size:.6rem}@media (width<=768px){body{-webkit-tap-highlight-color:transparent}button,a,[role=button],.btn,.tab,.nav-item{touch-action:manipulation;-webkit-user-select:none;user-select:none}.panel,.card,.sidebar{-webkit-overflow-scrolling:touch}}.init-scanner{background:linear-gradient(90deg,#0000,#00e5ff,#7b2ff7,#0000);border-radius:2px;width:120px;height:2px;animation:1.4s ease-in-out infinite init-scan;box-shadow:0 0 12px #00e5ff88}@keyframes init-scan{0%{opacity:0;transform:scaleX(.2)translate(-100%)}50%{opacity:1;transform:scaleX(1)translate(0)}to{opacity:0;transform:scaleX(.2)translate(100%)}}.init-dots{gap:8px;display:flex}.init-dots span{background:#00e5ff;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite init-pulse;box-shadow:0 0 6px #00e5ff}.init-dots span:nth-child(2){background:#7b2ff7;animation-delay:.2s;box-shadow:0 0 6px #7b2ff7}.init-dots span:nth-child(3){animation-delay:.4s}@keyframes init-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}}.init-label{letter-spacing:.25em;color:#00e5ff88;font-family:monospace;font-size:.65rem;animation:3s linear infinite init-flicker}@keyframes init-flicker{0%,95%,to{opacity:1}96%{opacity:.3}97%{opacity:1}98%{opacity:.5}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background:#000000d9;justify-content:center;align-items:center;animation:.25s ease-out overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-box{background:linear-gradient(135deg,#0d1117 0%,#0a1628 50%,#0d1117 100%);border:1px solid #00c8ff1f;border-radius:8px;min-width:320px;padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) dialog-in;position:relative;box-shadow:0 0 40px #00c8ff0f,0 0 80px #7b2ff70a,inset 0 1px #ffffff08}@keyframes dialog-in{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-box:before{content:"";background:linear-gradient(90deg,#0000,#00c8ff4d,#7b2ff733,#0000);height:1px;position:absolute;top:0;left:0;right:0}.modal-box h3{color:#c8d8e8;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.2rem;font-family:Space Mono,monospace;font-size:.8rem}.modal-close{color:#556;cursor:pointer;background:0 0;border:none;font-size:1.1rem;transition:color .2s;position:absolute;top:10px;right:12px}.modal-close:hover{color:#00e5ff}.tenant-list{margin:0;padding:0;list-style:none}.tenant-list li{cursor:pointer;color:#89a;border-left:2px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:2px;padding:.6rem .85rem;font-family:Space Mono,monospace;font-size:.72rem;transition:all .15s;display:flex}.tenant-list li:hover{color:#c8d8e8;background:#00c8ff0f;border-left-color:#00c8ff4d}.tenant-list li.active{color:#00e5ff;text-shadow:0 0 8px #00c8ff4d;background:#00c8ff0a;border-left-color:#00e5ff}.tier-badge{opacity:.5;text-transform:uppercase;letter-spacing:.05em;border:1px solid #ffffff1a;border-radius:2px;margin-left:auto;padding:1px 5px;font-size:.55rem}.modal-loading{color:#556;font-family:Space Mono,monospace;font-size:.7rem;animation:1.5s ease-in-out infinite pulse-load}@keyframes pulse-load{0%,to{opacity:.4}50%{opacity:1}}
