@charset "UTF-8";:root,[data-theme=light]{color:var(--text);color-scheme:light;--gray-0:#ffffff;--gray-25:#fafbfc;--gray-50:#f5f7f9;--gray-100:#eceff3;--gray-200:#dde2e8;--gray-300:#c5cdd6;--gray-400:#98a3b0;--gray-500:#636e7b;--gray-600:#4f5a67;--gray-700:#38424e;--gray-800:#232b35;--gray-900:#141a22;--gray-950:#0b1017;--teal-50:#effaf8;--teal-100:#d2f1ec;--teal-500:#14918a;--teal-600:#0f766e;--teal-700:#0c5f59;--teal-800:#0a4a46;--bg:var(--gray-50);--bg-subtle:var(--gray-100);--surface:var(--gray-0);--surface-raised:var(--gray-0);--surface-sunken:var(--gray-25);--border:var(--gray-200);--border-strong:#8592a0;--divider:var(--gray-100);--text:var(--gray-900);--text-2:var(--gray-600);--text-3:var(--gray-500);--text-disabled:var(--gray-400);--text-inverse:#fff;--accent:var(--teal-600);--accent-hover:var(--teal-700);--accent-active:var(--teal-800);--accent-fg:#fff;--accent-subtle:var(--teal-50);--accent-text:var(--teal-700);--link:var(--teal-700);--focus:#0f766e;--focus-ring:0 0 0 2px var(--surface),0 0 0 4px var(--focus);--overlay:rgba(11,16,23,.48);--success:#15803d;--success-bg:#ecfdf3;--success-text:#166534;--success-border:#bbf0cf;--warning:#b45309;--warning-bg:#fff8eb;--warning-text:#92400e;--warning-border:#fde2a8;--danger:#c62828;--danger-bg:#fef2f2;--danger-text:#a31b1b;--danger-border:#f8c9c9;--danger-fg:#fff;--danger-hover:#a31b1b;--info:#1d5fd1;--info-bg:#eff5ff;--info-text:#1a4fa8;--info-border:#c7dafc;--shell-bg:var(--gray-950);--shell-fg:#e6eaef;--shell-accent:#5eead4;--sidebar-bg:var(--gray-0);--sidebar-fg:var(--gray-700);--sidebar-hover:var(--gray-50);--sidebar-active-bg:var(--teal-50);--sidebar-active-fg:var(--teal-700);--sidebar-w:232px;--chart-1:#0f766e;--chart-2:#3b6fd8;--chart-3:#c2410c;--chart-4:#7c5cc4;--chart-5:#a16207;--chart-6:#64748b;--chart-7:#be185d;--chart-8:#15803d;--chart-grid:var(--gray-100);--chart-axis:var(--gray-500);--app-hue:var(--accent);--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--fs-4xl:36px;--fs-5xl:48px;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.5;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--tracking-tight:-.015em;--tracking-caps:.04em;--body-size:var(--fs-md);--space-0:0;--space-px:1px;--space-0_5:2px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--control-h-sm:28px;--control-h:32px;--control-h-lg:40px;--row-h:36px;--shell-h:40px;--topbar-h:52px;--container-w:1200px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(16,24,40,.06),0 0 0 1px rgba(16,24,40,.04);--shadow-md:0 4px 12px rgba(16,24,40,.08),0 0 0 1px rgba(16,24,40,.05);--shadow-lg:0 12px 32px rgba(16,24,40,.14),0 0 0 1px rgba(16,24,40,.06);--z-base:0;--z-sticky:100;--z-sidebar:200;--z-shell:300;--z-dropdown:400;--z-overlay:500;--z-modal:510;--z-toast:600;--z-tooltip:700;--dur-instant:80ms;--dur-fast:.12s;--dur-base:.16s;--dur-slow:.24s;--ease-standard:cubic-bezier(.2,0,0,1);--ease-enter:cubic-bezier(0,0,.2,1);--ease-exit:cubic-bezier(.4,0,1,1)}@media(prefers-reduced-motion:reduce){:root{--dur-instant:0ms;--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms}}[data-theme=dark]{color:var(--text);color-scheme:dark;--bg:#0b1017;--bg-subtle:#111822;--surface:#121a24;--surface-raised:#18212d;--surface-sunken:#0e141c;--border:#232d3a;--border-strong:#2f3b4a;--divider:#1a2330;--text:#e8ecf1;--text-2:#a9b3bf;--text-3:#8692a0;--text-disabled:#5b6673;--accent:#2bb3a6;--accent-hover:#3cc7ba;--accent-active:#5eead4;--accent-fg:#04201d;--accent-subtle:rgba(43,179,166,.12);--accent-text:#5eead4;--link:#5eead4;--focus:#5eead4;--success:#3ccf7a;--success-bg:rgba(60,207,122,.12);--success-text:#7ee2a6;--success-border:rgba(60,207,122,.3);--warning:#f0a43a;--warning-bg:rgba(240,164,58,.12);--warning-text:#f7c47a;--warning-border:rgba(240,164,58,.3);--danger:#f26b6b;--danger-bg:rgba(242,107,107,.12);--danger-text:#f9a3a3;--danger-border:rgba(242,107,107,.3);--info:#6b9cf5;--info-bg:rgba(107,156,245,.12);--info-text:#a6c4fa;--info-border:rgba(107,156,245,.3);--sidebar-bg:#0e141c;--sidebar-fg:#a9b3bf;--sidebar-hover:#151d28;--sidebar-active-bg:rgba(43,179,166,.12);--sidebar-active-fg:#5eead4;--chart-1:#2bb3a6;--chart-2:#6b9cf5;--chart-3:#f08a4b;--chart-4:#a78bfa;--chart-5:#d4a72c;--chart-6:#8692a0;--chart-grid:#1a2330;--chart-axis:#8692a0;--shadow-sm:0 0 0 1px rgba(255,255,255,.05);--shadow-md:0 8px 24px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06);--shadow-lg:0 16px 40px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);--border-strong:#627080;--text-3:#8a96a4;--overlay:rgba(0,0,0,.6);--danger-fg:#1f0606;--danger-hover:#f58b8b;--chart-7:#f472b6;--chart-8:#3ccf7a}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#0b1017;--bg-subtle:#111822;--surface:#121a24;--surface-raised:#18212d;--surface-sunken:#0e141c;--border:#232d3a;--border-strong:#2f3b4a;--divider:#1a2330;--text:#e8ecf1;--text-2:#a9b3bf;--text-3:#8692a0;--text-disabled:#5b6673;--accent:#2bb3a6;--accent-hover:#3cc7ba;--accent-active:#5eead4;--accent-fg:#04201d;--accent-subtle:rgba(43,179,166,.12);--accent-text:#5eead4;--link:#5eead4;--focus:#5eead4;--success:#3ccf7a;--success-bg:rgba(60,207,122,.12);--success-text:#7ee2a6;--success-border:rgba(60,207,122,.3);--warning:#f0a43a;--warning-bg:rgba(240,164,58,.12);--warning-text:#f7c47a;--warning-border:rgba(240,164,58,.3);--danger:#f26b6b;--danger-bg:rgba(242,107,107,.12);--danger-text:#f9a3a3;--danger-border:rgba(242,107,107,.3);--info:#6b9cf5;--info-bg:rgba(107,156,245,.12);--info-text:#a6c4fa;--info-border:rgba(107,156,245,.3);--sidebar-bg:#0e141c;--sidebar-fg:#a9b3bf;--sidebar-hover:#151d28;--sidebar-active-bg:rgba(43,179,166,.12);--sidebar-active-fg:#5eead4;--chart-1:#2bb3a6;--chart-2:#6b9cf5;--chart-3:#f08a4b;--chart-4:#a78bfa;--chart-5:#d4a72c;--chart-6:#8692a0;--chart-grid:#1a2330;--chart-axis:#8692a0;--shadow-sm:0 0 0 1px rgba(255,255,255,.05);--shadow-md:0 8px 24px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06);--shadow-lg:0 16px 40px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);--border-strong:#627080;--text-3:#8a96a4;--overlay:rgba(0,0,0,.6);--danger-fg:#1f0606;--danger-hover:#f58b8b;--chart-7:#f472b6;--chart-8:#3ccf7a}}[data-app=home]{--app-hue:var(--accent)}[data-app=bookings]{--app-hue:#2563eb}[data-app=crm]{--app-hue:#0f766e}[data-app=invoices]{--app-hue:#7c3aed}[data-app=store]{--app-hue:#c2410c}[data-app=finance]{--app-hue:#15803d}[data-app=hr]{--app-hue:#a16207}[data-app=forms]{--app-hue:#0e7490}[data-app=docs]{--app-hue:#475569}[data-app=campaigns]{--app-hue:#be185d}[data-app=analytics]{--app-hue:#4338ca}[data-theme=dark] [data-app=bookings],[data-theme=dark][data-app=bookings]{--app-hue:#6b9cf5}[data-theme=dark] [data-app=crm],[data-theme=dark][data-app=crm]{--app-hue:#2bb3a6}[data-theme=dark] [data-app=invoices],[data-theme=dark][data-app=invoices]{--app-hue:#a78bfa}[data-theme=dark] [data-app=store],[data-theme=dark][data-app=store]{--app-hue:#f08a4b}[data-theme=dark] [data-app=finance],[data-theme=dark][data-app=finance]{--app-hue:#3ccf7a}[data-theme=dark] [data-app=hr],[data-theme=dark][data-app=hr]{--app-hue:#d4a72c}[data-theme=dark] [data-app=forms],[data-theme=dark][data-app=forms]{--app-hue:#38bdf8}[data-theme=dark] [data-app=docs],[data-theme=dark][data-app=docs]{--app-hue:#94a3b8}[data-theme=dark] [data-app=campaigns],[data-theme=dark][data-app=campaigns]{--app-hue:#f472b6}[data-theme=dark] [data-app=analytics],[data-theme=dark][data-app=analytics]{--app-hue:#818cf8}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--body-size);line-height:var(--lh-normal);font-weight:var(--fw-regular);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);text-wrap:balance}h1{font-size:var(--fs-3xl);letter-spacing:var(--tracking-tight)}h2{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}h5,h6{font-size:var(--fs-md)}p{text-wrap:pretty}small{font-size:var(--fs-xs)}b,strong{font-weight:var(--fw-semibold)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}hr{border:0;border-top:1px solid var(--border)}table{border-collapse:collapse;border-spacing:0}a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-subtle);color:var(--text)}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}[hidden]{display:none!important}.vg-num,.vg-money{font-variant-numeric:tabular-nums}.vg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.vg-muted{color:var(--text-2)}.vg-subtle{color:var(--text-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.vg-icon{display:inline-flex;flex:none;width:16px;height:16px;color:currentColor}.vg-icon svg{width:100%;height:100%}.vg-icon--20{width:20px;height:20px}.vg-btn{--_h:var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--_h);min-width:var(--_h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.vg-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.vg-btn:disabled,.vg-btn[aria-disabled=true]{opacity:.5;pointer-events:none}.vg-btn--primary{background:var(--accent);color:var(--accent-fg)}.vg-btn--primary:hover{background:var(--accent-hover);color:var(--accent-fg)}.vg-btn--primary:active{background:var(--accent-active)}.vg-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.vg-btn--secondary:hover{background:var(--bg-subtle);color:var(--text)}.vg-btn--ghost{background:transparent;color:var(--text-2)}.vg-btn--ghost:hover{background:var(--bg-subtle);color:var(--text)}.vg-btn--danger{background:var(--danger);color:var(--danger-fg)}.vg-btn--danger:hover{background:var(--danger-hover);color:var(--danger-fg)}.vg-btn--link{background:none;color:var(--link);padding:0;height:auto;min-width:0;text-decoration:underline;text-underline-offset:2px}.vg-btn--sm{--_h:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-sm)}.vg-btn--lg{--_h:var(--control-h-lg);padding:0 var(--space-5)}.vg-btn--icon{padding:0;width:var(--_h)}.vg-btn--block{width:100%}.vg-btn[aria-busy=true]{color:transparent!important;position:relative}.vg-btn[aria-busy=true]:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid var(--text-3);border-right-color:transparent;animation:vg-spin .7s linear infinite}.vg-btn--primary[aria-busy=true]:after{border-color:var(--accent-fg);border-right-color:transparent}@keyframes vg-spin{to{transform:rotate(360deg)}}.vg-btn-group{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}.vg-input,.vg-select,.vg-textarea{display:block;width:100%;height:var(--control-h);padding:0 var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.vg-input::placeholder,.vg-textarea::placeholder{color:var(--text-3);opacity:1}.vg-input:hover,.vg-select:hover,.vg-textarea:hover{border-color:var(--text-3)}.vg-input:focus-visible,.vg-select:focus-visible,.vg-textarea:focus-visible,.vg-input:focus,.vg-select:focus,.vg-textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-subtle),0 0 0 1px var(--focus)}.vg-input:disabled,.vg-select:disabled,.vg-textarea:disabled{background:var(--bg-subtle);color:var(--text-disabled);cursor:not-allowed}.vg-input[aria-invalid=true],.vg-select[aria-invalid=true],.vg-textarea[aria-invalid=true]{border-color:var(--danger)}.vg-input--sm{height:var(--control-h-sm);font-size:var(--fs-sm)}.vg-input--lg{height:var(--control-h-lg)}.vg-textarea{height:auto;min-height:80px;padding:var(--space-2) var(--space-3);line-height:var(--lh-normal);resize:vertical}.vg-select{appearance:none;padding-right:var(--space-8);cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}.vg-input-group{position:relative;display:flex;align-items:center}.vg-input-group>.vg-input{flex:1}.vg-input-group__adorn{position:absolute;inset-block:0;display:flex;align-items:center;padding:0 var(--space-3);color:var(--text-3);pointer-events:none;font-variant-numeric:tabular-nums}.vg-input-group__adorn--start{left:0}.vg-input-group__adorn--end{right:0}.vg-input-group:has(.vg-input-group__adorn--start)>.vg-input{padding-left:var(--space-8)}.vg-input-group:has(.vg-input-group__adorn--end)>.vg-input{padding-right:var(--space-8)}.vg-check,.vg-radio,.vg-switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-md);color:var(--text);cursor:pointer;min-height:24px}.vg-check input,.vg-radio input{appearance:none;flex:none;width:16px;height:16px;margin:0;border:1px solid var(--border-strong);background:var(--surface);display:grid;place-content:center;cursor:pointer;transition:background-color var(--dur-fast),border-color var(--dur-fast)}.vg-check input{border-radius:var(--radius-sm)}.vg-radio input{border-radius:50%}.vg-check input:checked,.vg-radio input:checked,.vg-check input:indeterminate{background:var(--accent);border-color:var(--accent)}.vg-check input:checked:before{content:"";width:9px;height:5px;border:2px solid var(--accent-fg);border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}.vg-check input:indeterminate:before{content:"";width:8px;height:2px;background:var(--accent-fg)}.vg-radio input:checked:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-fg)}.vg-check input:focus-visible,.vg-radio input:focus-visible,.vg-switch input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.vg-check input:disabled,.vg-radio input:disabled,.vg-switch input:disabled{opacity:.5;cursor:not-allowed}.vg-switch input{appearance:none;flex:none;position:relative;width:32px;height:18px;margin:0;border-radius:var(--radius-full);background:var(--border-strong);cursor:pointer;transition:background-color var(--dur-base) var(--ease-standard)}.vg-switch input:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-standard)}.vg-switch input:checked{background:var(--accent)}.vg-switch input:checked:before{transform:translate(14px);background:var(--accent-fg)}.vg-field{display:flex;flex-direction:column;gap:var(--space-1_5)}.vg-field+.vg-field,.vg-form-grid+.vg-field{margin-top:var(--space-4)}.vg-form-grid>.vg-field+.vg-field{margin-top:0}.vg-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text)}.vg-label__req{color:var(--danger-text);margin-left:2px}.vg-label__opt{color:var(--text-3);font-weight:var(--fw-regular);margin-left:var(--space-1)}.vg-help{font-size:var(--fs-xs);color:var(--text-3)}.vg-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);color:var(--danger-text)}.vg-fieldset{border:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.vg-fieldset legend{font-size:var(--fs-sm);font-weight:var(--fw-medium);margin-bottom:var(--space-2);padding:0}.vg-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.vg-table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.vg-table{width:100%;font-size:var(--fs-md);color:var(--text)}.vg-table th,.vg-table td{height:var(--row-h);padding:0 var(--space-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--divider);white-space:nowrap}.vg-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-bottom:1px solid var(--border)}.vg-table tbody tr:hover{background:var(--bg-subtle)}.vg-table tbody tr[aria-selected=true]{background:var(--accent-subtle)}.vg-table tbody tr:last-child td{border-bottom:0}.vg-table--zebra tbody tr:nth-child(2n){background:var(--surface-sunken)}.vg-table--dense th,.vg-table--dense td{height:28px;font-size:var(--fs-sm)}.vg-table .vg-num,.vg-table td.num,.vg-table th.num{text-align:right;font-variant-numeric:tabular-nums}.vg-table__check{width:40px}.vg-bulkbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--accent-subtle);color:var(--accent-text);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.vg-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.vg-card--flush{padding:0}.vg-card--raised{box-shadow:var(--shadow-md);border-color:transparent}.vg-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.vg-card__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.vg-card__footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--divider)}.vg-badge{display:inline-flex;align-items:center;gap:var(--space-1_5);height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;background:var(--bg-subtle);color:var(--text-2);border:1px solid var(--border)}.vg-badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.vg-badge--success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.vg-badge--warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.vg-badge--danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.vg-badge--info{background:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.vg-badge--accent{background:var(--accent-subtle);color:var(--accent-text);border-color:transparent}.vg-tag{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text);font-size:var(--fs-sm);border:1px solid var(--border)}.vg-tag__remove{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:var(--radius-sm);color:var(--text-2)}.vg-tag__remove:hover{background:var(--border);color:var(--text)}.vg-app-glyph{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--app-hue) 14%,var(--surface));color:var(--app-hue)}.vg-app-glyph .vg-icon{width:14px;height:14px}.vg-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);overflow-x:auto}.vg-tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-h-lg);padding:0 var(--space-3);color:var(--text-2);font-size:var(--fs-md);font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap;background:none;border:0;cursor:pointer}.vg-tab:hover,.vg-tab[aria-selected=true],.vg-tab[aria-current=page]{color:var(--text)}.vg-tab[aria-selected=true]:after,.vg-tab[aria-current=page]:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.vg-tab__count{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.vg-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1_5);list-style:none;padding:0;font-size:var(--fs-sm);color:var(--text-2)}.vg-breadcrumb li+li:before{content:"/";color:var(--text-3);margin-right:var(--space-1_5)}.vg-breadcrumb a{color:var(--text-2);text-decoration:none}.vg-breadcrumb a:hover{color:var(--text);text-decoration:underline}.vg-breadcrumb [aria-current=page]{color:var(--text);font-weight:var(--fw-medium)}.vg-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-sm);color:var(--text-2)}.vg-pagination__pages{display:flex;gap:var(--space-1);list-style:none;padding:0}.vg-page{display:inline-grid;place-items:center;min-width:var(--control-h-sm);height:var(--control-h-sm);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--text-2);text-decoration:none;font-variant-numeric:tabular-nums;border:1px solid transparent}.vg-page:hover{background:var(--bg-subtle);color:var(--text)}.vg-page[aria-current=page]{background:var(--surface);border-color:var(--border-strong);color:var(--text);font-weight:var(--fw-semibold)}.vg-backdrop{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--overlay);animation:vg-fade var(--dur-base) var(--ease-enter)}.vg-modal{position:fixed;z-index:var(--z-modal);left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--surface-raised);color:var(--text);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:0;padding:0;animation:vg-pop var(--dur-base) var(--ease-enter)}dialog.vg-modal::backdrop{background:var(--overlay)}.vg-modal--lg{width:min(640px,calc(100vw - 32px))}.vg-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3)}.vg-modal__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.vg-modal__body{padding:0 var(--space-5) var(--space-5);overflow:auto;color:var(--text-2)}.vg-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--divider)}.vg-drawer{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;width:min(480px,100vw);display:flex;flex-direction:column;background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-lg);animation:vg-slide var(--dur-slow) var(--ease-enter)}.vg-drawer--lg{width:min(640px,100vw)}.vg-drawer__header{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 var(--space-5);border-bottom:1px solid var(--border)}.vg-drawer__body{flex:1;overflow:auto;padding:var(--space-5)}.vg-drawer__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border)}.vg-toast-region{position:fixed;z-index:var(--z-toast);left:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(400px,calc(100vw - 32px))}.vg-toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-left:3px solid var(--text-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);font-size:var(--fs-md);animation:vg-pop var(--dur-base) var(--ease-enter)}.vg-toast__title{font-weight:var(--fw-semibold)}.vg-toast__body{color:var(--text-2);font-size:var(--fs-sm)}.vg-toast--success{border-left-color:var(--success)}.vg-toast--success>.vg-icon{color:var(--success)}.vg-toast--warning{border-left-color:var(--warning)}.vg-toast--warning>.vg-icon{color:var(--warning)}.vg-toast--danger{border-left-color:var(--danger)}.vg-toast--danger>.vg-icon{color:var(--danger)}.vg-toast--info{border-left-color:var(--info)}.vg-toast--info>.vg-icon{color:var(--info)}.vg-alert{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--info-border);background:var(--info-bg);color:var(--info-text);font-size:var(--fs-md)}.vg-alert--success{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.vg-alert--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.vg-alert--danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}@keyframes vg-fade{0%{opacity:0}}@keyframes vg-pop{0%{opacity:0;transform:translate(var(--_tx,0),var(--_ty,4px)) scale(.98)}}.vg-modal{--_tx:-50%;--_ty: calc(-50% + 4px) }@keyframes vg-slide{0%{transform:translate(24px);opacity:0}}.vg-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);color:var(--text-2)}.vg-empty__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-lg);background:var(--bg-subtle);color:var(--text-3)}.vg-empty__icon .vg-icon{width:24px;height:24px}.vg-empty__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text)}.vg-empty__body{max-width:44ch}.vg-empty__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.vg-stat{display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.vg-stat__label{font-size:var(--fs-sm);color:var(--text-2)}.vg-stat__value{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.vg-stat__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-3)}.vg-stat__spark{height:32px;color:var(--chart-1)}.vg-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.vg-skeleton{display:block;height:12px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-subtle) 0,var(--divider) 50%,var(--bg-subtle) 100%);background-size:200% 100%;animation:vg-shimmer 1.4s linear infinite}.vg-skeleton--text{width:100%}.vg-skeleton--title{height:20px;width:40%}.vg-skeleton--circle{width:32px;height:32px;border-radius:50%}@keyframes vg-shimmer{to{background-position:-200% 0}}.vg-app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.vg-sidebar{position:sticky;top:0;height:100vh;overflow:auto;z-index:var(--z-sidebar);display:flex;flex-direction:column;gap:var(--space-1);background:var(--sidebar-bg);border-right:1px solid var(--border);padding:var(--space-3)}.vg-sidebar__brand{display:flex;align-items:center;gap:var(--space-2);height:var(--control-h-lg);padding:0 var(--space-2);margin-bottom:var(--space-2)}.vg-sidebar__section{margin-top:var(--space-4);padding:0 var(--space-2) var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-3)}.vg-nav{display:flex;flex-direction:column;gap:2px;list-style:none;padding:0}.vg-nav__item{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--sidebar-fg);font-size:var(--fs-md);font-weight:var(--fw-medium);text-decoration:none}.vg-nav__item:hover{background:var(--sidebar-hover);color:var(--text)}.vg-nav__item[aria-current=page],.vg-nav__item.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-active-fg)}.vg-nav__item .vg-badge{margin-left:auto}.vg-main{min-width:0;padding:var(--space-6) var(--space-8)}@media(max-width:1024px){.vg-app{grid-template-columns:56px 1fr}.vg-sidebar .vg-nav__label,.vg-sidebar__section,.vg-sidebar__brand .vg-wordmark-text{display:none}.vg-nav__item{justify-content:center}}@media(max-width:640px){.vg-app{grid-template-columns:1fr}.vg-sidebar{position:fixed;inset:auto 0 0;height:56px;flex-direction:row;border-right:0;border-top:1px solid var(--border);padding:var(--space-1)}.vg-sidebar>:not(.vg-nav){display:none}.vg-sidebar .vg-nav{flex-direction:row;justify-content:space-around;width:100%}.vg-main{padding:var(--space-4) var(--space-4) 72px}}.vg-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.vg-page-header__title{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.vg-page-header__desc{margin-top:var(--space-1);color:var(--text-2)}.vg-page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.vg-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.vg-toolbar__spacer{flex:1}.vg-toolbar .vg-input-group{width:min(280px,100%)}.vg-divider{height:1px;background:var(--border);border:0;margin:var(--space-4) 0}.vg-kbd{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-1);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-2)}.vg-container{width:100%;max-width:var(--container-w);margin-inline:auto;padding-inline:var(--space-6)}.vg-section{padding-block:var(--space-20)}.vg-section--alt{background:var(--bg)}.vg-section--surface{background:var(--surface)}.vg-section__eyebrow{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text);margin-bottom:var(--space-2)}.vg-section__title{font-size:var(--fs-4xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);max-width:24ch}.vg-section__lead{margin-top:var(--space-3);font-size:var(--fs-lg);color:var(--text-2);max-width:60ch}.vg-hero{padding-block:var(--space-20) var(--space-16);background:var(--surface)}.vg-hero__title{font-size:var(--fs-5xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);line-height:1.1;max-width:20ch}.vg-hero__lead{margin-top:var(--space-4);font-size:var(--fs-xl);color:var(--text-2);max-width:56ch}.vg-hero__actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8)}.vg-hero__shot{margin-top:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken);box-shadow:var(--shadow-md)}.vg-proof{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-top:var(--space-8);font-size:var(--fs-sm);color:var(--text-3)}.vg-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}@media(max-width:860px){.vg-split{grid-template-columns:1fr}.vg-hero__title{font-size:var(--fs-4xl)}.vg-section{padding-block:var(--space-12)}}.vg-features{display:grid;gap:var(--space-5);list-style:none;padding:0;margin-top:var(--space-6)}.vg-feature{display:grid;grid-template-columns:20px 1fr;gap:var(--space-1) var(--space-3)}.vg-feature>.vg-icon{width:20px;height:20px;color:var(--accent-text);margin-top:1px;grid-row:span 2}.vg-feature__title{font-weight:var(--fw-semibold);color:var(--text)}.vg-feature__body{color:var(--text-2)}.vg-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-top:var(--space-8)}.vg-plan{display:flex;flex-direction:column;gap:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.vg-plan--featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.vg-plan__name{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.vg-plan__price{font-size:var(--fs-4xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1}.vg-plan__price small{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-2);letter-spacing:0}.vg-plan__note{font-size:var(--fs-xs);color:var(--text-3)}.vg-plan__list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;color:var(--text-2)}.vg-plan__list li{display:flex;gap:var(--space-2)}.vg-plan__list .vg-icon{color:var(--accent-text);margin-top:3px}.vg-plan .vg-btn{margin-top:auto}.vg-faq{max-width:760px;margin-top:var(--space-6);border-top:1px solid var(--border)}.vg-faq details{border-bottom:1px solid var(--border)}.vg-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;font-weight:var(--fw-medium);cursor:pointer;list-style:none}.vg-faq summary::-webkit-details-marker{display:none}.vg-faq summary:after{content:"+";font-size:var(--fs-xl);color:var(--text-3);line-height:1}.vg-faq details[open] summary:after{content:"\2212"}.vg-faq details>div{padding:0 0 var(--space-4);color:var(--text-2);max-width:65ch}.vg-footer{padding-block:var(--space-12) var(--space-8);background:var(--surface);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2)}.vg-footer__grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:var(--space-8)}@media(max-width:760px){.vg-footer__grid{grid-template-columns:1fr 1fr}}.vg-footer h4{font-size:var(--fs-sm);margin-bottom:var(--space-3)}.vg-footer ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.vg-footer a{color:var(--text-2);text-decoration:none}.vg-footer a:hover{color:var(--text);text-decoration:underline}.vg-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--divider);color:var(--text-3)}.vg-wordmark{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;line-height:1}.vg-wordmark svg{width:auto}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root,[data-theme=light],[data-theme=dark]{--bg-base: var(--bg);--bg-deep: var(--bg-subtle);--bg-elevated: var(--surface-raised);--bg-surface: var(--surface);--surface-2: var(--bg-subtle);--text-primary: var(--text);--text-secondary: var(--text-2);--text-muted: var(--text-3);--primary: var(--accent);--primary-hover: var(--accent-hover);--primary-contrast: var(--accent-fg);--primary-light: var(--accent-subtle);--primary-deep: var(--accent-text);--indigo-50: var(--accent-subtle);--indigo-100: var(--accent-subtle);--indigo-200: var(--border);--indigo-300: var(--border-strong);--indigo-400: var(--accent);--indigo-500: var(--accent);--indigo-600: var(--accent-hover);--indigo-700: var(--accent-text);--accent-1: var(--accent);--accent-2: var(--warning);--accent-grad: var(--accent);--accent-light: var(--accent-hover);--accent-glow: var(--accent-subtle);--on-accent: var(--accent-fg);--error: var(--danger);--shadow-focus: var(--focus-ring);--shadow-glow: none;--shadow-card: var(--shadow-sm);--shadow-btn: none;--ease: var(--ease-standard);--text-xs: var(--fs-xs);--text-sm: var(--fs-sm);--text-base: var(--fs-md);--text-lg: var(--fs-lg);--text-xl: var(--fs-xl);--text-2xl: var(--fs-2xl);--text-3xl: var(--fs-3xl);--text-display: var(--fs-4xl);--tour-color: var(--accent)}.btn-primary,.btn-secondary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-md);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.btn-primary:disabled,.btn-primary[disabled],.btn-secondary:disabled,.btn-secondary[disabled],.btn-ghost:disabled,.btn-ghost[disabled]{opacity:.5;cursor:not-allowed}.btn-primary:hover,.btn-secondary:hover,.btn-ghost:hover{text-decoration:none}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--text)}.ds-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.file-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);height:20px;border-radius:var(--radius-sm);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;background:var(--bg-subtle);color:var(--text-2);border:1px solid var(--border)}.privacy-note{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--fs-xs);color:var(--text-3);line-height:var(--lh-normal)}.privacy-note svg,.privacy-note vg-icon{flex-shrink:0;margin-top:1px;color:var(--accent)}.error-msg{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-sm);margin-top:var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:16px;height:16px;flex-shrink:0;display:inline-block;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}.form-control,.ving-input{width:100%;height:var(--control-h);padding:0 var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:inherit;font-size:var(--fs-md)}.form-control::placeholder,.ving-input::placeholder{color:var(--text-3)}.form-control:focus,.ving-input:focus{outline:none;border-color:var(--focus);box-shadow:var(--focus-ring)}.alert{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--fs-sm);border:1px solid transparent}.alert-error{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.alert-success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.alert-info{background:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.pill-success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.pill-warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.pill-danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.loading{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ving-spin .65s linear infinite;vertical-align:middle}@keyframes ving-spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--text-3);font-size:var(--fs-sm)}.tnum{font-variant-numeric:tabular-nums}.tour-highlight{outline:2px solid var(--focus);outline-offset:4px;border-radius:var(--radius-lg)}.tour-card-glow{box-shadow:var(--focus-ring)}
