:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0b1220;--surface:#111a2b;--surface-raised:#172236;--surface-hover:#1a2740;--surface-sunken:#0d1526;--surface-overlay:#050912b8;--border:#94a3b81a;--border-strong:#94a3b833;--border-focus:#3b82f68c;--text-primary:#e6ebf3;--text-secondary:#a6b0c3;--text-muted:#7c879c;--text-inverse:#0b1220;--text-link:#7cb0ff;--primary:#3b82f6;--primary-hover:#2f70e6;--primary-active:#2563eb;--primary-soft:#3b82f624;--primary-soft-strong:#3b82f63d;--primary-text:#8ab8ff;--success:#10b981;--success-soft:#10b98124;--success-text:#5ddbb0;--warning:#f59e0b;--warning-soft:#f59e0b24;--warning-text:#f6bf58;--danger:#e5484d;--danger-hover:#d3383d;--danger-soft:#e5484d24;--danger-text:#f08a8d;--info:#38bdf8;--info-soft:#38bdf824;--info-text:#7dd3fc;--ai-accent:#8b5cf6;--ai-accent-soft:#8b5cf624;--ai-accent-text:#b69cff;--ai-gradient:linear-gradient(135deg, #6366f138, #8b5cf61f);--neutral-soft:#94a3b81f;--neutral-text:#aab4c6;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:24px;--fs-3xl:28px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-normal:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-xs:5px;--radius-sm:7px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-full:999px;--control-h-sm:30px;--control-h:36px;--control-h-lg:40px;--control-px:12px;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 6px 20px -8px #00000073;--shadow-lg:0 20px 50px -20px #0009;--ring-focus:0 0 0 3px #3b82f647;--sidebar-w:232px;--header-h:52px;--content-max:1600px;--content-px:24px;--ease:cubic-bezier(.2, 0, 0, 1);--dur-fast:.12s;--dur:.18s;--chart-1:#3b82f6;--chart-2:#10b981;--chart-3:#f59e0b;--chart-4:#8b5cf6;--chart-5:#38bdf8;--chart-6:#e5484d;--chart-grid:#94a3b814}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--background);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02", "cv03", "cv04", "cv11", "tnum";margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text-primary);margin:0}h1{font-size:var(--fs-3xl);letter-spacing:-.02em}h2{font-size:var(--fs-2xl);letter-spacing:-.015em}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin:0}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}small{font-size:var(--fs-xs)}code,pre,.mono{font-family:var(--font-mono);font-size:12.5px}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}hr{border:0;border-top:1px solid var(--border);margin:var(--space-4) 0}::selection{background:var(--primary-soft-strong)}:focus{outline:none}:focus-visible{box-shadow:var(--ring-focus);border-radius:var(--radius-sm);outline:none}*{scrollbar-width:thin;scrollbar-color:#94a3b838 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#94a3b838}::-webkit-scrollbar-thumb:hover{background:#94a3b859}::-webkit-scrollbar-track{background:0 0}.lf-icon{stroke-width:1.75px;flex:none;width:16px;height:16px}.lf-icon-sm{width:14px;height:14px}.lf-icon-lg{width:20px;height:20px}.app-container{width:100%;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface-sunken);border-right:1px solid var(--border);z-index:30;flex-direction:column;flex:none;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{height:var(--header-h);padding:0 var(--space-4);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex}.sidebar-brand-mark{background:var(--primary);color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.sidebar-brand-mark .lf-icon{stroke-width:2.25px;width:15px;height:15px}.sidebar-brand-name{font-weight:var(--fw-semibold);letter-spacing:-.01em;font-size:15px}.sidebar-brand-tag{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ai-accent-text);background:var(--ai-accent-soft);border-radius:var(--radius-xs);margin-left:auto;padding:2px 6px}.sidebar-nav{padding:var(--space-3) var(--space-3);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-label{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:0 var(--space-2) 6px}.nav-link{height:34px;padding:0 var(--space-2) 0 10px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:10px;text-decoration:none;display:flex;position:relative}.nav-link:hover{background:var(--surface-hover);color:var(--text-primary);text-decoration:none}.nav-link.active{background:var(--primary-soft);color:var(--text-primary)}.nav-link.active:before{content:"";background:var(--primary);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.nav-link .lf-icon{color:var(--text-muted)}.nav-link:hover .lf-icon,.nav-link.active .lf-icon{color:var(--primary-text)}.nav-link .nav-ext{color:var(--text-muted);width:13px;height:13px;margin-left:auto}.nav-badge{border-radius:var(--radius-full);background:var(--primary-soft-strong);min-width:18px;height:18px;color:var(--primary-text);font-size:11px;font-weight:var(--fw-semibold);place-items:center;margin-left:auto;padding:0 6px;display:inline-grid}.sidebar-footer{border-top:1px solid var(--border);padding:var(--space-2) var(--space-3);position:relative}.profile-btn{border-radius:var(--radius-sm);text-align:left;width:100%;transition:background var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:6px 8px;display:flex}.profile-btn:hover{background:var(--surface-hover)}.profile-avatar{border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border-strong);width:28px;height:28px;font-size:11px;font-weight:var(--fw-semibold);color:var(--text-secondary);flex:none;place-items:center;display:grid}.profile-info{flex:1;min-width:0}.profile-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-role{color:var(--text-muted);font-size:11px}.profile-btn .lf-icon{color:var(--text-muted)}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{height:var(--header-h);z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--content-px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0b1220d9;flex:none;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.sidebar-toggle{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;display:none}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.breadcrumb-nav{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:6px;min-width:0;display:flex}.breadcrumb-item{color:var(--text-muted)}.breadcrumb-separator{color:var(--text-muted);opacity:.6}.breadcrumb-active{color:var(--text-primary);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.header-actions{align-items:center;gap:var(--space-2);display:flex}.system-status{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;height:28px;padding:0 8px;display:inline-flex}.status-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px var(--success-soft);border-radius:50%}.status-dot.is-off{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.header-btn,.bell-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex;position:relative}.header-btn:hover,.bell-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.bell-badge{border-radius:var(--radius-full);background:var(--danger);color:#fff;min-width:15px;height:15px;font-size:10px;font-weight:var(--fw-semibold);place-items:center;padding:0 4px;line-height:1;display:grid;position:absolute;top:4px;right:4px}.content-container{padding:var(--space-6) var(--content-px) var(--space-10);width:100%;max-width:var(--content-max);flex:1;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.page-header-main{min-width:0}.page-title{font-size:26px;font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:1.2}.page-desc{color:var(--text-secondary);font-size:var(--fs-md);margin-top:4px}.page-meta{gap:var(--space-3);margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.page-meta strong{color:var(--text-primary);font-weight:var(--fw-semibold)}.page-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.page-eyebrow{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;display:inline-flex}.section{margin-bottom:var(--space-8)}.section-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.section-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);align-items:center;gap:8px;display:flex}.section-title .lf-icon{color:var(--text-muted)}.section-desc{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.section-actions{align-items:center;gap:var(--space-2);display:flex}.section-divider{border-top:1px solid var(--border);margin:var(--space-6) 0}.card,.glass-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.card-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);align-items:center;gap:8px;display:flex}.card-title .lf-icon{color:var(--text-muted)}.card-body{padding:var(--space-4)}.card-body-flush{padding:0}.card-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-compact .card-body{padding:var(--space-3) var(--space-4)}.card-hover{transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.card-hover:hover{border-color:var(--border-strong);background:var(--surface-hover)}.card-ai{background:linear-gradient(180deg, #8b5cf60f, transparent 60%), var(--surface);border-color:#8b5cf640}.metric-row{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.metric{background:var(--surface);flex-direction:column;justify-content:center;gap:4px;min-height:72px;padding:12px 16px;display:flex}.metric-label{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.metric-label .lf-icon{width:13px;height:13px;color:var(--text-muted)}.metric-value{font-size:24px;font-weight:var(--fw-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.metric-value.is-sm{font-size:20px}.metric-hint{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.metric-trend{font-size:var(--fs-xs);font-weight:var(--fw-medium);align-items:center;gap:2px;display:inline-flex}.metric-trend .lf-icon{width:12px;height:12px}.metric-trend.up{color:var(--success-text)}.metric-trend.down{color:var(--danger-text)}.metric-trend.flat{color:var(--text-muted)}.metric.tone-success .metric-value{color:var(--success-text)}.metric.tone-warning .metric-value{color:var(--warning-text)}.metric.tone-primary .metric-value{color:var(--primary-text)}.metric.tone-ai .metric-value{color:var(--ai-accent-text)}.stats-grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px}.stat-card-title,.stat-label{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-medium)}.stat-card-val,.stat-num{font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.02em}.stat-card-desc{font-size:var(--fs-xs);color:var(--text-muted)}.stat-card-icon{display:none}.btn{height:var(--control-h);padding:0 var(--control-px);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;color:var(--text-primary);background:var(--surface-raised);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:translateY(.5px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn .lf-icon{width:15px;height:15px}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active{background:var(--primary-active)}.btn-secondary{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-hover);border-color:#94a3b852}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-danger{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.btn-danger:hover,.btn-danger-solid{background:var(--danger);color:#fff}.btn-danger-solid:hover{background:var(--danger-hover)}.btn-success{background:var(--success-soft);color:var(--success-text)}.btn-success:hover{background:var(--success);color:#fff}.btn-ai{background:var(--ai-accent-soft);color:var(--ai-accent-text);border-color:#8b5cf640}.btn-ai:hover{color:#d6c8ff;background:#8b5cf63d}.btn-link{color:var(--text-link);background:0 0;height:auto;padding:0}.btn-link:hover{text-decoration:underline}.btn-text{color:var(--text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:0 0}.btn-text:hover{color:var(--text-primary)}.btn-sm{height:var(--control-h-sm);font-size:var(--fs-xs);gap:5px;padding:0 10px}.btn-sm .lf-icon{width:13px;height:13px}.btn-lg{height:var(--control-h-lg);font-size:var(--fs-md);padding:0 16px}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn-block{width:100%}.btn-group{gap:var(--space-2);align-items:center;display:inline-flex}.btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn.is-loading:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute}.btn-secondary.is-loading:after,.btn-ghost.is-loading:after{border-color:#94a3b859;border-top-color:var(--text-primary)}.spinner{border:2px solid #94a3b840;border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.spinner-sm{border-width:2px;width:12px;height:12px}.spinner-lg{border-width:3px;width:28px;height:28px}.form-group{flex-direction:column;gap:6px;min-width:0;display:flex}.form-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);align-items:center;gap:4px;display:flex}.form-label .req{color:var(--danger-text)}.form-hint{font-size:var(--fs-xs);color:var(--text-muted)}.form-error{font-size:var(--fs-xs);color:var(--danger-text)}.form-input,.form-select,.form-textarea,.filter-input,.form-control{width:100%;height:var(--control-h);padding:0 var(--control-px);background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease)}.form-input::placeholder,.form-textarea::placeholder,.filter-input::placeholder{color:var(--text-muted)}.form-input:hover,.form-select:hover,.form-textarea:hover,.filter-input:hover{border-color:#94a3b852}.form-input:focus,.form-select:focus,.form-textarea:focus,.filter-input:focus,.form-control:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus);background:var(--surface)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.55;cursor:not-allowed}.form-input.is-invalid,.form-select.is-invalid{border-color:var(--danger)}.form-input-sm,.form-select-sm{height:var(--control-h-sm);font-size:var(--fs-xs);padding:0 10px}.form-textarea{height:auto;min-height:96px;padding:10px var(--control-px);resize:vertical;line-height:1.5}.form-textarea.mono{font-family:var(--font-mono);font-size:12.5px}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c879c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.form-select option{background:var(--surface-raised);color:var(--text-primary)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.form-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.form-section{padding:var(--space-4) 0;border-top:1px solid var(--border)}.form-section:first-child{border-top:0;padding-top:0}.form-section-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-3)}.input-icon{position:relative}.input-icon>.lf-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-icon>.form-input,.input-icon>.filter-input{padding-left:32px}.input-wrapper{position:relative}.checkbox,.checkbox-group{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.checkbox input[type=checkbox],.checkbox-group input[type=checkbox],.table input[type=checkbox],input.cb{appearance:none;border:1px solid var(--border-strong);background:var(--surface-sunken);cursor:pointer;width:16px;height:16px;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:4px;flex:none;place-items:center;margin:0;display:inline-grid}.checkbox input[type=checkbox]:checked,.checkbox-group input[type=checkbox]:checked,.table input[type=checkbox]:checked,input.cb:checked{background:var(--primary);border-color:var(--primary)}.checkbox input[type=checkbox]:checked:after,.checkbox-group input[type=checkbox]:checked:after,.table input[type=checkbox]:checked:after,input.cb:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;transform:translateY(-1px)rotate(-45deg)}.checkbox input[type=checkbox]:indeterminate,input.cb:indeterminate{background:var(--primary);border-color:var(--primary)}.checkbox input[type=checkbox]:indeterminate:after,input.cb:indeterminate:after{content:"";background:#fff;width:8px;height:2px}.checkbox:hover{color:var(--text-primary)}.switch{flex:none;width:34px;height:20px;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{border-radius:var(--radius-full);transition:background var(--dur-fast) var(--ease);background:#94a3b840;position:absolute;inset:0}.switch .track:after{content:"";width:16px;height:16px;transition:transform var(--dur-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{transform:translate(14px)}.badge,.status-badge{border-radius:var(--radius-xs);height:22px;font-size:11.5px;font-weight:var(--fw-medium);white-space:nowrap;background:var(--neutral-soft);color:var(--neutral-text);border:1px solid #0000;align-items:center;gap:5px;padding:0 8px;line-height:1;display:inline-flex}.badge .lf-icon{width:12px;height:12px}.badge-dot:before{content:"";opacity:.9;background:currentColor;border-radius:50%;width:6px;height:6px}.badge-success,.badge-completed,.badge-status-2,.badge-status-3{background:var(--success-soft);color:var(--success-text)}.badge-info,.badge-processing,.badge-running,.badge-status-1{background:var(--info-soft);color:var(--info-text)}.badge-primary{background:var(--primary-soft);color:var(--primary-text)}.badge-warning,.badge-pending{background:var(--warning-soft);color:var(--warning-text)}.badge-danger,.badge-failed,.badge-status-4{background:var(--danger-soft);color:var(--danger-text)}.badge-neutral,.badge-queued,.badge-status-0{background:var(--neutral-soft);color:var(--neutral-text)}.badge-ai,.badge-violet{background:var(--ai-accent-soft);color:var(--ai-accent-text)}.badge-outline{border-color:var(--border-strong);color:var(--text-secondary);background:0 0}.badge-lg{height:26px;font-size:var(--fs-xs);padding:0 10px}.chip{border-radius:var(--radius-xs);background:var(--primary-soft);height:26px;color:var(--primary-text);font-size:var(--fs-xs);font-weight:var(--fw-medium);align-items:center;gap:6px;padding:0 8px 0 10px;display:inline-flex}.chip-remove{width:16px;height:16px;color:inherit;opacity:.8;border-radius:4px;place-items:center;display:inline-grid}.chip-remove:hover{opacity:1;background:#ffffff1f}.chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--text-secondary);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px}.table-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;overflow-x:auto}.card>.table-wrapper,.card-body-flush>.table-wrapper{border:0;border-radius:0}.table,.premium-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.table th,.premium-table th{z-index:1;text-align:left;font-size:11.5px;font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;position:sticky;top:0}.table td,.premium-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-primary);padding:9px 12px}.table tbody tr:last-child td,.premium-table tbody tr:last-child td{border-bottom:0}.table tbody tr,.table-row{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover,.premium-table tbody tr:hover{background:var(--surface-hover)}.table tbody tr.is-selected{background:var(--primary-soft)}.table tbody tr.is-clickable{cursor:pointer}.table .col-check{width:32px;padding-right:0}.table .col-actions{white-space:nowrap;text-align:right;width:1%}.table .col-num{text-align:right;font-variant-numeric:tabular-nums}.table .text-right{text-align:right}.table-dense td,.table-dense th{padding:7px 12px}.table-empty td{padding:var(--space-8) var(--space-4)}.cell-primary{font-weight:var(--fw-medium);color:var(--text-primary)}.cell-secondary{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}.cell-stack{flex-direction:column;gap:1px;min-width:0;display:flex}.cell-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.btn-demo-switch{color:var(--text-secondary);gap:2px;padding:0 6px}.btn-demo-switch .lf-icon{width:13px;height:13px}.table .form-select-sm{min-width:0}.cell-muted{color:var(--text-muted)}.cell-link{color:var(--text-primary)}button.cell-link{text-align:left}.cell-stack>button{align-self:flex-start}.cell-link:hover{color:var(--text-link);text-decoration:none}.business-cell{align-items:center;gap:10px;min-width:0;display:flex}.business-avatar{border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);flex:none;place-items:center;display:grid;overflow:hidden}.business-avatar img{object-fit:cover;width:100%;height:100%}.business-name{font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.business-category{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.rating{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.rating .lf-icon{width:13px;height:13px;color:var(--warning);fill:var(--warning)}.rating-count{color:var(--text-muted);font-size:var(--fs-xs)}.bulk-bar{z-index:40;align-items:center;gap:var(--space-3);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise var(--dur) var(--ease);padding:8px 8px 8px 14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.bulk-bar-count{font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap}.bulk-bar-actions{align-items:center;gap:6px;display:flex}.bulk-bar .form-select{width:auto;min-width:180px;height:var(--control-h-sm);font-size:var(--fs-xs)}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar .form-select,.toolbar .form-input{width:auto;min-width:140px;height:var(--control-h)}.toolbar .input-icon .form-input{min-width:240px}.toolbar-divider{background:var(--border-strong);width:1px;height:22px}.filter-tabs,.tabs{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.filter-tab,.tab{height:28px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.filter-tab:hover,.tab:hover{color:var(--text-primary)}.filter-tab.active,.tab.active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tab-count{color:var(--text-muted);background:var(--neutral-soft);border-radius:var(--radius-full);padding:1px 6px;font-size:11px}.tab.active .tab-count{color:var(--text-secondary)}.popover{z-index:50;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:280px;box-shadow:var(--shadow-lg);padding:var(--space-4);display:none;position:absolute;top:calc(100% + 6px);right:0}.popover.open{animation:pop var(--dur-fast) var(--ease);display:block}.popover-anchor{position:relative}.pagination,.pagination-controls{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.pagination-info{font-size:var(--fs-xs);color:var(--text-muted)}.pagination-buttons{align-items:center;gap:4px;display:inline-flex}.page-btn,.num-btn,.prev-btn,.next-btn{border-radius:var(--radius-sm);min-width:30px;height:30px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);border:1px solid #0000;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.page-btn:hover,.num-btn:hover,.prev-btn:hover,.next-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.page-btn.active,.num-btn.active{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text-primary)}.page-btn:disabled,.prev-btn:disabled,.next-btn:disabled{opacity:.4;cursor:not-allowed;background:0 0}.pagination-ellipsis{color:var(--text-muted);font-size:var(--fs-xs);padding:0 4px}.menu{display:inline-block;position:relative}.menu-list{z-index:60;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:190px;box-shadow:var(--shadow-lg);padding:4px;display:none;position:absolute;top:calc(100% + 4px);right:0}.menu.open>.menu-list,.menu-list.open{animation:pop var(--dur-fast) var(--ease);display:block}.menu-list.align-left{left:0;right:auto}.menu-list.drop-up{top:auto;bottom:calc(100% + 4px)}.menu-item{width:100%;font-size:var(--fs-sm);color:var(--text-primary);text-align:left;white-space:nowrap;border-radius:5px;align-items:center;gap:9px;padding:7px 10px;text-decoration:none;display:flex}.menu-item:hover{background:var(--surface-hover);text-decoration:none}.menu-item .lf-icon{color:var(--text-muted);width:15px;height:15px}.menu-item.is-danger,.menu-item.is-danger .lf-icon{color:var(--danger-text)}.menu-item.is-ai,.menu-item.is-ai .lf-icon{color:var(--ai-accent-text)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-sep{background:var(--border);height:1px;margin:4px 2px}.menu-label{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px 2px}.notification-bell-container{position:relative}.notification-dropdown{z-index:60;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:360px;max-height:480px;box-shadow:var(--shadow-lg);animation:pop var(--dur-fast) var(--ease);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dropdown-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.dropdown-header h3{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.dropdown-list{overflow-y:auto}.notification-item{border-bottom:1px solid var(--border);cursor:pointer;gap:10px;padding:10px 14px;display:flex}.notification-item:hover{background:var(--surface-hover)}.notification-item.unread{background:var(--primary-soft)}.notification-item:last-child{border-bottom:0}.notification-item-icon{border-radius:var(--radius-sm);background:var(--neutral-soft);width:28px;height:28px;color:var(--text-secondary);flex:none;place-items:center;display:grid}.notification-item-body{flex:1;min-width:0}.notification-item-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.notification-item-text{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:2px}.notification-item-time{color:var(--text-muted);margin-top:4px;font-size:11px}.notification-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.modal{z-index:100;padding:var(--space-6);background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal.open,.modal[style*="display: flex"],.modal[style*=display\:flex]{display:flex}.modal-content{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);animation:pop var(--dur) var(--ease);flex-direction:column;display:flex}.modal-lg .modal-content,.modal-content.modal-lg{max-width:880px}.modal-xl .modal-content,.modal-content.modal-xl{max-width:1280px;height:calc(100vh - 48px)}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);flex:none;padding:14px 18px;display:flex}.modal-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);align-items:center;gap:8px;display:flex}.modal-body{flex:1;min-height:0;padding:18px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:var(--space-2);flex:none;padding:12px 18px;display:flex}.close-modal{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);place-items:center;display:inline-grid}.close-modal:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-overlay{z-index:100;background:var(--surface-overlay);padding:var(--space-6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.drawer-overlay{z-index:90;background:var(--surface-overlay);display:none;position:fixed;inset:0}.drawer-overlay.open{display:block}.drawer{z-index:95;background:var(--surface-raised);border-left:1px solid var(--border-strong);width:min(520px,100%);box-shadow:var(--shadow-lg);transition:transform var(--dur) var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.drawer-body{flex:1;padding:18px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:var(--space-2);padding:12px 18px;display:flex}.collapsible>summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;list-style:none;display:flex}.collapsible>summary::-webkit-details-marker{display:none}.collapsible>summary:hover{background:var(--surface-hover);color:var(--text-primary)}.collapsible>summary .chev{transition:transform var(--dur-fast) var(--ease);color:var(--text-muted);margin-left:auto}.collapsible[open]>summary .chev{transform:rotate(180deg)}.collapsible-body{padding:4px 14px 14px}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.empty-state-icon{border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);width:40px;height:40px;color:var(--text-muted);place-items:center;margin-bottom:6px;display:grid}.empty-state-icon .lf-icon{width:18px;height:18px}.empty-state-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.empty-state-desc{font-size:var(--fs-sm);color:var(--text-secondary);max-width:380px}.empty-state-action{margin-top:var(--space-3)}.empty-state.is-compact{padding:var(--space-6) var(--space-4)}.error-state .empty-state-icon{color:var(--danger-text);background:var(--danger-soft);border-color:#e5484d4d}.skeleton,.skeleton-line,.skeleton-block,.skeleton-loading{border-radius:var(--radius-xs);background:#94a3b81a;position:relative;overflow:hidden}.skeleton:after,.skeleton-line:after,.skeleton-block:after,.skeleton-loading:after{content:"";background:linear-gradient(90deg,#0000,#94a3b81f,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{height:12px;margin:6px 0}.skeleton-line.w-25{width:25%}.skeleton-line.w-50{width:50%}.skeleton-line.w-75{width:75%}.skeleton-block{border-radius:var(--radius-md);height:72px}.skeleton-row td{padding:12px 14px}.loading-inline{color:var(--text-secondary);font-size:var(--fs-sm);align-items:center;gap:8px;display:inline-flex}.loading-block{padding:var(--space-10);color:var(--text-secondary);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:10px;display:flex}#toast-root{z-index:200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:260px;max-width:420px;box-shadow:var(--shadow-lg);font-size:var(--fs-sm);color:var(--text-primary);animation:rise var(--dur) var(--ease);align-items:center;gap:10px;padding:10px 12px;display:flex}.toast .lf-icon{flex:none}.toast-success .lf-icon{color:var(--success-text)}.toast-error .lf-icon{color:var(--danger-text)}.toast-info .lf-icon{color:var(--info-text)}.toast-warning .lf-icon{color:var(--warning-text)}.toast-loading .spinner{flex:none}.toast-close{color:var(--text-muted);border-radius:4px;place-items:center;width:22px;height:22px;margin-left:auto;display:inline-grid}.toast-close:hover{background:var(--surface-hover);color:var(--text-primary)}.toast.is-leaving{opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transform:translateY(6px)}.auth-wrapper{min-height:100vh;padding:var(--space-6);background:radial-gradient(900px 500px at 20% -10%, #3b82f61f, transparent 60%), var(--background);place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-8);box-shadow:var(--shadow-md)}.auth-brand{margin-bottom:var(--space-6);align-items:center;gap:10px;display:flex}.auth-title{font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.015em}.auth-subtitle{color:var(--text-secondary);font-size:var(--fs-sm);margin-top:4px;margin-bottom:var(--space-6)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-footer{margin-top:var(--space-5);text-align:center;font-size:var(--fs-sm);color:var(--text-secondary)}.auth-error{background:var(--danger-soft);color:var(--danger-text);border-radius:var(--radius-sm);font-size:var(--fs-sm);padding:10px 12px}.preview-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.viewport-switcher{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.viewport-btn{height:28px;font-size:var(--fs-xs);color:var(--text-secondary);border-radius:5px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.viewport-btn.active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.preview-stage{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);min-height:0;padding:var(--space-4);flex:1;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.preview-frame{box-shadow:var(--shadow-md);transition:width var(--dur) var(--ease);background:#fff;border-radius:8px;width:100%;height:100%;min-height:520px;overflow:hidden}.preview-frame iframe{border:0;width:100%;height:100%;display:block}.preview-frame.is-tablet{width:820px}.preview-frame.is-mobile{width:390px}.file-tabs{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.file-tab{height:28px;font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono);border-radius:5px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.file-tab.active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.code-editor{resize:none;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:100%;min-height:480px;font-family:var(--font-mono);color:var(--text-primary);tab-size:2;padding:14px;font-size:12.5px;line-height:1.55}.code-editor:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus)}.file-meta{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:8px;display:flex}.funnel{flex-direction:column;gap:6px;display:flex}.funnel-step{align-items:center;gap:var(--space-3);font-size:var(--fs-sm);grid-template-columns:160px 1fr 64px;display:grid}.funnel-label{color:var(--text-secondary)}.funnel-bar{background:var(--primary-soft);border-radius:5px;height:22px;position:relative;overflow:hidden}.funnel-bar>span{background:var(--primary);opacity:.85;border-radius:5px;position:absolute;inset:0 auto 0 0}.funnel-step:nth-child(2) .funnel-bar>span{background:var(--chart-5)}.funnel-step:nth-child(3) .funnel-bar>span{background:var(--chart-3)}.funnel-step:nth-child(4) .funnel-bar>span{background:var(--chart-4)}.funnel-step:nth-child(5) .funnel-bar>span{background:var(--chart-2)}.funnel-step:nth-child(6) .funnel-bar>span{background:var(--success)}.funnel-value{text-align:right;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.funnel-rate{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-regular);margin-left:6px}.rank-list{flex-direction:column;display:flex}.rank-item{gap:var(--space-3);border-bottom:1px solid var(--border);font-size:var(--fs-sm);grid-template-columns:1fr auto auto;align-items:center;padding:8px 0;display:grid}.rank-item:last-child{border-bottom:0}.rank-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.rank-bar{background:var(--neutral-soft);border-radius:2px;width:120px;height:4px;overflow:hidden}.rank-bar>span{background:var(--primary);height:100%;display:block}.rank-value{font-variant-numeric:tabular-nums;color:var(--text-secondary);text-align:right;min-width:56px}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.chart-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:var(--space-3)}.charts-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));display:grid}.apexcharts-tooltip{background:var(--surface-raised)!important;border:1px solid var(--border-strong)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-md)!important}.apexcharts-tooltip-title{background:var(--surface-sunken)!important;border-bottom:1px solid var(--border)!important}.apexcharts-gridline{stroke:var(--chart-grid)}.apexcharts-text{fill:var(--text-muted)!important;font-family:var(--font-sans)!important}.apexcharts-legend-text{color:var(--text-secondary)!important}.progress{background:var(--neutral-soft);border-radius:3px;width:100%;min-width:80px;height:6px;overflow:hidden}.progress>span{background:var(--primary);height:100%;transition:width var(--dur) var(--ease);border-radius:3px;display:block}.progress.is-success>span{background:var(--success)}.progress.is-danger>span{background:var(--danger)}.progress-label{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.list{flex-direction:column;display:flex}.list-item{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);padding:12px 16px;display:flex}.list-item:last-child{border-bottom:0}.list-item.is-clickable{cursor:pointer}.list-item.is-clickable:hover{background:var(--surface-hover)}.kv{font-size:var(--fs-sm);grid-template-columns:max-content 1fr;gap:6px 16px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{color:var(--text-primary);margin:0}.alert{border-radius:var(--radius-sm);font-size:var(--fs-sm);border:1px solid #0000;gap:10px;padding:10px 12px;display:flex}.alert .lf-icon{flex:none;margin-top:1px}.alert-info{background:var(--info-soft);color:var(--info-text)}.alert-warning{background:var(--warning-soft);color:var(--warning-text)}.alert-danger{background:var(--danger-soft);color:var(--danger-text)}.alert-success{background:var(--success-soft);color:var(--success-text)}.alert-ai{background:var(--ai-accent-soft);color:var(--ai-accent-text)}.avatar{background:var(--surface-raised);border:1px solid var(--border-strong);width:28px;height:28px;font-size:11px;font-weight:var(--fw-semibold);color:var(--text-secondary);border-radius:50%;place-items:center;display:grid}.dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.dot-success{background:var(--success)}.dot-danger{background:var(--danger)}.dot-warning{background:var(--warning)}.dot-info{background:var(--info)}.dot-ai{background:var(--ai-accent)}.suggestions{z-index:50;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:220px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.suggestion-item{font-size:var(--fs-sm);cursor:pointer;border-radius:5px;padding:7px 10px}.suggestion-item:hover,.suggestion-item.active{background:var(--surface-hover)}.ai-pill{border-radius:var(--radius-full);background:var(--ai-gradient);height:26px;color:var(--ai-accent-text);font-size:var(--fs-xs);font-weight:var(--fw-medium);border:1px solid #8b5cf64d;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.flex-none{flex:none}.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)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.p-0{padding:0}.p-4{padding:var(--space-4)}.w-full{width:100%}.min-w-0{min-width:0}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-lg{font-size:var(--fs-lg)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-success{color:var(--success-text)}.text-danger{color:var(--danger-text)}.text-warning{color:var(--warning-text)}.text-ai{color:var(--ai-accent-text)}.text-link{color:var(--text-link)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.tnum{font-variant-numeric:tabular-nums}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nowrap{white-space:nowrap}.hidden{display:none!important}.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}.subtitle{color:var(--text-secondary);font-size:var(--fs-sm)}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-sidebar{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast{animation-name:toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1280px){:root{--content-px:20px}.grid-sidebar{grid-template-columns:1fr}.form-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){.sidebar{transition:transform var(--dur) var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}body.sidebar-open .sidebar{transform:translate(0)}body.sidebar-open:before{content:"";z-index:25;background:var(--surface-overlay);position:fixed;inset:0}.sidebar-toggle{display:inline-flex}.form-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr}}@media (width<=768px){:root{--content-px:14px}.page-header{flex-direction:column}.page-actions{width:100%}.form-row-2,.form-row-3,.form-row-4,.grid-2{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.bulk-bar{flex-wrap:wrap;left:12px;right:12px;transform:none}.modal{padding:var(--space-3)}.notification-dropdown{width:calc(100vw - 28px)}}.trmap-card{overflow:hidden}.trmap-card .card-header{z-index:3;background:var(--surface);position:relative}.trmap-header{gap:var(--space-3);flex-wrap:wrap}.trmap-tabs{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.trmap-tab{height:28px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:5px;padding:0 12px}.trmap-tab:hover{color:var(--text-primary)}.trmap-tab.active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.trmap-body{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;display:grid}.trmap-stage-wrap{min-width:0;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:radial-gradient(80% 60% at 50% 0,#38bdf81a,#0000 65%),linear-gradient(#0b1524,#080f1c);position:relative;overflow:hidden}.trmap-stage{aspect-ratio:1007/444;width:100%;position:relative}.trmap-camera{position:absolute;inset:0}.trmap-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trmap-provinces path{--fill-pct:0%;stroke-width:calc(.8 / var(--map-zoom,1));fill:color-mix(in srgb, #38bdf8 var(--fill-pct), #1e2c46);stroke:#0b1524;stroke-linejoin:round;cursor:pointer;transition:fill var(--dur) var(--ease), stroke var(--dur-fast) var(--ease), opacity var(--dur) var(--ease)}.trmap-card[data-metric=withoutWebsiteCount] .trmap-provinces path{fill:color-mix(in srgb, #fbbf24 var(--fill-pct), #1e2c46)}.trmap-card[data-metric=searchCount] .trmap-provinces path{fill:color-mix(in srgb, #a78bfa var(--fill-pct), #1e2c46)}.trmap-provinces path:hover{stroke:#e2e8f0;stroke-width:calc(1.6 / var(--map-zoom,1))}.trmap-provinces path.is-selected{stroke:#f8fafc;stroke-width:calc(1.6 / var(--map-zoom,1))}.trmap-provinces path.is-dimmed{opacity:.28}.trmap-provinces path:not(.has-data){cursor:default}.trmap-provinces{filter:drop-shadow(0 10px 18px #0000008c)}.trmap-districts-layer path{--fill-pct:0%;fill:color-mix(in srgb, #38bdf8 var(--fill-pct), #253654);stroke:#94b4dc8c;stroke-width:calc(.7 / var(--map-zoom,1));stroke-linejoin:round;cursor:pointer;transition:fill var(--dur) var(--ease), stroke var(--dur-fast) var(--ease)}.trmap-card[data-metric=withoutWebsiteCount] .trmap-districts-layer path{fill:color-mix(in srgb, #fbbf24 var(--fill-pct), #253654)}.trmap-card[data-metric=searchCount] .trmap-districts-layer path{fill:color-mix(in srgb, #a78bfa var(--fill-pct), #253654)}.trmap-districts-layer path:hover{stroke:#f8fafc;stroke-width:calc(1.6 / var(--map-zoom,1))}.trmap-districts-layer path.is-active{stroke:#f8fafc;stroke-width:calc(2 / var(--map-zoom,1))}.trmap-card.is-drilled .trmap-pin{display:none}.trmap-card.is-drilled .trmap-provinces path.is-selected{fill-opacity:.35}.trmap-card.is-drilled .trmap-provinces{filter:none}.trmap-pins{z-index:20;pointer-events:none;position:absolute;inset:0}.trmap-pin{pointer-events:auto;transition:opacity var(--dur) var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.trmap-pin.is-dimmed{opacity:.2}.trmap-pin-dot{border-radius:var(--radius-full);min-width:34px;height:34px;transform:scale(var(--pin-scale,1));transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:#080f1cdb;border:1.5px solid #38bdf8;place-items:center;padding:0 8px;display:grid;box-shadow:0 0 0 4px #38bdf824,0 6px 14px -4px #000c}.trmap-pin-value{font-size:12.5px;font-weight:var(--fw-bold);color:#e0f2fe;font-variant-numeric:tabular-nums;line-height:1}.trmap-pin-city{font-size:10.5px;font-weight:var(--fw-semibold);color:var(--text-secondary);text-shadow:0 1px 3px #000000e6;white-space:nowrap;pointer-events:none}.trmap-pin:hover .trmap-pin-dot,.trmap-pin.is-selected .trmap-pin-dot{transform:scale(calc(var(--pin-scale,1) * 1.12));box-shadow:0 0 0 6px #38bdf838,0 8px 18px -4px #000000d9}.trmap-card[data-metric=withoutWebsiteCount] .trmap-pin-dot{border-color:#fbbf24;box-shadow:0 0 0 4px #fbbf2424,0 6px 14px -4px #000c}.trmap-card[data-metric=withoutWebsiteCount] .trmap-pin-value{color:#fef3c7}.trmap-card[data-metric=searchCount] .trmap-pin-dot{border-color:#a78bfa;box-shadow:0 0 0 4px #a78bfa24,0 6px 14px -4px #000c}.trmap-card[data-metric=searchCount] .trmap-pin-value{color:#ede9fe}.trmap-tooltip{z-index:40;border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);pointer-events:none;white-space:nowrap;flex-direction:column;gap:2px;padding:8px 11px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 16px))}.trmap-tooltip strong{font-size:var(--fs-sm)}.trmap-tooltip span{font-size:var(--fs-xs);color:var(--text-secondary)}.trmap-legend{left:var(--space-4);bottom:var(--space-4);z-index:30;border-radius:var(--radius-full);border:1px solid var(--border);background:#080f1cb8;align-items:center;gap:5px;padding:5px 9px;display:flex;position:absolute}.trmap-legend-label{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10.5px}.trmap-legend-chip{background:color-mix(in srgb, #38bdf8 var(--fill-pct,0%), #1e2c46);border-radius:2px;width:18px;height:7px}.trmap-card[data-metric=withoutWebsiteCount] .trmap-legend-chip{background:color-mix(in srgb, #fbbf24 var(--fill-pct,0%), #1e2c46)}.trmap-card[data-metric=searchCount] .trmap-legend-chip{background:color-mix(in srgb, #a78bfa var(--fill-pct,0%), #1e2c46)}.trmap-zoom-out{top:var(--space-3);left:var(--space-3);z-index:45;border-radius:var(--radius-full);border:1px solid var(--border-strong);height:30px;color:var(--text-primary);font-size:var(--fs-xs);font-weight:var(--fw-medium);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:#080f1cd1;align-items:center;gap:6px;padding:0 12px;display:inline-flex;position:absolute}.trmap-zoom-out:hover{background:var(--surface-hover);border-color:var(--primary)}.trmap-zoom-out[hidden]{display:none}.trmap-attribution{right:var(--space-4);bottom:var(--space-3);color:var(--text-muted);opacity:.7;z-index:30;margin:0;font-size:10px;position:absolute}.trmap-panel{min-height:340px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.trmap-panel-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.trmap-panel-empty .lf-icon{color:var(--text-muted);margin-bottom:4px}.trmap-panel-empty strong{color:var(--text-primary);font-size:var(--fs-md)}.trmap-panel-empty span{max-width:30ch}.trmap-panel-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.trmap-panel-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.trmap-panel-sub{font-size:var(--fs-xs);color:var(--text-muted);margin:2px 0 0}.trmap-panel-metrics{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.trmap-panel-metrics>div{background:var(--surface-sunken);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.trmap-panel-metrics span{color:var(--text-muted);font-size:11px}.trmap-panel-metrics strong{font-size:1.15rem;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.trmap-panel-label{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.trmap-districts{flex-direction:column;flex:1;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.trmap-row{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:1px solid #0000;flex-direction:column;gap:6px;padding:10px;display:flex}.trmap-row.is-keyword{cursor:default}.trmap-row:hover{background:var(--surface-hover);border-color:var(--border)}.trmap-row.is-active{background:var(--primary-soft);border-color:#38bdf873}.trmap-row-top{align-items:center;gap:8px;min-width:0;display:flex}.trmap-row-name{min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.trmap-row-value{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex:none}.trmap-row-chevron{color:var(--text-muted);flex:none}.trmap-row-bar{background:#94a3b829;border-radius:2px;height:4px;overflow:hidden}.trmap-row-bar>span{background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:2px;height:100%;display:block}.trmap-card[data-metric=withoutWebsiteCount] .trmap-row-bar>span{background:linear-gradient(90deg,#d97706,#fbbf24)}.trmap-card[data-metric=searchCount] .trmap-row-bar>span{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.trmap-row-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px 10px;font-size:11.5px;display:flex}@media (width<=1200px){.trmap-body{grid-template-columns:1fr}.trmap-panel{min-height:0}}@media (width<=768px){.trmap-pin-city{display:none}.trmap-legend{margin-top:var(--space-3);justify-content:center;position:static}.trmap-attribution{text-align:right;margin-top:6px;position:static}}
