.landing-page{min-height:100vh;background:radial-gradient(1200px 600px at 50% -200px,var(--accent-glow),transparent 60%),var(--bg-deep);color:var(--text-primary);display:flex;flex-direction:column}.landing-header{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--border);background:#1a2d38d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.landing-brand{display:flex;align-items:center;gap:12px}.landing-brand-mark{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-inverse);border-radius:var(--radius);font-size:14px;font-weight:700;letter-spacing:.02em}.landing-brand-name{font-size:17px;font-weight:700;letter-spacing:-.3px}.landing-nav-cta{background:none;border:1px solid var(--border);color:var(--text-primary);padding:8px 18px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-brand);transition:all .15s ease}.landing-nav-cta:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.landing-main{flex:1}.landing-hero{padding:96px 32px 72px;text-align:center}.landing-hero-inner{max-width:780px;margin:0 auto}.landing-eyebrow{display:inline-block;padding:6px 16px;border:1px solid var(--border-light);border-radius:999px;background:var(--accent-subtle);color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:24px}.landing-hero-title{font-size:46px;line-height:1.12;font-weight:700;letter-spacing:-1px;margin:0 auto 20px;max-width:720px;color:var(--text-primary)}.landing-hero-subtitle{font-size:16px;line-height:1.65;color:var(--text-secondary);max-width:620px;margin:0 auto 32px}.landing-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.landing-btn{padding:13px 30px;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font-brand);transition:all .15s ease;border:1px solid transparent}.landing-btn-primary{background:var(--accent);color:var(--text-inverse)}.landing-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.landing-btn-secondary{background:transparent;border-color:var(--border-light);color:var(--text-primary)}.landing-btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.landing-section{max-width:1100px;margin:0 auto;padding:64px 32px}.landing-section-title{font-size:30px;font-weight:700;letter-spacing:-.5px;text-align:center;margin-bottom:12px}.landing-section-lede{text-align:center;color:var(--text-secondary);font-size:15px;line-height:1.6;max-width:600px;margin:0 auto 40px}.landing-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.landing-value-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:border-color .2s,box-shadow .2s,transform .2s}.landing-value-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.landing-value-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--accent-subtle);color:var(--accent);margin-bottom:16px}.landing-value-title{font-size:16px;font-weight:700;letter-spacing:-.2px;margin-bottom:8px}.landing-value-body{font-size:13px;line-height:1.6;color:var(--text-secondary)}.landing-audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.landing-audience-card{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--accent-muted);border-radius:var(--radius);padding:22px 24px}.landing-audience-title{font-size:15px;font-weight:700;margin-bottom:8px}.landing-audience-body{font-size:13px;line-height:1.6;color:var(--text-secondary)}.landing-table-scroll{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border)}.landing-table{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}.landing-table th,.landing-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--border)}.landing-table thead th{background:var(--bg-primary);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:700}.landing-table tbody tr:last-child th,.landing-table tbody tr:last-child td{border-bottom:none}.landing-table tbody th{color:var(--text-primary);font-weight:600;background:var(--bg-secondary)}.landing-table-ris{color:var(--text-primary);font-weight:600}.landing-table-other{color:var(--text-muted)}.landing-table-check,.landing-table-cross{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;margin-right:8px;vertical-align:middle}.landing-table-check{background:var(--success-muted);color:var(--success)}.landing-table-cross{background:var(--danger-muted);color:var(--danger)}.landing-sdk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px}.landing-sdk-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;text-align:center}.landing-sdk-language{font-size:18px;font-weight:700;margin-bottom:4px}.landing-sdk-platform{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:8px}.landing-sdk-distribution{font-size:13px;color:var(--text-muted)}.landing-sdk-features{list-style:none;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.landing-sdk-feature{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}.landing-sdk-feature .landing-table-check{flex-shrink:0}.landing-final-cta{padding:80px 32px;text-align:center;background:radial-gradient(800px 400px at 50% 100%,var(--accent-glow),transparent 60%),var(--bg-primary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-final-title{font-size:36px;font-weight:700;letter-spacing:-.8px;margin-bottom:12px}.landing-final-subtitle{color:var(--text-secondary);font-size:15px;margin-bottom:32px}.landing-footer{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 32px 48px;text-align:center}.landing-footer-brand{display:flex;align-items:center;gap:10px}.landing-footer-brand .landing-brand-mark{width:30px;height:30px;font-size:11px}.landing-footer-tagline{color:var(--text-secondary);font-size:13px}.landing-footer-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.landing-footer-link{color:var(--text-muted);font-size:12px;text-decoration:none;font-weight:600;transition:color .15s}.landing-footer-link:hover{color:var(--accent)}.landing-footer-copy{color:var(--text-muted);font-size:12px;margin-top:8px}@media(max-width:640px){.landing-header{padding:14px 20px}.landing-hero{padding:64px 20px 48px}.landing-hero-title{font-size:32px}.landing-section{padding:48px 20px}.landing-section-title{font-size:24px}.landing-final-cta{padding:56px 20px}.landing-final-title{font-size:28px}.landing-hero-actions{flex-direction:column;align-items:stretch}.landing-btn{width:100%}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:#f3f4f6}.auth-card{background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px}.auth-back-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:#2563eb;font-size:.85rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:1rem}.auth-back-btn:hover{color:#1d4ed8}.auth-logo{font-size:1.5rem;font-weight:800;color:#1e3a5f;text-align:center;margin-bottom:.25rem}.auth-title{font-size:1.2rem;font-weight:600;color:#374151;text-align:center;margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:#374151}.auth-input{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .2s}.auth-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.auth-error{color:#dc2626;font-size:.85rem;margin:0}.auth-button{padding:.65rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:.25rem}.auth-button:hover:not(:disabled){background:#1d4ed8}.auth-button:disabled{background:#93c5fd;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.25rem;font-size:.85rem;color:#6b7280}.auth-link-btn{background:none;border:none;color:#2563eb;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.auth-link-btn:hover{color:#1d4ed8}.tenant-setup{max-width:960px;margin:0 auto;padding:24px 32px;color:#e0e0e0}.tenant-setup h1{font-size:1.5rem;font-weight:600;margin:0 0 4px;color:#f0f0f0}.tenant-setup .subtitle{color:#888;font-size:.875rem;margin:0 0 28px}.tenant-setup .tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid #2a2a2a;padding-bottom:0}.tenant-setup .tabs button{background:none;border:none;color:#777;padding:10px 18px;font-size:.875rem;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px}.tenant-setup .tabs button:hover{color:#bbb}.tenant-setup .tabs button.active{color:#4da6ff;border-bottom-color:#4da6ff}.tenant-setup .card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:20px;margin-bottom:16px}.tenant-setup .card h2{font-size:1.05rem;margin:0 0 4px;color:#e0e0e0;display:flex;align-items:center;gap:8px}.tenant-setup .card h3{font-size:.95rem;margin:0 0 10px;color:#ccc}.tenant-setup .stats-row{display:flex;gap:12px;margin-bottom:16px}.tenant-setup .stat-card{flex:1;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:16px;text-align:center}.tenant-setup .stat-card .stat-value{font-size:1.5rem;font-weight:700;color:#4da6ff}.tenant-setup .stat-card .stat-label{font-size:.75rem;color:#888;margin-top:2px}.tenant-setup .event-table{width:100%;border-collapse:collapse;margin-top:12px}.tenant-setup .event-table th{text-align:left;padding:10px 12px;font-size:.75rem;color:#777;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #2a2a2a}.tenant-setup .event-table td{padding:10px 12px;font-size:.875rem;border-bottom:1px solid #1f1f1f;vertical-align:middle}.tenant-setup .event-table td code{background:#111;color:#4da6ff;padding:2px 8px;border-radius:4px;font-size:.8rem}.tenant-setup .event-table .category-tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.tenant-setup .category-tag.engagement{background:#1a3a5c;color:#4da6ff}.tenant-setup .category-tag.revenue{background:#1a4a1a;color:#4caf50}.tenant-setup .category-tag.lifecycle{background:#4a3a1a;color:#ff9800}.tenant-setup .category-tag.custom{background:#3a1a4a;color:#ba68c8}.tenant-setup .badge-active{background:#1a4a1a;color:#4caf50;padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:600}.tenant-setup .badge-inactive{background:#3a1a1a;color:#f44336;padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:600}.tenant-setup .btn{padding:8px 16px;border-radius:8px;border:none;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.tenant-setup .btn:disabled{opacity:.4;cursor:default}.tenant-setup .btn-primary{background:#4da6ff;color:#000}.tenant-setup .btn-primary:hover:not(:disabled){background:#3b8ad9}.tenant-setup .btn-secondary{background:#2a2a2a;color:#ccc}.tenant-setup .btn-secondary:hover:not(:disabled){background:#333}.tenant-setup .btn-danger{background:transparent;color:#f44336;border:1px solid #f44336;padding:4px 10px;font-size:.7rem}.tenant-setup .btn-danger:hover:not(:disabled){background:#f4433611}.tenant-setup .btn-icon{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:6px}.tenant-setup .btn-icon:hover{color:#ccc;background:#222}.tenant-setup .form-group{margin-bottom:14px}.tenant-setup .form-group label{display:block;font-size:.75rem;color:#999;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.tenant-setup .form-group input,.tenant-setup .form-group select{width:100%;background:#111;border:1px solid #2a2a2a;border-radius:8px;padding:10px 12px;color:#e0e0e0;font-size:.875rem;box-sizing:border-box}.tenant-setup .form-group input:focus,.tenant-setup .form-group select:focus{outline:none;border-color:#4da6ff}.tenant-setup .form-row{display:flex;gap:12px}.tenant-setup .form-row .form-group{flex:1}.tenant-setup .inline-edit{display:flex;align-items:center;gap:8px}.tenant-setup .inline-edit input{background:#111;border:1px solid #2a2a2a;border-radius:6px;padding:6px 10px;color:#e0e0e0;font-size:.8rem;width:160px}.tenant-setup .inline-edit select{background:#111;border:1px solid #2a2a2a;border-radius:6px;padding:6px 10px;color:#e0e0e0;font-size:.8rem}.tenant-setup .discover-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1f1f1f}.tenant-setup .discover-row:last-child{border-bottom:none}.tenant-setup .discover-row code{background:#111;color:#4da6ff;padding:2px 8px;border-radius:4px;font-size:.8rem}.tenant-setup .discover-count{color:#888;font-size:.75rem;margin-left:8px}.tenant-setup .api-key-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tenant-setup .api-key-current{display:flex;flex-direction:column;gap:4px}.tenant-setup .api-key-label{font-size:.72rem;color:#888;text-transform:uppercase;letter-spacing:1px;font-weight:700}.tenant-setup .api-key-hint{background:#111;color:#4da6ff;padding:6px 12px;border-radius:6px;font-size:.85rem;font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:.5px}.tenant-setup .api-key-reveal{margin-top:16px;padding:14px;border:1px solid #4a3b1f;background:#1a150d;border-radius:8px}.tenant-setup .api-key-warning{color:#f0b429;font-size:.78rem;margin-bottom:10px;font-weight:600}.tenant-setup .api-key-copy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tenant-setup .api-key-plaintext{flex:1;min-width:220px;background:#0d0d0d;border:1px solid #2a2a2a;color:#7ee787;padding:8px 12px;border-radius:6px;font-size:.8rem;font-family:JetBrains Mono,Fira Code,monospace;word-break:break-all}.tenant-setup .install-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.tenant-setup .install-guide-card{background:#141414;border:1px solid #2a2a2a;border-radius:10px;padding:16px;display:flex;flex-direction:column}.tenant-setup .install-guide-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #2a2a2a}.tenant-setup .install-guide-platform{margin:0;font-size:1rem;font-weight:700;color:#f5f0ec}.tenant-setup .install-guide-lang{font-size:.7rem;color:#4da6ff;text-transform:uppercase;font-weight:700;letter-spacing:1px;white-space:nowrap}.tenant-setup .install-guide-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}.tenant-setup .install-guide-step-title{font-size:.85rem;font-weight:600;color:#ddd;margin-bottom:4px}.tenant-setup .install-guide-step-detail{font-size:.78rem;color:#888;margin:0 0 8px;line-height:1.45}.tenant-setup .install-guide-step .snippet-block{padding:10px 12px}.tenant-setup .install-guide-step .snippet-block pre{font-size:.72rem}.tenant-setup .snippet-block{background:#0d0d0d;border:1px solid #2a2a2a;border-radius:8px;padding:16px;overflow-x:auto}.tenant-setup .snippet-block pre{margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;line-height:1.5;color:#ccc;white-space:pre}.tenant-setup .snippet-lang{font-size:.7rem;color:#4da6ff;text-transform:uppercase;font-weight:700;letter-spacing:1px;margin-bottom:8px}.tenant-setup .loading-msg{color:#888;font-size:.875rem;padding:32px;text-align:center}.tenant-setup .error-msg{background:#3a1a1a;color:#f44336;padding:12px 16px;border-radius:8px;margin-bottom:12px;font-size:.8rem}.tenant-setup .success-msg{background:#1a2a1a;color:#4caf50;padding:12px 16px;border-radius:8px;margin-bottom:12px;font-size:.8rem}.tenant-setup .toggle-switch{position:relative;display:inline-block;width:40px;height:22px}.tenant-setup .toggle-switch input{opacity:0;width:0;height:0}.tenant-setup .toggle-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#333;border-radius:22px;transition:background .2s}.tenant-setup .toggle-switch input:checked+.slider{background:#4da6ff}.tenant-setup .toggle-switch .slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.tenant-setup .toggle-switch input:checked+.slider:before{transform:translate(18px)}.tenant-setup .empty-state{text-align:center;padding:32px;color:#666}.tenant-setup .empty-state p{margin:4px 0}.tenant-setup .back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#888;cursor:pointer;font-size:.8rem;margin-bottom:16px;padding:4px 0}.tenant-setup .back-btn:hover{color:#ccc}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}@font-face{font-family:AdamMedium;src:url(/fonts/Adam-Medium.ttf) format("truetype");font-weight:700;font-style:normal}:root{--bg-deep: #1A2D38;--bg-primary: #283E4D;--bg-secondary: #2D4252;--bg-card: #223746;--bg-elevated: #30485A;--bg-input: #1A2D38;--border: #3A5263;--border-light: #456073;--accent: #D8C6BC;--accent-hover: #C4B2A8;--accent-muted: #A08C80;--accent-subtle: rgba(216, 198, 188, .08);--accent-glow: rgba(216, 198, 188, .15);--success: #6A9F8B;--success-muted: rgba(106, 159, 139, .12);--warning: #C4956A;--warning-muted: rgba(196, 149, 106, .12);--danger: #C46A5A;--danger-muted: rgba(196, 106, 90, .12);--text-primary: #F5F0EC;--text-secondary: #B8A9A0;--text-muted: #7A8A94;--text-inverse: #283E4D;--ch-1: #D8C6BC;--ch-2: #C4B2A8;--ch-3: #B09E94;--ch-4: #9C8A80;--ch-5: #8B7A6E;--ch-6: #6A9F8B;--ch-7: #C4956A;--ch-8: #C46A5A;--ch-9: #7EA8B8;--ch-10:#A090B8;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-sm: 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.25);--shadow-lg: 0 8px 24px rgba(0,0,0,.35);--font-brand: "AdamMedium", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-brand);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em}.crm-layout{display:flex;height:100vh;overflow:hidden}.crm-sidebar{width:248px;min-width:248px;background:var(--bg-deep);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:22px 20px 20px;border-bottom:1px solid var(--border)}.brand-icon{width:36px;height:36px;background:var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-inverse);font-weight:700}.brand-name{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary)}.brand-sub{font-size:10px;color:var(--accent-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:1px}.sidebar-nav{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;background:none;border:none;color:var(--text-secondary);padding:10px 14px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;width:100%;text-align:left;font-family:var(--font-brand)}.nav-item:hover{background:var(--accent-subtle);color:var(--text-primary)}.nav-item.active{background:var(--accent);color:var(--text-inverse);font-weight:700}.nav-icon{font-size:17px;width:22px;text-align:center;flex-shrink:0}.sidebar-dashboards{overflow-y:auto;gap:0}.sidebar-section-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:700;padding:6px 14px 8px}.sidebar-db-error{font-size:11px;color:var(--danger);padding:4px 14px 8px;background:var(--danger-muted);margin:0 4px 6px;border-radius:var(--radius-sm);line-height:1.4}.sidebar-db-empty{font-size:11px;color:var(--text-muted);padding:8px 14px;font-style:italic}.sidebar-db-row{display:flex;align-items:center;position:relative;border-radius:var(--radius);transition:background .15s}.sidebar-db-row.active{background:var(--accent)}.sidebar-db-row.active .nav-icon{color:var(--text-inverse)}.sidebar-db-row.active .sidebar-db-name{color:var(--text-inverse);font-weight:700}.sidebar-db-btn{display:flex;align-items:center;gap:11px;background:none;border:none;color:var(--text-secondary);padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-brand);flex:1;overflow:hidden;text-align:left;border-radius:var(--radius);transition:all .15s}.sidebar-db-btn:hover{color:var(--text-primary)}.sidebar-db-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-db-actions{display:flex;gap:2px;padding-right:8px;opacity:0;transition:opacity .15s}.sidebar-db-row:hover .sidebar-db-actions,.sidebar-db-row.active .sidebar-db-actions{opacity:1}.sidebar-db-action{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.sidebar-db-action:hover{color:var(--accent);background:var(--accent-subtle)}.sidebar-db-row.active .sidebar-db-action{color:var(--text-inverse);opacity:.7}.sidebar-db-row.active .sidebar-db-action:hover{opacity:1;background:#ffffff26}.sidebar-db-action-danger:hover{color:var(--danger)!important;background:var(--danger-muted)!important}.sidebar-db-rename{display:flex;align-items:center;gap:4px;padding:5px 8px;flex:1}.sidebar-db-rename-input{flex:1;background:var(--bg-input);border:1px solid var(--accent);color:var(--text-primary);padding:5px 8px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-brand)}.sidebar-db-rename-input:focus{outline:none}.sidebar-db-confirm{display:flex;align-items:center;gap:6px;padding:5px 10px;flex:1}.sidebar-db-confirm-text{font-size:11px;color:var(--danger);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-db-add{display:flex;align-items:center;gap:8px;background:none;border:1px dashed var(--border);color:var(--text-muted);padding:9px 14px;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;width:100%;text-align:left;font-family:var(--font-brand);margin-top:6px;transition:all .15s}.sidebar-db-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.sidebar-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sidebar-user{display:flex;align-items:center;gap:10px}.user-avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--text-inverse);flex-shrink:0}.user-name{font-size:12px;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:10px;color:var(--accent-muted);text-transform:capitalize}.logout-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);transition:all .15s}.logout-btn:hover{color:var(--danger);background:var(--danger-muted)}.crm-main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.crm-header{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 32px 18px;border-bottom:1px solid var(--border);background:var(--bg-primary);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-title{font-size:22px;font-weight:700;letter-spacing:-.3px}.header-subtitle{font-size:12px;color:var(--text-muted);margin-top:3px;font-weight:400}.header-actions{display:flex;gap:8px}.btn-icon{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:17px;transition:all .15s;font-family:var(--font-brand)}.btn-icon:hover{background:var(--bg-elevated);color:var(--accent);border-color:var(--border-light)}.crm-content{padding:24px 32px;flex:1}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.kpi-grid.compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s,box-shadow .2s}.kpi-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.kpi-icon{width:42px;height:42px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;font-weight:700}.kpi-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.kpi-value{font-size:26px;font-weight:700;margin:2px 0;letter-spacing:-.5px}.kpi-delta{font-size:11px;color:var(--success);font-weight:600}.chart-row{display:grid;grid-template-columns:1fr 400px;gap:14px;margin-bottom:20px}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}.chart-card:hover{border-color:var(--border-light)}.chart-card h3{font-size:15px;font-weight:700;margin-bottom:14px;letter-spacing:-.2px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.chart-header h3{margin-bottom:0}.period-pills{display:flex;gap:4px}.pill{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:5px 13px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-brand)}.pill:hover{border-color:var(--accent-muted);color:var(--text-primary)}.pill.active{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.legend{display:flex;flex-direction:column;gap:8px;flex:1}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px}.legend-item strong{margin-left:auto;color:var(--text-primary);font-weight:600}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.top-events-list{display:flex;flex-direction:column;gap:8px}.top-event-row{display:flex;align-items:center;gap:10px}.top-event-label{min-width:155px;text-align:right;font-size:11px;color:var(--text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-event-bar-wrap{flex:1;height:22px;background:var(--bg-deep);border-radius:var(--radius-sm);overflow:hidden}.top-event-bar{height:100%;border-radius:var(--radius-sm);transition:width .5s ease;min-width:3px}.top-event-count{min-width:60px;font-size:11px;font-weight:600;color:var(--text-primary);text-align:right}.top-event-pct{min-width:44px;font-size:11px;color:var(--text-muted);text-align:right}.other-row{padding:8px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px dashed var(--border);text-align:center;font-size:11px;color:var(--text-muted);margin-top:6px}.funnel-page{display:flex;flex-direction:column;gap:20px}.conv-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.conv-badge.good{background:var(--success-muted);color:var(--success)}.conv-badge.warn{background:var(--warning-muted);color:var(--warning)}.conv-badge.bad{background:var(--danger-muted);color:var(--danger)}.drop-badge{color:var(--text-muted);font-size:11px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;padding:10px 14px;color:var(--text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border)}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border)}.data-table tr:hover td{background:var(--accent-subtle)}td.rank{width:40px;color:var(--text-muted);font-weight:600}td.page-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px}.ai-panel h3{margin-bottom:4px}.ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ai-header-actions{display:flex;align-items:center;gap:8px}.ai-provider{background:var(--accent);color:var(--text-inverse);padding:2px 10px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ai-generate-btn{background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-brand);transition:opacity .2s,transform .15s}.ai-generate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-generate-btn:disabled{opacity:.6;cursor:not-allowed}.ai-status{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;color:var(--text-muted)}.ai-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--bg-elevated)}.ai-status-dot.green{background:var(--success)}.ai-status-dot.pulsing{background:var(--warning);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.ai-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;font-size:12px;color:#ef4444}.ai-empty{text-align:center;padding:40px 20px}.ai-empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.ai-empty p{color:var(--text-secondary);max-width:400px;margin:0 auto;font-size:13px;line-height:1.6}.ai-empty .small{font-size:11px;margin-top:8px;color:var(--text-muted)}.ai-generating{text-align:center;padding:40px 20px}.ai-generating-spinner{width:36px;height:36px;margin:0 auto 14px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.ai-generating p{color:var(--text-secondary);font-size:13px}.ai-generating .small{font-size:11px;color:var(--text-muted);margin-top:6px}.ai-categories{display:flex;flex-direction:column;gap:18px}.ai-category-header{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius)}.ai-category-icon{font-size:16px;flex-shrink:0}.ai-category-name{font-size:13px;font-weight:700;flex:1;margin:0;color:var(--text-primary)}.ai-category-count{font-size:11px;color:var(--text-muted);background:var(--bg-input);padding:2px 8px;border-radius:8px}.ai-strategies{display:flex;flex-direction:column;gap:8px}.ai-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:14px;animation:fadeUp .4s ease both;animation-delay:var(--delay, 0s)}.ai-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ai-badge{background:var(--accent);color:var(--text-inverse);padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700}.ai-card h4{font-size:13px;font-weight:700}.ai-card p{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.ai-card time{font-size:10px;color:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.overview-grid{display:flex;flex-direction:column;gap:20px}.events-log-card h3{margin-bottom:14px}.event-filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.event-filters input,.event-filters button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:7px 12px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-brand)}.event-filters input:focus{outline:none;border-color:var(--accent)}.event-filters button{cursor:pointer;font-weight:600}.event-filters button:hover{background:var(--bg-elevated);border-color:var(--border-light)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:11px;color:var(--text-muted)}.pagination button{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-brand)}.pagination button:disabled{opacity:.4;cursor:default}.events-widget{min-height:200px}.events-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.filter-input{padding:7px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;color:var(--text-primary);min-width:0;flex:1 1 120px;font-family:var(--font-brand)}.filter-input:focus{outline:none;border-color:var(--accent)}.filter-btn{padding:7px 14px;border-radius:var(--radius-sm);font-size:11px;font-weight:700;cursor:pointer;border:1px solid transparent;white-space:nowrap;font-family:var(--font-brand);letter-spacing:.3px}.filter-apply{background:var(--accent);color:var(--text-inverse)}.filter-apply:hover{background:var(--accent-hover)}.filter-clear{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border)}.filter-clear:hover{color:var(--text-primary);border-color:var(--border-light)}.events-count{font-size:11px;color:var(--text-muted);margin-bottom:8px}.events-table-wrap{overflow-x:auto}.events-table{width:100%;border-collapse:collapse;font-size:12px}.events-table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border)}.events-table td{padding:9px 12px;border-bottom:1px solid var(--border)}.event-row:hover td{background:var(--accent-subtle)}.event-time{color:var(--text-muted);white-space:nowrap;font-size:11px}.event-type-badge{display:inline-block;padding:2px 8px;background:var(--accent-subtle);color:var(--accent);border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap;letter-spacing:.2px;border:1px solid var(--accent-glow)}.event-page{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.event-user{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.event-data{color:var(--text-muted);font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.event-data.clickable{cursor:pointer}.event-data.clickable:hover{color:var(--accent)}.event-data-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-data-chevron{font-size:9px;transition:transform .2s;color:var(--text-muted);flex-shrink:0}.event-data-chevron.open{transform:rotate(180deg)}.event-row.row-expanded td{background:var(--accent-subtle)}.event-data-row td{padding:0!important;border-bottom:2px solid var(--accent)!important}.event-data-cell{background:var(--bg-elevated)!important}.event-data-json{margin:0;padding:12px 16px;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;background:var(--bg-input);border-radius:0}.load-more-btn{display:block;margin:14px auto 0;padding:8px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-brand)}.load-more-btn:hover{background:var(--bg-elevated);color:var(--accent);border-color:var(--border-light)}.load-more-btn:disabled{opacity:.4;cursor:default}.skeleton{pointer-events:none}.skeleton-bar{background:var(--border);border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.muted{color:var(--text-muted)}.widget-status{color:var(--text-muted);font-size:13px}.widget-error{color:var(--danger)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:14px;color:var(--text-muted);background:var(--bg-primary)}.app-loading-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:14px;color:var(--text-muted)}.loading-spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.query-builder{display:flex;flex-direction:column;gap:12px;font-size:12px}.qb-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.qb-field{display:flex;flex-direction:column;gap:3px}.qb-field-sm{max-width:80px}.qb-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.qb-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-brand);cursor:pointer;min-width:120px}.qb-select:focus{outline:none;border-color:var(--accent)}.qb-select-sm{min-width:60px}.qb-select option{background:var(--bg-card);color:var(--text-primary)}.qb-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-brand);min-width:100px}.qb-input:focus{outline:none;border-color:var(--accent)}.qb-pills{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.qb-date-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:5px 8px;border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-brand)}.qb-date-input:focus{outline:none;border-color:var(--accent)}.qb-date-sep{color:var(--text-muted);font-size:12px;margin:0 2px}.qb-filters-wrap{align-items:flex-start}.qb-filters{display:flex;flex-direction:column;gap:6px;flex:1}.qb-filter-row{display:flex;gap:6px;align-items:center}.qb-filter-remove{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);line-height:1}.qb-filter-remove:hover{color:var(--danger);background:var(--danger-muted)}.qb-filter-add{background:none;border:1px dashed var(--border);color:var(--text-muted);padding:5px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;font-family:var(--font-brand);align-self:flex-start}.qb-filter-add:hover{border-color:var(--accent);color:var(--accent)}.qb-columns-wrap{align-items:flex-start}.qb-columns{display:flex;flex-wrap:wrap;gap:6px;flex:1}.qb-col-chip{display:inline-block;padding:5px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:20px;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}.qb-col-chip:hover{border-color:var(--border-light);color:var(--text-primary)}.qb-col-chip.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.qb-results{margin-top:4px}.qb-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.qb-results-count{font-size:11px;color:var(--text-muted);font-weight:600}.qb-error{color:var(--danger);font-size:12px;padding:6px 10px;background:var(--danger-muted);border-radius:var(--radius-sm);margin-bottom:8px}.auth-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-deep)}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;width:400px;box-shadow:var(--shadow-lg)}.auth-card h1.auth-logo{font-size:20px;margin-bottom:4px;font-weight:700}.auth-card h2.auth-title{font-size:13px;color:var(--text-muted);margin-bottom:24px;font-weight:400}.auth-form{display:flex;flex-direction:column}.auth-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.auth-input{width:100%;padding:11px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;margin-bottom:16px;font-family:var(--font-brand);transition:border-color .15s}.auth-input:focus{outline:none;border-color:var(--accent)}.auth-button{width:100%;padding:12px;background:var(--accent);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:700;cursor:pointer;margin-top:8px;font-family:var(--font-brand);transition:background .15s;letter-spacing:.3px}.auth-button:hover{background:var(--accent-hover)}.auth-button:disabled{opacity:.6}.auth-error{background:var(--danger-muted);color:var(--danger);padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;margin-bottom:16px;font-weight:500}.auth-footer{text-align:center;margin-top:16px;font-size:12px;color:var(--text-muted)}.auth-footer button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-brand)}.auth-footer button:hover{color:var(--accent-hover)}.finance-header{display:flex;align-items:center;gap:12px;margin-bottom:2px}.crm-content-grid{padding:0;overflow:visible}.dashboard-grid-wrapper{display:flex;flex-direction:column}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 32px;border-bottom:1px solid var(--border);background:var(--bg-secondary);position:sticky;top:63px;z-index:4}.toolbar-left{display:flex;gap:8px;align-items:center}.toolbar-btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:var(--text-inverse);border:none;padding:7px 15px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-brand);letter-spacing:.2px;transition:background .15s}.toolbar-btn:hover{background:var(--accent-hover)}.toolbar-btn-ghost{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.toolbar-btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.toolbar-right{display:flex;align-items:center}.toolbar-hint{font-size:11px;color:var(--text-muted)}.dashboard-grid-container{padding:16px 32px 32px;overflow-x:auto;flex:1}.dashboard-grid{min-height:400px;position:relative}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item.react-grid-placeholder{background:var(--accent);opacity:.12;border-radius:var(--radius-lg);border:2px dashed var(--accent);transition-duration:.1s;z-index:0}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;bottom:4px;right:4px;cursor:se-resize;z-index:2;background:none}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:2px;bottom:2px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);opacity:0;transition:opacity .15s}.react-grid-item:hover>.react-resizable-handle:after{opacity:1}.grid-item{border-radius:var(--radius-lg);overflow:hidden}.widget-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);height:100%;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s;overflow:hidden}.widget-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.widget-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:grab;border-bottom:1px solid var(--border);background:var(--bg-secondary);user-select:none;-webkit-user-select:none}.widget-card-header:active{cursor:grabbing}.widget-card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-primary)}.widget-card-icon{color:var(--accent);display:flex}.widget-card-actions{display:flex;gap:4px}.widget-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.widget-remove-btn:hover{color:var(--danger);background:var(--danger-muted)}.widget-card-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 16px}.widget-card-body>section>h3,.widget-card-body>section>.chart-header h3,.widget-card-body>section>.ai-header h3,.widget-card-body>.widget>h2{display:none}.widget-card-body .kpi-grid{margin-bottom:0}.widget-card-body .chart-card{background:none;border:none;border-radius:0;padding:0}.widget-card-body .chart-card:hover{border-color:transparent;box-shadow:none}.widget-card-body .chart-row{margin-bottom:0}.widget-skeleton{padding:8px 0}.widget-skeleton .skeleton-bar{min-height:100px;border-radius:var(--radius-sm)}.widget-catalog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:80px}.widget-catalog{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:520px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.catalog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.catalog-header-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--accent)}.catalog-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color .15s}.catalog-close:hover{color:var(--text-primary)}.catalog-search{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border)}.catalog-search-icon{color:var(--text-muted);flex-shrink:0}.catalog-search-input{flex:1;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-brand)}.catalog-search-input:focus{outline:none;border-color:var(--accent)}.catalog-search-input::placeholder{color:var(--text-muted)}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px 20px;overflow-y:auto;flex:1}.catalog-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:13px;padding:32px 0}.catalog-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-family:var(--font-brand)}.catalog-item:hover{border-color:var(--accent);background:var(--accent-subtle)}.catalog-item-icon{color:var(--accent);display:flex}.catalog-item-title{font-size:13px;font-weight:600;color:var(--text-primary)}.catalog-item-size{font-size:10px;color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media(max-width:1200px){.chart-row{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.crm-sidebar{width:64px;min-width:64px}.brand-name,.brand-sub,.nav-item span:not(.nav-icon),.user-name,.user-role{display:none}.sidebar-brand{justify-content:center;padding:16px}.nav-item{justify-content:center;padding:12px}.sidebar-footer{flex-direction:column;gap:8px}.kpi-grid{grid-template-columns:1fr}.crm-header,.crm-content{padding:16px}.dashboard-toolbar{flex-wrap:wrap;gap:8px}.toolbar-hint{display:none}.cmb-controls{grid-template-columns:1fr 1fr}.widget-catalog{width:95vw;max-width:400px}}.expression-input-wrap{border:1px solid var(--border);border-radius:8px;background:var(--bg-input);overflow:hidden;transition:border-color .2s}.expression-input-wrap.focused{border-color:var(--accent)}.expression-input-wrap.has-error{border-color:var(--danger)}.expression-input-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-deep);border-bottom:1px solid var(--border)}.expression-input-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.expression-examples-btn{font-size:11px;background:none;border:none;color:var(--accent-muted);cursor:pointer}.expression-examples-btn:hover{color:var(--accent)}.expression-examples{padding:8px;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border);background:var(--bg-deep)}.expression-example-item{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;font-family:monospace}.expression-example-item:hover{background:var(--accent-subtle);color:var(--accent)}.expression-textarea{width:100%;background:transparent;border:none;color:var(--text-primary);font-family:Fira Code,Cascadia Code,monospace;font-size:13px;padding:10px;resize:vertical;outline:none;line-height:1.6}.expression-textarea::placeholder{color:var(--text-muted)}.expression-variables{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--border);flex-wrap:wrap}.expression-vars-label{font-size:11px;color:var(--text-muted)}.expression-var-chip{font-size:11px;padding:2px 8px;border-radius:12px;background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent);cursor:pointer;font-family:monospace}.expression-var-chip:hover{background:var(--accent-glow)}.expression-error{padding:6px 10px;font-size:12px;color:var(--danger);background:var(--danger-muted);border-top:1px solid var(--border)}.expression-ok{padding:6px 10px;font-size:12px;color:var(--success);background:var(--success-muted);border-top:1px solid var(--border)}.custom-metric-builder{display:flex;flex-direction:column;gap:16px}.cmb-form{display:flex;flex-direction:column;gap:14px}.metric-var-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-input)}.metric-var-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--bg-deep);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.metric-var-add-btn{font-size:12px;padding:2px 10px;border-radius:4px;background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent);cursor:pointer}.metric-var-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap}.metric-var-row:last-child{border-bottom:none}.metric-var-name{font-family:monospace;font-size:13px;color:var(--accent);min-width:60px}.metric-var-select{font-size:12px;padding:4px 8px;border-radius:4px;background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border)}.metric-var-field{font-size:12px;padding:4px 8px;border-radius:4px;width:120px;background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border)}.metric-var-remove{background:none;border:none;color:var(--danger);cursor:pointer;font-size:18px;padding:0 4px;line-height:1}.cmb-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.cmb-control-group{display:flex;flex-direction:column;gap:4px}.cmb-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.cmb-select{font-size:12px;padding:6px 10px;border-radius:6px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.cmb-quick-ranges{display:flex;gap:4px}.cmb-range-btn{font-size:12px;padding:4px 10px;border-radius:4px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer}.cmb-range-btn.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.cmb-run-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;background:var(--accent);color:var(--text-inverse);border:none;cursor:pointer;align-self:flex-start}.cmb-run-btn:hover{background:var(--accent-hover)}.cmb-run-btn:disabled{opacity:.5;cursor:not-allowed}.cmb-error{padding:10px;border-radius:6px;background:var(--danger-muted);color:var(--danger);font-size:13px}.cmb-result{margin-top:8px}.cmb-single-value{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;border-radius:8px;background:var(--accent-subtle);border:1px solid var(--accent)}.cmb-single-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cmb-single-number{font-size:32px;font-weight:700;color:var(--accent);font-family:AdamMedium,sans-serif}.catalog-categories{display:flex;gap:4px;padding:8px 12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.catalog-cat-btn{font-size:11px;padding:3px 10px;border-radius:12px;background:var(--bg-deep);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .15s}.catalog-cat-btn:hover{color:var(--text-secondary)}.catalog-cat-btn.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}@media(max-width:480px){.crm-layout{flex-direction:column}.crm-sidebar{width:100%;min-width:100%;flex-direction:row;padding:8px}.crm-content,.sidebar-brand{padding:8px}.sidebar-separator{display:none}.toolbar-left{flex-wrap:wrap;gap:4px}.toolbar-btn{font-size:11px;padding:4px 8px}.cmb-controls{grid-template-columns:1fr}}
