@import "https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,450;14..32,500;14..32,600;14..32,700;14..32,800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#0a0a0f;--bg-surface:#111118;--bg-elevated:#16161f;--bg-overlay:#1e1e2a;--bg-subtle:#252535;--bg-hover:#ffffff0a;--bg-active:#6366f11f;--brand:#6366f1;--brand-hover:#818cf8;--brand-dim:#6366f126;--brand-dim2:#6366f114;--brand-glow:0 0 20px #6366f159;--wa-green:#22c55e;--wa-dim:#22c55e26;--success:#22c55e;--success-dim:#22c55e1f;--warning:#f59e0b;--warning-dim:#f59e0b1f;--error:#ef4444;--error-dim:#ef44441f;--info:#38bdf8;--info-dim:#38bdf81f;--status-pending:#64748b;--status-progress:#6366f1;--status-review:#f59e0b;--status-waiting:#a855f7;--status-done:#22c55e;--status-cancelled:#ef4444;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-faint:#334155;--border:#ffffff0f;--border-strong:#ffffff1f;--border-brand:#6366f166;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-xl:0 20px 60px #000000b3;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--sidebar-width:240px;--sidebar-collapsed:64px;--topbar-height:56px;--t-fast:.1s ease;--t-normal:.2s ease;--t-slow:.35s cubic-bezier(.4, 0, .2, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-splash:999}[data-theme=light]{--bg-base:#f8fafc;--bg-surface:#fff;--bg-elevated:#f1f5f9;--bg-overlay:#e2e8f0;--bg-subtle:#cbd5e1;--bg-hover:#00000008;--bg-active:#6366f114;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-faint:#94a3b8;--border:#00000012;--border-strong:#00000024;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #00000024;--shadow-xl:0 20px 60px #0000002e}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-base);min-height:100dvh;font-weight:400;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}a{color:inherit;text-decoration:none}::selection{background:var(--brand-dim);color:var(--brand-hover)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.w-full{width:100%}.h-full{height:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--bg-base);min-height:100dvh;display:flex}.app-main{min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--t-slow);flex-direction:column;flex:1;display:flex}.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.page-content{padding:var(--space-6);padding-top:calc(var(--topbar-height) + var(--space-6));flex:1;width:100%;max-width:1400px;margin:0 auto;overflow-y:auto}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);height:100dvh;z-index:var(--z-sticky);transition:width var(--t-slow), transform var(--t-slow);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-logo{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);height:var(--topbar-height);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.sidebar-logo-icon{border-radius:var(--radius-md);width:32px;height:32px;box-shadow:none;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar-logo-icon img{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%}.sidebar-logo-text{font-size:var(--text-md);color:var(--text-primary);white-space:nowrap;letter-spacing:-.3px;font-weight:700}.sidebar-logo-badge{background:var(--brand-dim);color:var(--brand-hover);border:1px solid var(--border-brand);border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.5px;text-transform:uppercase;padding:1px 6px;font-size:9px;font-weight:600}.sidebar-nav{padding:var(--space-3) var(--space-2);flex-direction:column;flex:1;gap:1px;display:flex;overflow:hidden auto}.sidebar-section-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);padding:var(--space-3) var(--space-3) var(--space-1);white-space:nowrap;font-size:10px;font-weight:600}.nav-item{align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;text-align:left;background:0 0;border:none;width:100%;font-weight:450;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-active);color:var(--brand-hover);font-weight:500}.nav-item.active .nav-icon{color:var(--brand)}.nav-icon{width:18px;height:18px;color:inherit;flex-shrink:0}.nav-badge{border-radius:var(--radius-full);background:var(--brand);color:#fff;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:600;display:flex}.nav-badge.error{background:var(--error)}.nav-badge.warning{background:var(--warning)}.sidebar-footer{padding:var(--space-3) var(--space-2);border-top:1px solid var(--border);flex-shrink:0}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--t-fast);display:flex}.sidebar-user:hover{background:var(--bg-hover)}.user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--brand), #a78bfa);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.user-avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.user-info{min-width:0}.user-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.user-role{font-size:var(--text-xs);color:var(--text-muted)}.topbar{top:0;right:0;left:var(--sidebar-width);height:var(--topbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border);padding:0 var(--space-6);align-items:center;gap:var(--space-4);z-index:var(--z-sticky);transition:left var(--t-slow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:fixed}.topbar.sidebar-collapsed{left:var(--sidebar-collapsed)}.topbar-left{align-items:center;gap:var(--space-3);flex:1;display:flex}.topbar-right{align-items:center;gap:var(--space-2);display:flex}.topbar-title{font-size:var(--text-md);color:var(--text-primary);font-weight:600}.topbar-breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.topbar-breadcrumb span{color:var(--text-secondary)}.search-trigger{align-items:center;gap:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:7px var(--space-3);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);min-width:220px;max-width:320px;color:var(--text-muted);font-size:var(--text-sm);display:flex}.search-trigger:hover{border-color:var(--border-strong);background:var(--bg-overlay)}.search-shortcut{background:var(--bg-subtle);border:1px solid var(--border-strong);color:var(--text-muted);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.lang-switch{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:2px;padding:2px;display:inline-flex}.lang-switch-opt{color:var(--text-muted);letter-spacing:.04em;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.lang-switch-opt:hover{color:var(--text-primary)}.lang-switch-opt.active{background:var(--bg-overlay);color:var(--text-primary)}.icon-btn{border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn.has-dot:after{content:"";background:var(--error);border:2px solid var(--bg-surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:8px var(--space-4);border-radius:var(--radius-md);font-family:var(--font);font-size:var(--text-sm);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;border:1px solid #0000;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--brand-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-overlay);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--error-dim);color:var(--error);border-color:#ef444440}.btn-danger:hover:not(:disabled){background:var(--error);color:#fff}.btn-success{background:var(--success-dim);color:var(--success);border-color:#22c55e40}.btn-success:hover:not(:disabled){background:var(--success);color:#fff}.btn-sm{padding:5px var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:12px var(--space-6);font-size:var(--text-md);border-radius:var(--radius-lg)}.btn-icon-only{width:36px;height:36px;padding:0}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);min-width:0;max-width:100%}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-elevated{background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);transition:all var(--t-normal);flex-direction:column;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-color,var(--brand));opacity:0;height:2px;transition:opacity var(--t-normal);position:absolute;top:0;left:0;right:0}.stat-card:hover:before{opacity:1}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card-header{justify-content:space-between;align-items:center;display:flex}.stat-card-icon{border-radius:var(--radius-md);background:var(--stat-bg,var(--brand-dim));width:40px;height:40px;color:var(--stat-color,var(--brand));justify-content:center;align-items:center;display:flex}.stat-card-change{font-size:var(--text-xs);align-items:center;gap:3px;font-weight:500;display:flex}.stat-card-change.up{color:var(--success)}.stat-card-change.down{color:var(--error)}.stat-card-value{font-size:var(--text-3xl);color:var(--text-primary);letter-spacing:-1px;font-weight:700;line-height:1}.stat-card-label{font-size:var(--text-sm);color:var(--text-muted)}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-pending{color:var(--status-pending);background:#64748b26;border:1px solid #64748b33}.badge-progress{color:var(--status-progress);background:#6366f126;border:1px solid #6366f140}.badge-review{color:var(--status-review);background:#f59e0b26;border:1px solid #f59e0b40}.badge-done{color:var(--status-done);background:#22c55e26;border:1px solid #22c55e40}.badge-waiting{color:var(--status-waiting);background:#a855f726;border:1px solid #a855f740}.badge-cancelled{color:var(--status-cancelled);background:#ef44441f;border:1px solid #ef444438}.badge-urgent{color:var(--error);background:#ef444426;border:1px solid #ef444440}.badge-brand{background:var(--brand-dim);color:var(--brand-hover);border:1px solid var(--border-brand)}.badge-wa{background:var(--wa-dim);color:var(--wa-green);border:1px solid #22c55e40}.badge-category{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-subtle,#ffffff14)}.badge-low{color:#94a3b8;background:#64748b1f}.badge-medium{color:var(--warning);background:#f59e0b1f}.badge-high{color:var(--error);background:#ef44441f}.avatar-group{align-items:center;display:flex}.avatar-group .user-avatar{border:2px solid var(--bg-surface);width:26px;height:26px;margin-left:-8px;font-size:10px}.avatar-group .user-avatar:first-child{margin-left:0}.progress-bar{border-radius:var(--radius-full);background:var(--bg-subtle);height:4px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--brand-hover));height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.dashboard-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.dashboard-grid{gap:var(--space-5);grid-template-columns:1fr 380px;min-width:0;display:grid}.dashboard-grid>*{min-width:0;max-width:100%}.dashboard-grid-full{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.ops-center-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.ops-center-item{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.ops-center-emoji{font-size:18px;line-height:1}.ops-center-label{color:var(--text-muted);font-size:12px;line-height:1.3}.ops-center-value{color:var(--text-primary);font-size:18px;font-weight:650}.ops-ok{border-color:color-mix(in srgb, #22c55e 35%, var(--border))}.ops-warn{border-color:color-mix(in srgb, #f59e0b 40%, var(--border))}.ai-activity-card{align-items:flex-start;gap:14px;display:flex}.ai-activity-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ai-activity-body{flex:1;min-width:0}.ai-activity-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.ai-activity-project,.ai-activity-time{color:var(--text-muted);font-size:12px}.ai-activity-time{margin-left:auto}.ai-activity-message{color:var(--text-primary);word-break:break-word;margin-bottom:8px;font-size:14px;line-height:1.45}.ai-activity-confidence{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.ai-activity-feedback{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ai-activity-feedback-done{color:var(--success,#22c55e);font-size:12px}.messages-row .activity-time{white-space:nowrap}.kanban-scroll-hint{display:none}.kanban-page{width:100%;min-width:0;max-width:100%}.kanban-header{gap:var(--space-3);flex-wrap:wrap;align-items:flex-start}.kanban-filters{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.kanban-filter-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.kanban-filter-select{width:auto;min-width:180px;max-width:min(280px,100%)}.kanban-board{gap:var(--space-4);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;padding-bottom:var(--space-4);flex-wrap:nowrap;width:100%;max-width:100%;min-height:calc(100dvh - 200px);display:flex;overflow:auto hidden}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-thumb{background:var(--bg-subtle);border-radius:var(--radius-full)}.kanban-column{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:0 0 300px;width:300px;min-width:280px;max-height:calc(100dvh - 180px);display:flex}.kanban-column-header{padding:var(--space-4);align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1;flex-shrink:0;display:flex;position:sticky;top:0}.kanban-column-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kanban-column-name{font-size:var(--text-sm);color:var(--text-primary);flex:1;font-weight:600}.kanban-column-count{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);padding:1px 7px}.kanban-cards{padding:var(--space-3);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kanban-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:grab;transition:box-shadow var(--t-fast), transform var(--t-fast), border-color var(--t-fast);-webkit-user-select:none;user-select:none}.kanban-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kanban-card.dragging{opacity:.85;box-shadow:var(--shadow-xl);cursor:grabbing;border-color:var(--border-brand);transform:rotate(1.5deg)scale(1.02)}.kanban-card-title{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:500;line-height:1.4}.kanban-card-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.kanban-card-footer{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.kanban-add-btn{width:100%;padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;text-align:left;align-items:center;gap:var(--space-2);transition:background var(--t-fast), color var(--t-fast);margin:var(--space-2) var(--space-3);background:0 0;border:none;display:flex}.kanban-add-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.timeline{flex-direction:column;gap:0;display:flex;position:relative}.timeline-item{gap:var(--space-4);padding-bottom:var(--space-5);display:flex;position:relative}.timeline-item:before{content:"";background:var(--border);width:1px;position:absolute;top:38px;bottom:0;left:19px}.timeline-item:last-child:before{display:none}.timeline-dot{background:var(--bg-elevated);border:2px solid var(--border);width:38px;height:38px;color:var(--text-muted);z-index:1;transition:border-color var(--t-fast), background var(--t-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline-dot.message{border-color:var(--wa-green);color:var(--wa-green);background:var(--wa-dim)}.timeline-dot.task{border-color:var(--brand);color:var(--brand);background:var(--brand-dim2)}.timeline-dot.file{border-color:var(--info);color:var(--info);background:var(--info-dim)}.timeline-dot.assign{border-color:var(--warning);color:var(--warning);background:var(--warning-dim)}.timeline-dot.status{border-color:var(--success);color:var(--success);background:var(--success-dim)}.timeline-dot.ai{color:#a78bfa;background:#a78bfa1f;border-color:#a78bfa}.timeline-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:border-color var(--t-fast);flex:1}.timeline-content:hover{border-color:var(--border-strong)}.timeline-header{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.timeline-actor{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.timeline-time{font-size:var(--text-xs);color:var(--text-muted)}.timeline-body{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.project-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:all var(--t-normal);position:relative;overflow:hidden}.project-card:after{content:"";background:var(--project-color,var(--brand));border-radius:var(--radius-xs) 0 0 var(--radius-xs);width:3px;position:absolute;top:0;bottom:0;left:0}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-card-header{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.project-icon{border-radius:var(--radius-md);background:var(--project-color-dim,var(--brand-dim));width:44px;height:44px;font-size:var(--text-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-name{font-size:var(--text-base);color:var(--text-primary);margin-bottom:2px;font-weight:600}.project-group{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.project-stats{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.project-stat{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.file-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.file-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--t-fast);gap:var(--space-2);flex-direction:column;display:flex}.file-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.file-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.file-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.file-meta{font-size:var(--text-xs);color:var(--text-muted)}.activity-feed{flex-direction:column;gap:2px;min-width:0;max-width:100%;display:flex}.activity-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--t-fast);min-width:0;max-width:100%;display:flex}.activity-item:hover{background:var(--bg-hover)}.team-member-row{flex-wrap:wrap;align-items:flex-start}.team-member-main{flex:160px;min-width:0}.team-member-main .activity-text{flex:none;min-width:0}.team-member-meta{word-break:break-word;overflow-wrap:anywhere;white-space:normal}.team-member-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.dashboard-msg-item{align-items:flex-start}.dashboard-msg-body-wrap{flex:1 1 0;min-width:0;max-width:100%}.dashboard-msg-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:2px;display:flex}.dashboard-msg-meta{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.dashboard-msg-body{white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;flex:none!important}.project-progress-list{flex-direction:column;gap:12px;min-width:0;max-width:100%;display:flex}.project-progress-row{width:100%;min-width:0}.project-progress-label{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;margin-bottom:6px;display:flex}.project-progress-name{font-size:var(--text-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-progress-pct{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.project-progress-bar{width:100%;max-width:100%;height:8px}.activity-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--brand), #a78bfa);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.activity-text{font-size:var(--text-sm);color:var(--text-secondary);flex:1;line-height:1.4}.activity-text strong{color:var(--text-primary);font-weight:500}.activity-time{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.ai-badge{color:#a78bfa;border-radius:var(--radius-full);letter-spacing:.3px;white-space:nowrap;background:#a78bfa1f;border:1px solid #a78bfa40;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.ai-activity-header{margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;display:flex}.ai-activity-header-text{flex:auto;min-width:0;max-width:100%}.ai-activity-header-text .card-subtitle{word-break:break-word;overflow-wrap:anywhere;max-width:100%;margin-top:4px}.ai-activity-header-actions{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.ai-pulse{background:#a78bfa;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-modal);padding:var(--space-4);background:#000000b3;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:520px;box-shadow:var(--shadow-xl);animation:.2s cubic-bezier(.4,0,.2,1) slideUp;position:relative}.modal-sm{max-width:380px}.modal-lg{max-width:700px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.modal-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.modal-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.3px;font-weight:700}.modal-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:4px}.modal-footer{gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.command-palette-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);background:#000000a6;justify-content:center;align-items:flex-start;padding-top:15vh;animation:.1s fadeIn;display:flex;position:fixed;inset:0}.command-palette{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:100%;max-width:580px;box-shadow:var(--shadow-xl);animation:.15s slideUp;overflow:hidden}.command-input-wrap{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.command-input{font-family:var(--font);font-size:var(--text-md);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.command-input::placeholder{color:var(--text-muted)}.command-results{max-height:400px;padding:var(--space-2);overflow-y:auto}.command-group-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);padding:var(--space-2) var(--space-3);font-size:10px;font-weight:600}.command-item{align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--t-fast);display:flex}.command-item:hover,.command-item.selected{background:var(--bg-active)}.command-item-icon{border-radius:var(--radius-sm);background:var(--bg-subtle);width:32px;height:32px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.command-item-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.command-item-sub{font-size:var(--text-xs);color:var(--text-muted)}.command-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);display:flex}.command-shortcut{align-items:center;gap:4px;display:inline-flex}.kbd{background:var(--bg-subtle);border:1px solid var(--border-strong);font-size:10px;font-family:var(--font);border-radius:4px;padding:1px 5px}.notification-panel{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:360px;box-shadow:var(--shadow-xl);z-index:var(--z-modal);pointer-events:auto;animation:.15s slideUp;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.notification-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.notification-list{max-height:400px;overflow-y:auto}.notification-item{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t-fast);display:flex;position:relative}.notification-item:hover{background:var(--bg-hover)}.notification-item.unread:before{content:"";background:var(--brand);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.notification-item-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-item-title{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:2px;font-weight:500}.notification-item-body{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.notification-item-time{color:var(--text-muted);margin-top:4px;font-size:11px}.notification-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);text-align:center}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.form-input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px var(--space-3);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;width:100%}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim2)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.tabs{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:0;max-width:100%;display:flex;overflow-x:auto}.tab-item{appearance:none;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:color var(--t-fast), border-color var(--t-fast), background var(--t-fast);white-space:nowrap;align-items:center;gap:var(--space-2);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex-shrink:0;font-family:inherit;font-weight:450;line-height:1.3;display:inline-flex}.tab-item:hover{color:var(--text-secondary);background:var(--bg-elevated)}.tab-item.active{color:var(--brand-hover);border-bottom-color:var(--brand);background:0 0;font-weight:500}.tab-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.empty-state{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-12);text-align:center;flex-direction:column;display:flex}.empty-icon{border-radius:var(--radius-xl);background:var(--bg-elevated);border:1px solid var(--border);width:64px;height:64px;color:var(--text-muted);justify-content:center;align-items:center;font-size:28px;display:flex}.empty-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.empty-body{font-size:var(--text-sm);color:var(--text-muted);max-width:320px}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{background:var(--bg-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-primary);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--t-fast);z-index:var(--z-dropdown);padding:4px 10px;font-weight:500;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip{opacity:1}.splash-screen{background:var(--bg-base);z-index:var(--z-splash);justify-content:center;align-items:center;gap:var(--space-5);flex-direction:column;animation:.4s 2s forwards splashFade;display:flex;position:fixed;inset:0}.splash-logo{border-radius:var(--radius-2xl);background:0 0;justify-content:center;align-items:center;width:80px;height:80px;animation:.5s cubic-bezier(.175,.885,.32,1.275) splashPop;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000040}.splash-logo img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.splash-wordmark{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.5px;font-weight:800}.splash-tagline{font-size:var(--text-sm);color:var(--text-muted)}.splash-loader{background:var(--bg-elevated);border-radius:var(--radius-full);width:200px;height:2px;position:absolute;bottom:60px;overflow:hidden}.splash-loader-bar{background:linear-gradient(90deg, var(--brand), #a78bfa);border-radius:inherit;height:100%;animation:1.8s forwards loadBar}@keyframes splashPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes splashFade{to{opacity:0;pointer-events:none}}@keyframes loadBar{0%{width:0%}to{width:100%}}.auth-page{background:var(--bg-base);justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.auth-bg-glow{pointer-events:none;background:radial-gradient(circle,#6366f11f 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.auth-bg-glow2{pointer-events:none;background:radial-gradient(circle,#8b5cf614 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-100px;left:-100px}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:var(--space-10);width:100%;max-width:440px;box-shadow:var(--shadow-xl);z-index:1;animation:.3s slideUp;position:relative}.auth-logo{align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);display:flex}.auth-heading{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.5px;margin-bottom:var(--space-1);font-weight:800}.auth-subheading{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-8)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--text-muted);font-size:var(--text-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.auth-footer a{color:var(--brand-hover);font-weight:500}.auth-back{margin-bottom:var(--space-6);font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.auth-back:hover{color:var(--text-primary)}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap .password-input{width:100%;padding-right:44px}.password-toggle{width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-primary);background:var(--bg-muted,#0000000a)}@media (width<=1100px){.ops-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.app-main{margin-left:0}.topbar{padding:0 var(--space-4);left:0}.page-content{padding:var(--space-4);padding-top:calc(var(--topbar-height) + var(--space-4))}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid-full,.ops-center-grid{grid-template-columns:1fr}.ai-activity-card{flex-direction:column}.ai-activity-time{margin-left:0}.ai-activity-header{flex-direction:column;align-items:flex-start;gap:8px}.ai-activity-header-text{flex:none;width:100%}.ai-activity-header-actions{flex:none;justify-content:flex-start;width:auto;margin-top:0}.ai-activity-page .section-header.ai-activity-header{margin-bottom:12px}.messages-row{flex-wrap:wrap}.team-member-actions{justify-content:flex-start;width:100%;margin-left:40px}.dashboard-msg-top{flex-wrap:wrap}.dashboard-msg-top .activity-time{order:2;width:100%}.card-header{flex-wrap:wrap;align-items:flex-start;gap:8px}.kanban-board{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);width:calc(100% + 2 * var(--space-4));max-width:none;min-height:calc(100dvh - 220px);padding-bottom:calc(72px + var(--space-4));flex-flow:row;overflow:auto hidden}.kanban-column{scroll-snap-align:start;flex:0 0 min(300px,82vw);width:min(300px,82vw);min-width:min(280px,80vw);max-height:calc(100dvh - 200px)}.kanban-scroll-hint{color:var(--text-muted);margin:-4px 0 12px;font-size:12px;display:block}.kanban-header{flex-direction:column;align-items:stretch}.kanban-filters,.kanban-filter-label{width:100%}.kanban-filter-select{flex:1;width:100%;min-width:0;max-width:none}.project-tabs.tabs{border-bottom:none;flex-wrap:wrap;gap:8px;padding-bottom:4px;display:flex;overflow:visible;margin-bottom:16px!important}.project-tabs .tab-item{border:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-surface);border-radius:999px;padding:8px 12px;font-size:12px;line-height:1.2}.project-tabs .tab-item.active{color:var(--brand-hover);border-color:var(--brand);background:var(--brand-dim2,#6366f11f);font-weight:600}.project-detail-header{flex-direction:column;align-items:stretch}.search-trigger{min-width:120px}.auth-card{margin:var(--space-4);padding:var(--space-6)}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;margin:0;animation:.25s slideUpMobile;position:fixed;bottom:0;left:0;right:0}.modal-overlay{align-items:flex-end;padding:0}.file-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=480px){.dashboard-stats{grid-template-columns:1fr 1fr}.tabs:not(.project-tabs){-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}}.mobile-nav{background:var(--bg-surface);border-top:1px solid var(--border);z-index:var(--z-sticky);padding:var(--space-2) var(--space-4);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-items{-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;align-items:center;gap:2px;display:flex;overflow-x:auto}.mobile-nav-items::-webkit-scrollbar{display:none}.mobile-nav-item{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);transition:color var(--t-fast);background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:3px;min-width:56px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.mobile-nav-item.active{color:var(--brand-hover)}.mobile-nav-item svg{width:22px;height:22px}@media (width<=768px){.mobile-nav{display:block}.sidebar{display:none}.page-content{padding-bottom:calc(72px + var(--space-4))}.mobile-menu-btn{display:inline-flex!important}}.mobile-menu-btn{display:none}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0000008c;display:none;position:fixed;inset:0}.mobile-drawer{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;width:min(320px,88vw);height:100%;animation:.22s slideDrawer;display:flex}@keyframes slideDrawer{0%{opacity:.6;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.mobile-drawer-header{padding:var(--space-4);border-bottom:1px solid var(--border);height:var(--topbar-height);justify-content:space-between;align-items:center;display:flex}.mobile-drawer-nav{padding:var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.mobile-drawer-footer{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4)}@media (width<=768px){.mobile-drawer-overlay{display:block}}.notification-item{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none}.provider-layout{gap:var(--space-4);grid-template-columns:260px 1fr;align-items:start;display:grid}.provider-list{flex-direction:column;gap:8px;display:flex}.provider-list-item{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--t-fast), background var(--t-fast);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.provider-list-item:hover,.provider-list-item.active{border-color:var(--border-brand);background:var(--bg-active)}.provider-list-top{align-items:center;gap:8px;font-size:13px;display:flex}.provider-form .card-header{align-items:flex-start}.toggle{cursor:pointer;width:42px;height:24px;display:inline-flex;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-ui{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:var(--radius-full);transition:background var(--t-fast);position:absolute;inset:0}.toggle-ui:after{content:"";width:18px;height:18px;transition:transform var(--t-fast);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-ui{background:var(--wa-green);border-color:#22c55e66}.toggle input:checked+.toggle-ui:after{transform:translate(18px)}@media (width<=768px){.provider-layout{grid-template-columns:1fr}.provider-list{grid-template-columns:1fr 1fr;display:grid}}@media (width<=480px){.provider-list{grid-template-columns:1fr}}.install-prompt{bottom:var(--space-4);right:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);max-width:340px;box-shadow:var(--shadow-xl);z-index:var(--z-toast);gap:var(--space-3);align-items:flex-start;animation:.3s slideUp;display:flex;position:fixed}.install-prompt-text{flex:1}.install-prompt-title{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:4px;font-weight:600}.install-prompt-body{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.install-prompt-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.shimmer{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-overlay) 50%, var(--bg-elevated) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:.2s fadeIn}.group-detected-modal .modal-icon{background:var(--wa-dim);color:var(--wa-green);border:1px solid #22c55e40;font-size:28px}.group-info-row{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.group-info-label{font-size:var(--text-xs);color:var(--text-muted)}.group-info-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.chart-wrap{width:100%;overflow:hidden}.divider{background:var(--border);height:1px;margin:var(--space-4) 0}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.admin-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-landing-btn{white-space:nowrap}@media (width<=640px){.admin-section-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-header-actions{justify-content:flex-start;width:100%}}.section-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.section-action{font-size:var(--text-sm);color:var(--brand-hover);cursor:pointer;font-weight:500}.section-action:hover{text-decoration:underline}.dropdown{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);min-width:180px;animation:.12s slideUp;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.dropdown-item{align-items:center;gap:var(--space-3);padding:9px var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);display:flex}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dropdown-item.danger{color:var(--error)}.dropdown-item.danger:hover{background:var(--error-dim)}.dropdown-divider{background:var(--border);height:1px;margin:var(--space-1) 0}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border)!important}.recharts-text{fill:var(--text-muted)!important;font-size:11px!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-elevated)!important;border:1px solid var(--border-strong)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.landing{background:var(--bg-base);min-height:100dvh;color:var(--text-primary);overflow-x:hidden}.landing-nav{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#0a0a0fb8;display:flex;position:sticky;top:0}.landing-brand{align-items:center;gap:var(--space-2);color:inherit;text-decoration:none;display:inline-flex}.landing-brand-icon{border-radius:var(--radius-md);width:32px;height:32px;box-shadow:none;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.landing-brand-icon img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.landing-brand-icon-lg{border-radius:var(--radius-lg);width:48px;height:48px}.landing-brand-name,.landing-wordmark{letter-spacing:-.4px;font-weight:800}.landing-brand-name{font-size:var(--text-md)}.landing-brand-badge{letter-spacing:.4px;border-radius:var(--radius-full);background:var(--brand-dim);color:var(--brand-hover);border:1px solid var(--border-brand);padding:2px 6px;font-size:9px;font-weight:700}.landing-nav-actions{align-items:center;gap:var(--space-2);display:flex}.landing-nav-link{color:var(--text-secondary);font-size:var(--text-sm);padding:8px 10px;font-weight:500;text-decoration:none}.landing-nav-link:hover{color:var(--text-primary)}.landing-hero{justify-content:center;align-items:center;gap:var(--space-8);min-height:calc(100dvh - 72px);padding:var(--space-10) var(--space-6) var(--space-12);text-align:center;flex-direction:column;max-width:1100px;margin:0 auto;display:flex;position:relative}.landing-hero-glow,.landing-hero-glow2{pointer-events:none;filter:blur(8px);border-radius:50%;position:absolute}.landing-hero-glow{background:radial-gradient(circle,#6366f138 0%,#0000 70%);width:min(70vw,560px);height:min(70vw,560px);animation:8s ease-in-out infinite alternate landingGlow;top:-12%;right:50%;transform:translate(40%)}.landing-hero-glow2{background:radial-gradient(circle,#22c55e1f 0%,#0000 70%);width:min(50vw,380px);height:min(50vw,380px);animation:10s ease-in-out infinite alternate-reverse landingGlow;bottom:8%;left:50%;transform:translate(-55%)}@keyframes landingGlow{0%{opacity:.85}to{opacity:1}}.landing-hero-copy{z-index:1;will-change:transform;flex-direction:column;align-items:center;width:100%;max-width:720px;margin:0 auto;display:flex;position:relative}.landing-hero-in{animation:.75s cubic-bezier(.22,1,.36,1) both landingRise;animation-delay:var(--delay,0s)}.landing-brand-hero{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.landing-wordmark{color:var(--text-primary);font-size:clamp(28px,5vw,40px)}.landing-brand-tagline{margin:0 auto var(--space-4);color:var(--text-secondary);letter-spacing:.01em;text-align:center;max-width:40ch;font-size:clamp(13px,1.8vw,15px);font-weight:500;line-height:1.45}.landing-headline{letter-spacing:-.03em;margin:0 auto var(--space-4);color:var(--text-primary);text-align:center;max-width:18ch;font-size:clamp(28px,4.6vw,44px);font-weight:700;line-height:1.12}.landing-sub{color:var(--text-secondary);margin:0 auto var(--space-6);text-align:center;max-width:46ch;font-size:clamp(15px,2vw,17px);line-height:1.55}.landing-cta{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.landing-pain{margin:0 auto var(--space-6);text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:52ch;display:flex}.landing-pain-problem,.landing-pain-solution{border-radius:var(--radius-lg);box-sizing:border-box;border-left:none;width:100%;margin:0;padding:12px 16px;font-size:clamp(15px,2vw,17px);line-height:1.55}.landing-pain-problem{color:var(--text-secondary);background:#f871710f;border-top:2px solid #f871718c}.landing-pain-solution{color:var(--text-primary);border-top:2px solid var(--brand-hover);background:var(--brand-dim);font-weight:500}.landing-journey{padding:var(--space-8) var(--space-6);background:radial-gradient(70% 50% at 20% 0,#6366f11f,#0000 55%),radial-gradient(60% 40% at 90% 80%,#22c55e14,#0000 50%),linear-gradient(#0a0a0f00,#101018a6,#0a0a0f00);position:relative;overflow:hidden}.landing-journey-inner{max-width:1120px;margin:0 auto}.landing-journey-track{margin:var(--space-6) 0 0;gap:var(--space-5);counter-reset:journey;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid}.landing-journey-step{text-align:left;min-width:0;position:relative}.landing-journey-step:not(:last-child):after{content:"";top:72px;right:calc(-1 * var(--space-5) / 2 - 6px);z-index:2;border-top:2px solid #6366f18c;border-right:2px solid #6366f18c;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.landing-journey-media{aspect-ratio:1;margin-bottom:var(--space-4);background:#12121a;border:1px solid #ffffff14;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000059,inset 0 0 0 1px #ffffff0a}.landing-journey-media img{object-fit:cover;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1);display:block}.landing-journey-step:hover .landing-journey-media img{transform:scale(1.04)}.landing-journey-num{letter-spacing:.08em;color:var(--brand-hover);margin-bottom:8px;font-size:11px;font-weight:700;display:inline-block}.landing-journey-step h3{color:var(--text-primary);margin:0 0 8px;font-size:clamp(15px,1.6vw,17px);font-weight:650;line-height:1.3}.landing-journey-step p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.landing-ai-result{border:1px solid var(--border-brand);background:var(--brand-dim);border-radius:var(--radius-lg);margin-bottom:10px;padding:12px 14px}.landing-ai-result-soft{border-color:var(--border);background:#ffffff08}.landing-ai-result-title{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-hover);margin-bottom:6px;font-size:10px;font-weight:700}.landing-ai-result-soft .landing-ai-result-title{color:var(--text-muted)}.landing-ai-result-task{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:600;line-height:1.35}.landing-ai-result-meta{flex-wrap:wrap;gap:6px;display:flex}.landing-audiences{gap:var(--space-5);grid-template-columns:repeat(5,minmax(0,1fr));max-width:1100px;margin:0 auto;display:grid}.landing-audience h3{font-size:var(--text-base);color:var(--text-primary);margin:0 0 8px;font-weight:650}.landing-audience p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.landing-testimonials-carousel{max-width:1100px;margin:0 auto}.landing-testimonials-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;animation:.45s both landingRise;display:grid}.landing-testimonial{padding:var(--space-5);border-radius:0 0 var(--radius-lg) var(--radius-lg);text-align:left;gap:var(--space-4);background:linear-gradient(#6366f10f,#0000 55%);border-top:1px solid #6366f159;flex-direction:column;min-height:100%;margin:0;display:flex}.landing-testimonial-quote{color:var(--text-primary);flex:1;margin:0;font-size:clamp(14px,1.5vw,15px);line-height:1.55}.landing-testimonial-meta{align-items:center;gap:12px;display:flex}.landing-testimonial-avatar{width:40px;height:40px;color:var(--brand-hover);background:var(--brand-dim);border:1px solid var(--border-brand);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.landing-testimonial-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:650}.landing-testimonial-role{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.landing-testimonials-controls{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.landing-testimonials-nav{border:1px solid var(--border);background:var(--bg-elevated)}.landing-testimonials-dots{align-items:center;gap:8px;display:flex}.landing-testimonials-dot{cursor:pointer;background:#fff3;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:transform .2s,background .2s}.landing-testimonials-dot.is-active{background:var(--brand-hover);transform:scale(1.25)}@media (prefers-reduced-motion:reduce){.landing-testimonials-grid{animation:none}}.landing-stats-section{padding-top:var(--space-6)}.landing-stats{gap:var(--space-5);text-align:center;grid-template-columns:repeat(4,minmax(0,1fr));max-width:960px;margin:0 auto;display:grid}.landing-stat-value{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:8px;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.1}.landing-stat-label{font-size:var(--text-sm);color:var(--text-secondary);max-width:18ch;margin:0 auto;line-height:1.4}.landing-hero-visual{z-index:1;width:100%;max-width:920px;min-height:0;margin:0 auto;animation:.85s cubic-bezier(.22,1,.36,1) .18s both landingRise;position:relative}.landing-stage{gap:var(--space-3);will-change:transform;grid-template-columns:1fr auto 1fr;align-items:center;transition:transform .15s ease-out;display:grid}.landing-hero-orb{pointer-events:none;z-index:0;opacity:.45;border-radius:50%;position:absolute}.landing-hero-orb-a{background:radial-gradient(circle,#6366f159,#0000 70%);width:120px;height:120px;animation:12s ease-in-out infinite landingOrbDrift;top:18%;left:42%}.landing-hero-orb-b{background:radial-gradient(circle,#22c55e47,#0000 70%);width:90px;height:90px;animation:9s ease-in-out infinite reverse landingOrbDrift;bottom:16%;right:18%}@keyframes landingOrbDrift{0%,to{transform:translate(0,0)}50%{transform:translate(22px,-28px)}}.landing-float-slow{animation:5.5s ease-in-out infinite landingFloat}.landing-float-delayed{animation:6.2s ease-in-out .8s infinite landingFloat}@keyframes landingFloat{0%,to{transform:translate(0,0)}50%{transform:translateY(-10px)}}[data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}[data-reveal=fade]{transform:translateY(12px)}[data-reveal=scale]{transform:translateY(20px)scale(.97)}[data-reveal=left]{transform:translate(-36px)}[data-reveal=right]{transform:translate(36px)}[data-reveal][data-reveal-delay="1"]{transition-delay:80ms}[data-reveal][data-reveal-delay="2"]{transition-delay:.16s}[data-reveal][data-reveal-delay="3"]{transition-delay:.24s}[data-reveal][data-reveal-delay="4"]{transition-delay:.32s}[data-reveal].is-revealed{opacity:1;transform:translate(0,0)scale(1)}.landing-hero-glow,.landing-hero-glow2{will-change:transform;transition:transform .12s linear}.landing-wa-panel,.landing-app-panel{border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:var(--space-4);min-height:280px;box-shadow:var(--shadow-xl);background:linear-gradient(#16161ff2,#111118fa)}.landing-wa-head,.landing-app-head{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);align-items:center;gap:8px;display:flex}.landing-wa-head{color:var(--wa-green)}.landing-app-head{justify-content:flex-start;gap:8px}.landing-bubble{color:var(--text-primary);border-radius:14px;margin-bottom:10px;padding:10px 12px;font-size:12px;line-height:1.4}.landing-bubble strong{color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.landing-bubble-in{background:#22c55e1f;border:1px solid #22c55e33;margin-right:18px}.landing-bubble-out{background:var(--brand-dim);border:1px solid var(--border-brand);color:var(--brand-hover);margin-left:18px}.landing-arrow{background:var(--brand-dim);border:1px solid var(--border-brand);width:40px;height:40px;color:var(--brand-hover);border-radius:50%;justify-content:center;align-items:center;display:flex}.landing-task-row{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);align-items:center;gap:8px;margin-bottom:10px;padding:12px;font-size:13px;display:flex}.landing-section{padding:var(--space-12) var(--space-6);max-width:1100px;margin:0 auto}.landing-section-tight{padding-top:var(--space-6);padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom))}.landing-section-title{letter-spacing:-.02em;margin-bottom:var(--space-3);text-align:center;font-size:clamp(22px,3.2vw,32px);font-weight:700}.landing-section-sub{text-align:center;color:var(--text-secondary);font-size:var(--text-md);max-width:52ch;margin:0 auto var(--space-8);line-height:1.55}.landing-steps{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.landing-step{padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-surface);transition:border-color var(--t-normal), transform var(--t-normal)}.landing-step:hover{border-color:var(--border-strong);transform:translateY(-2px)}.landing-step-num{letter-spacing:.08em;color:var(--brand-hover);margin-bottom:var(--space-3);font-size:11px;font-weight:700}.landing-step-icon{color:var(--text-secondary);margin-bottom:var(--space-3)}.landing-step h3{font-size:var(--text-md);margin-bottom:var(--space-2);font-weight:600}.landing-step p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.landing-pitch{text-align:center;padding:var(--space-10) var(--space-6);border-radius:var(--radius-2xl);border:1px solid var(--border-strong);background:radial-gradient(ellipse at top, #6366f129, transparent 55%), var(--bg-surface)}.landing-pitch .landing-cta{justify-content:center}.landing-faq{flex-direction:column;gap:10px;max-width:720px;margin:0 auto;display:flex}.landing-faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);padding:12px 16px}.landing-downloads{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:0 auto;display:grid}.landing-download-card{border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}a.landing-download-card:hover{border-color:var(--brand,#25d366);transform:translateY(-1px)}.landing-download-card-soon{opacity:.85;cursor:default}.landing-download-icon{text-align:center;width:2rem;font-size:1.6rem;line-height:1}.landing-download-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.landing-download-copy strong{font-size:var(--text-md)}.landing-download-copy span{color:var(--text-muted);font-size:var(--text-sm)}@media (width<=640px){.landing-downloads{grid-template-columns:1fr}}.landing-faq-item summary{cursor:pointer;color:var(--text-primary);font-weight:600;list-style:none}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item p{color:var(--text-secondary);font-size:var(--text-sm);margin:10px 0 0;line-height:1.55}.landing-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--text-sm);opacity:1;visibility:visible;display:flex}.landing-footer-links{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.landing-footer-links a{color:var(--text-secondary);text-decoration:none}.landing-footer-links a:hover{color:var(--text-primary)}.landing-footer-note{color:var(--text-faint)}.mobile-downloads-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mobile-downloads-hint{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.5}.mobile-downloads-hint code{word-break:break-all;font-size:12px}.mobile-downloads-card-compact .card-subtitle{font-size:12px}.legal-page-main{width:min(760px,100%);padding:var(--space-7) var(--space-6) var(--space-8);margin:0 auto}.legal-page-title{font-family:var(--font-display,Georgia, serif);margin:0 0 var(--space-2);color:var(--text-primary);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.2}.legal-page-updated{margin:0 0 var(--space-6);color:var(--text-muted);font-size:var(--text-sm)}.legal-page-body{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7}.legal-page-body h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-md);color:var(--text-primary);font-weight:700}.legal-page-body p{margin:0 0 var(--space-3)}.legal-page-body ul{margin:0 0 var(--space-4);padding-left:1.25rem}.legal-page-body li{margin-bottom:var(--space-2)}.legal-page-body a{color:var(--text-primary)}@keyframes landingRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.landing-anim-1{animation:.55s .35s both landingRise}.landing-anim-2{animation:.55s .55s both landingRise}.landing-anim-3{animation:.55s .75s both landingRise}.landing-anim-4{animation:.55s .95s both landingRise}.landing-anim-5{animation:.55s 1.1s both landingRise}.landing-anim-arrow{animation:.55s .85s both landingRise,2.4s ease-in-out 1.2s infinite landingPulse}@keyframes landingPulse{0%,to{transform:scale(1);box-shadow:0 0 #6366f100}50%{transform:scale(1.06);box-shadow:0 0 0 8px #6366f114}}@media (width<=960px){.landing-hero{min-height:auto;padding-top:var(--space-8);gap:var(--space-6)}.landing-hero-copy,.landing-headline{max-width:none}.landing-stats,.landing-audiences{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.landing-journey-track{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.landing-journey-step:not(:last-child):after{display:none}.landing-stage{grid-template-columns:1fr;max-width:420px;margin:0 auto}.landing-arrow{margin:0 auto;transform:rotate(90deg)}}@media (width<=768px){.landing-nav{padding:var(--space-3) var(--space-4)}.landing-nav-link{display:none}.landing-steps{grid-template-columns:1fr}.landing-stats{grid-template-columns:1fr 1fr}.landing-audiences{grid-template-columns:1fr}.landing-testimonials-grid{gap:var(--space-4);grid-template-columns:1fr}.landing-journey{padding:var(--space-6) var(--space-4)}.landing-journey-track{gap:var(--space-5);grid-template-columns:1fr}.landing-journey-media{max-width:320px;margin-left:auto;margin-right:auto}.landing-journey-step{text-align:center}.landing-footer{padding:var(--space-4);flex-direction:column;align-items:flex-start}.topbar-breadcrumb{display:none}.topbar-title{font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;max-width:42vw;overflow:hidden}.search-trigger{justify-content:center;width:40px;min-width:0;height:36px;padding:0}.search-trigger span,.search-shortcut{display:none}.topbar .btn-primary span,#new-project-btn{padding-left:10px;padding-right:10px}#new-project-btn{gap:0;font-size:0}#new-project-btn svg{margin:0}.notification-panel{top:var(--topbar-height);right:var(--space-3);left:var(--space-3);width:auto;max-width:none;position:fixed}.command-palette{margin:0 var(--space-3);max-width:none}.command-palette-overlay{align-items:flex-start;padding-top:10vh}.install-prompt{left:var(--space-3);right:var(--space-3);bottom:calc(72px + var(--space-3));max-width:none}.stat-card-value{font-size:var(--text-2xl)}}@media (width<=480px){.landing-hero{padding:var(--space-6) var(--space-4) var(--space-8)}.landing-wa-panel,.landing-app-panel{min-height:0}.landing-cta .btn-lg{width:100%}.dashboard-stats{grid-template-columns:1fr}.mobile-nav-item{padding:var(--space-1)}.mobile-nav-item span{font-size:9px}}@media (prefers-reduced-motion:reduce){.landing-hero-glow,.landing-hero-glow2,.landing-hero-copy,.landing-hero-visual,.landing-hero-in,.landing-hero-orb,.landing-float-slow,.landing-float-delayed,.landing-anim-1,.landing-anim-2,.landing-anim-3,.landing-anim-4,.landing-anim-5,.landing-anim-arrow{transition:none!important;animation:none!important;transform:none!important}[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}.project-detail-header{align-items:flex-start;gap:var(--space-4)}.project-back{color:var(--brand-hover);text-decoration:none}.project-wa-chip{border-radius:var(--radius-md);background:var(--wa-dim,#22c55e1f);color:var(--wa-green);align-items:center;gap:8px;max-width:100%;margin-top:10px;padding:6px 10px;font-size:12px;display:inline-flex}.project-wa-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-task-list{flex-direction:column;gap:8px;display:flex}.project-task-row{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;appearance:none;transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:12px;padding:14px 16px;display:flex}.project-task-row:hover{border-color:var(--brand);background:var(--bg-elevated)}.project-task-title{color:var(--text-primary);flex:1;min-width:0;font-weight:500}.project-task-hint{color:var(--text-faint);font-size:12px}.project-task-files{color:var(--text-muted);white-space:nowrap;font-size:12px}.project-task-assignee{background:var(--brand-dim);width:28px;height:28px;color:var(--brand-hover);border:1px solid var(--border-brand);border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:inline-grid}.project-task-filters{width:100%}@media (width<=640px){.project-task-filters{flex-direction:column;align-items:stretch}.project-task-filters .kanban-filter-select{width:100%;max-width:none}}.task-modal-files{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.task-file-list{flex-direction:column;gap:8px;display:flex}.task-file-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);align-items:center;gap:10px;padding:10px 12px;display:flex}.task-file-row-clickable{padding:4px 6px 4px 4px;transition:border-color .15s,background .15s}.task-file-row-clickable:hover{border-color:var(--accent,#25d366);background:var(--bg-hover,#00000008)}.task-file-open{text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:6px 8px;display:flex}.task-file-icon{font-size:18px;line-height:1}.task-file-meta{flex:1;min-width:0}.task-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.file-preview-overlay{z-index:1200;background:#0f172ab8;justify-content:center;align-items:center;padding:16px}.file-preview-modal{background:var(--bg-surface);border-radius:var(--radius-lg,12px);border:1px solid var(--border);flex-direction:column;width:min(920px,100%);max-height:min(90dvh,860px);display:flex;overflow:hidden;box-shadow:0 24px 64px #00000047}.file-preview-top{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:12px;padding:12px 14px;display:flex}.file-preview-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.file-preview-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.file-preview-body{background:radial-gradient(ellipse at top, #25d3660f, transparent 55%), var(--bg-surface);flex:1;justify-content:center;align-items:center;min-height:240px;padding:16px;display:flex;overflow:auto}.file-preview-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:min(72dvh,680px)}.file-preview-frame{background:#fff;border:0;border-radius:8px;width:100%;height:min(72dvh,680px)}.file-preview-video{border-radius:8px;max-width:100%;max-height:min(72dvh,680px)}.file-preview-audio{width:min(420px,100%)}.file-preview-fallback{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex}.task-modal-overlay{justify-content:flex-end;align-items:stretch;padding:0}.task-modal{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;width:min(920px,100%);height:100%;max-height:100dvh;animation:.22s taskSlideIn;display:flex;overflow:hidden}@keyframes taskSlideIn{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.task-modal-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.task-modal-key{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.task-modal-grid{flex:1;grid-template-columns:1fr 260px;gap:0;min-height:0;display:grid;overflow:hidden}.task-modal-main{border-right:1px solid var(--border);padding:20px 22px;overflow-y:auto}.task-modal-side{background:var(--bg-elevated);padding:18px 16px;overflow-y:auto}.task-modal-title-input{width:100%;color:var(--text-primary);background:0 0;border:none;padding:0;font-family:inherit;font-size:22px;font-weight:650;line-height:1.3}.task-modal-title-input:focus{outline:none}.task-modal-desc{resize:vertical;min-height:110px}.task-modal-activity{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.task-comment-list{max-height:220px;margin-bottom:14px;overflow-y:auto}.task-comment-item{padding-bottom:12px}.task-comment-composer{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);padding:12px;position:relative}.task-comment-input{resize:vertical;min-height:72px;margin-top:4px}.task-mention-menu{z-index:5;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated,var(--bg-surface));margin-top:4px;position:absolute;left:12px;right:12px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.task-mention-option{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 12px;display:block}.task-mention-option:hover{background:#6366f114}.task-mention-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.task-mention-chip{border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px}.task-mention-chip.is-active{color:var(--wa-green);background:#22c55e1f;border-color:#22c55e73}.task-comment-wa-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.task-comment-wa-toggle input{margin:0}.task-wa-box{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px;display:flex}.task-notify-toast{border-radius:var(--radius-md);color:var(--wa-green);background:#22c55e1f;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.task-modal-actions{gap:8px;margin-top:8px;display:flex}.task-modal-actions .btn{flex:1}.pricing-grid{gap:var(--space-5);margin-top:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pricing-card{padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:12px;display:flex;position:relative}.settings-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-plan-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.settings-plan-card-current{border-color:var(--brand,#25d366)}.settings-plan-card-featured{background:linear-gradient(180deg, color-mix(in srgb, var(--brand,#25d366) 12%, transparent), transparent 50%), var(--bg-elevated)}.settings-plan-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-plan-price{color:var(--text-primary);align-items:baseline;gap:4px;font-size:22px;font-weight:650;display:flex}.settings-plan-features{color:var(--text-secondary);flex:1;margin:0 0 8px;padding-left:18px;font-size:12px;line-height:1.45}@media (width<=900px){.settings-plan-grid{grid-template-columns:1fr}}.pricing-card-featured{border-color:var(--brand);background:linear-gradient(180deg, var(--brand-dim) 0%, var(--bg-surface) 42%);box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 35%, transparent)}.pricing-badge{color:var(--brand-hover);background:var(--brand-dim);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;font-weight:600;position:absolute;top:12px;right:12px}.pricing-name{color:var(--text-primary);margin:0;font-size:18px;font-weight:650}.pricing-desc{color:var(--text-muted);min-height:40px;margin:0;font-size:13px;line-height:1.45}.pricing-price{align-items:baseline;gap:4px;margin:4px 0;display:flex}.pricing-amount{color:var(--text-primary);letter-spacing:-.03em;font-size:36px;font-weight:700}.pricing-period{color:var(--text-muted);font-size:14px}.pricing-features{flex-direction:column;flex:1;gap:10px;margin:8px 0 16px;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:13px;display:flex}.pricing-features li svg{color:var(--success);flex-shrink:0;margin-top:2px}.btn-block{justify-content:center;width:100%}.saas-admin-grid{gap:var(--space-5);grid-template-columns:1fr 1.2fr;align-items:start;display:grid}@media (width<=960px){.task-modal-overlay{justify-content:center;align-items:flex-end}.task-modal{border-left:none;border-top:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;height:min(92dvh,100%);animation:.22s taskSheetUp}@keyframes taskSheetUp{0%{opacity:.7;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.task-modal-grid{grid-template-columns:1fr;overflow-y:auto}.task-modal-main{border-right:none;border-bottom:1px solid var(--border)}.pricing-grid,.saas-admin-grid,.project-overview-grid{grid-template-columns:1fr}.project-detail-header{flex-direction:column}}@media (width<=640px){.project-task-hint{display:none}.task-modal-title-input{font-size:18px}.project-tabs.tabs{top:calc(var(--topbar-height) - 2px);z-index:5;background:var(--bg-base);margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding-top:8px;padding-bottom:10px;padding-left:var(--space-4);padding-right:var(--space-4);position:sticky}}.deploy-guide{max-width:880px}.deploy-code{border:1px solid var(--border);background:var(--bg-elevated,var(--bg-secondary));border-radius:10px;margin-top:10px;overflow:hidden}.deploy-code-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.deploy-code-label{color:var(--text-muted);font-size:12px}.deploy-code-pre{white-space:pre-wrap;word-break:break-word;color:var(--text-primary);margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;overflow-x:auto}.deploy-table{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.deploy-table-row{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;align-items:start;gap:12px;padding:8px 0;font-size:13px;display:grid}.deploy-table-row>span:first-child{color:var(--text-muted);font-weight:500}.deploy-steps,.deploy-checklist{color:var(--text-secondary);margin:0;padding-left:1.25rem;font-size:14px;line-height:1.65}.deploy-steps li,.deploy-checklist li{margin-bottom:6px}.deploy-checklist code,.deploy-steps code,.deploy-table-row code{font-size:12px}@media (width<=640px){.deploy-table-row{grid-template-columns:1fr;gap:4px}}.finance-pos{color:var(--success,#22c55e)}.finance-neg{color:var(--warning,#f59e0b)}.finance-admin .group-info-row{flex-wrap:wrap;gap:16px;display:flex}
