@import url("https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root{--zinc-50:#FAFAFA;--zinc-100:#F4F4F5;--zinc-200:#E4E4E7;--zinc-300:#D4D4D8;--zinc-400:#A1A1AA;--zinc-500:#71717A;--zinc-600:#52525B;--zinc-700:#3F3F46;--zinc-800:#27272A;--zinc-900:#18181B;--zinc-950:#09090B;--oxblood-50:#FBEDEE;--oxblood-100:#F6D6D9;--oxblood-200:#E9A8AF;--oxblood-300:#DA7B85;--oxblood-400:#C44E5B;--oxblood-500:#9B2D3A;--oxblood-600:#82252F;--oxblood-700:#661C26;--oxblood-800:#4A141B;--oxblood-900:#2E0C10;--alert-200:#FECACA;--alert-400:#F87171;--alert-600:#DC2626;--alert-700:#C81E1E;--green-100:#D1FAE5;--green-200:#7DDCAE;--green-300:#35BE83;--green-500:#0FA06C;--green-600:#0A875D;--green-700:#086F4C;--amber-w-100:#FEF3C7;--amber-w-300:#F5C451;--amber-w-500:#D9A441;--amber-w-700:#B45309;--gradient-hero:linear-gradient(135deg,#FF7847,#E84393);--gradient-hero-from:#FF7847;--gradient-hero-to:#E84393;--chart-steel:#5EA8E0;--avatar-1:#5B8DEF;--avatar-2:#7C5CFF;--avatar-3:#10B981;--avatar-4:#F59E0B;--avatar-5:#EF4444;--avatar-6:#06B6D4;--avatar-7:#EC4899;--avatar-8:#84CC16;--avatar-9:#0EA5E9;--avatar-10:#A855F7;--avatar-11:#F97316;--avatar-12:#14B8A6;--avatar-on-light:var(--zinc-50);--avatar-on-dark:var(--zinc-900);--avatar-grad-1:linear-gradient(135deg,#5B8DEF,#7C5CFF);--avatar-grad-2:linear-gradient(135deg,#7C5CFF,#A855F7);--avatar-grad-3:linear-gradient(135deg,#10B981,#14B8A6);--avatar-grad-4:linear-gradient(135deg,#FBB740,#F97316);--avatar-grad-5:linear-gradient(135deg,#F87171,#EC4899);--avatar-grad-6:linear-gradient(135deg,#22D3EE,#0EA5E9);--avatar-grad-7:linear-gradient(135deg,#EC4899,#A855F7);--avatar-grad-8:linear-gradient(135deg,#A3E635,#10B981);--avatar-grad-9:linear-gradient(135deg,#38BDF8,#5B8DEF);--avatar-grad-10:linear-gradient(135deg,#C084FC,#EC4899);--avatar-grad-11:linear-gradient(135deg,#FB923C,#EF4444);--avatar-grad-12:linear-gradient(135deg,#2DD4BF,#06B6D4)}:root,:root[data-theme=light]{--background:var(--zinc-100);--card:#FFFFFF;--popover:#FFFFFF;--muted:var(--zinc-100);--foreground:var(--zinc-900);--card-foreground:var(--foreground);--popover-foreground:var(--foreground);--muted-foreground:var(--zinc-500);--primary:var(--oxblood-500);--primary-hover:var(--oxblood-600);--primary-foreground:#FFFFFF;--accent:var(--oxblood-50);--accent-foreground:var(--oxblood-700);--text-link:var(--foreground);--text-link-hover:var(--foreground);--success:var(--green-600);--success-bg:var(--green-100);--success-foreground:var(--green-700);--warning:var(--amber-w-700);--warning-bg:var(--amber-w-100);--warning-foreground:var(--amber-w-700);--danger:var(--alert-700);--danger-bg:#FCEAEA;--danger-foreground:var(--alert-700);--info:#1B6FA8;--info-bg:#E6F1FA;--info-foreground:#0E456B;--positive:var(--green-600);--positive-foreground:#FFFFFF;--negative:var(--oxblood-500);--negative-bg:var(--oxblood-50);--destructive:var(--alert-600);--destructive-foreground:#FFFFFF;--secondary:var(--zinc-100);--secondary-hover:var(--zinc-200);--secondary-foreground:var(--zinc-900);--border:var(--zinc-200);--input:var(--zinc-300);--ring:var(--oxblood-500);--chart-1:var(--oxblood-500);--chart-2:var(--green-600);--chart-3:var(--gradient-hero-to);--chart-4:var(--gradient-hero-from);--chart-5:var(--zinc-400);--chart-spend:var(--oxblood-500);--chart-credit:var(--green-600);--chart-payment:var(--zinc-500);--chart-business:var(--chart-steel);--chart-personal:var(--positive);--chart-line-1:var(--primary);--chart-line-2:var(--positive);--chart-line-3:var(--chart-steel);--chart-line-4:var(--destructive);--chart-line-5:var(--amber-w-300);--chart-line-6:var(--oxblood-300);color-scheme:light}:root[data-theme=dark]{--background:#0A0A0B;--card:#141416;--popover:#1A1A1D;--muted:#1F1F22;--foreground:#EDEDEF;--card-foreground:var(--foreground);--popover-foreground:var(--foreground);--muted-foreground:#8B8B90;--primary:var(--oxblood-500);--primary-hover:var(--oxblood-400);--primary-foreground:#FBEDEE;--accent:var(--oxblood-900);--accent-foreground:var(--oxblood-100);--text-link:var(--foreground);--text-link-hover:var(--foreground);--success:var(--green-300);--success-bg:#0E2A1E;--success-foreground:var(--green-200);--warning:var(--amber-w-300);--warning-bg:#3A2C00;--warning-foreground:var(--amber-w-100);--danger:var(--alert-400);--danger-bg:#3A1517;--danger-foreground:var(--alert-200);--info:var(--chart-steel);--info-bg:#102A3F;--info-foreground:#BFDCF5;--positive:var(--green-300);--positive-foreground:#06140E;--negative:var(--oxblood-300);--negative-bg:#2A1416;--destructive:var(--alert-400);--destructive-foreground:#1A0606;--secondary:#1F1F22;--secondary-hover:#27272A;--secondary-foreground:#EDEDEF;--border:#242427;--input:#3A3A3E;--ring:var(--oxblood-400);--chart-1:var(--oxblood-300);--chart-2:var(--green-300);--chart-3:var(--gradient-hero-to);--chart-4:var(--gradient-hero-from);--chart-5:var(--zinc-400);--chart-spend:var(--oxblood-300);--chart-credit:var(--green-300);--chart-payment:var(--zinc-400);--chart-business:var(--chart-steel);--chart-personal:var(--positive);--chart-line-1:var(--chart-spend);--chart-line-2:var(--chart-credit);--chart-line-3:var(--chart-business);--chart-line-4:var(--chart-4);--chart-line-5:var(--amber-w-300);--chart-line-6:var(--oxblood-200);color-scheme:dark}:root{--font-sans:"Mulish","Avenir Next","Segoe UI Variable Display","IBM Plex Sans","Segoe UI",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,"Liberation Mono",monospace;--leading-base:1.45;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-display-lg:3.25rem;--text-display-lg-lh:3.5rem;--text-display-lg-ls:-0.02em;--text-display:2.25rem;--text-display-lh:2.5rem;--text-display-ls:-0.02em;--text-display-sm:2rem;--text-display-sm-lh:2rem;--text-display-sm-ls:-0.02em;--text-headline-lg:1.875rem;--text-headline-lg-lh:2.25rem;--text-headline-lg-ls:-0.01em;--text-headline:1.5rem;--text-headline-lh:1.75rem;--text-headline-ls:-0.01em;--text-headline-sm:1rem;--text-headline-sm-lh:1.25rem;--text-headline-sm-ls:0em;--text-body-lg:1rem;--text-body-lg-lh:1.25rem;--text-body-lg-ls:0em;--text-body:0.875rem;--text-body-lh:1.0625rem;--text-body-ls:0em;--text-body-sm:0.75rem;--text-body-sm-lh:0.9375rem;--text-body-sm-ls:0em;--text-label:0.72rem;--radius:0.5rem;--radius-sm:2px;--radius-md:4px;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--space-0\.5:0.125rem;--space-1:0.25rem;--space-1\.5:0.375rem;--space-2:0.5rem;--space-2\.5:0.625rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--sidebar-width:240px;--content-max:80rem;--content-max-wide:110rem;--content-max-ultrawide:160rem;--breakpoint-3xl:90rem;--shadow:0 8px 18px rgb(9 9 11/0.08)}:root[data-theme=dark]{--shadow:0 14px 28px rgb(0 0 0/0.45)}@layer base{:root{font-family:var(--font-sans);line-height:var(--leading-base);font-weight:var(--weight-regular)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:color-mix(in oklch,var(--accent) 30%,transparent);color:var(--foreground)}button,input,select,textarea{font:inherit}}@keyframes cashflowSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background-color:var(--muted);background-image:linear-gradient(100deg,transparent 25%,color-mix(in oklch,var(--gradient-hero-from) 22%,transparent) 42%,color-mix(in oklch,var(--gradient-hero-to) 22%,transparent) 58%,transparent 75%);background-size:200% 100%;background-repeat:no-repeat;animation:cashflowSkeletonShimmer 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.skeleton-shimmer{background-image:none;animation:none}}@layer components{.ca-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:var(--radius-lg);font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-body);line-height:1;cursor:pointer;border:1px solid transparent;background:var(--primary);color:var(--primary-foreground);transition:background-color .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.ca-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-btn:disabled{opacity:.5;cursor:not-allowed}.ca-btn[data-size=sm]{height:36px;padding:0 12px}.ca-btn[data-size=default]{height:40px;padding:0 16px}.ca-btn[data-size=lg]{height:44px;padding:0 32px;font-size:var(--text-body-lg)}.ca-btn[data-size=icon]{height:40px;width:40px;padding:0}.ca-btn[data-variant=default],.ca-btn[data-variant=primary]{background:var(--primary);color:var(--primary-foreground)}.ca-btn[data-variant=default]:hover:not(:disabled),.ca-btn[data-variant=primary]:hover:not(:disabled){background:color-mix(in oklch,var(--primary) 88%,black)}.ca-btn[data-variant=secondary]{background:var(--card);color:var(--foreground);border-color:var(--border)}.ca-btn[data-variant=secondary]:hover:not(:disabled){background:var(--muted)}.ca-btn[data-variant=outline]{background:transparent;color:var(--foreground);border-color:var(--input)}.ca-btn[data-variant=outline]:hover:not(:disabled){background:var(--accent)}.ca-btn[data-variant=ghost]{background:transparent;color:var(--foreground);border-color:color-mix(in oklch,var(--border) 60%,transparent)}.ca-btn[data-variant=ghost]:hover:not(:disabled){background:var(--accent)}.ca-btn[data-variant=danger],.ca-btn[data-variant=destructive]{background:color-mix(in oklch,var(--destructive) 12%,transparent);color:var(--destructive);border-color:var(--destructive)}.ca-btn[data-variant=danger]:hover:not(:disabled),.ca-btn[data-variant=destructive]:hover:not(:disabled){background:color-mix(in oklch,var(--destructive) 20%,transparent)}.ca-btn[data-variant=link]{background:transparent;color:var(--text-link);border-color:transparent;text-underline-offset:4px}.ca-btn[data-variant=link]:hover:not(:disabled){text-decoration:underline}@media (prefers-reduced-motion:reduce){.ca-btn{transition:none}}.ca-accordion{border-top:1px solid var(--border);font-family:var(--font-sans)}.ca-accordion__item{border-bottom:1px solid var(--border)}.ca-accordion__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:14px 2px;font-size:var(--text-body-lg);font-weight:var(--weight-semibold);color:var(--foreground);font-family:var(--font-sans);border-radius:var(--radius-sm)}.ca-accordion__trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-accordion__chevron{flex:none;transition:transform .2s}.ca-accordion__trigger[data-state=open] .ca-accordion__chevron{transform:rotate(180deg)}.ca-accordion__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.ca-accordion__panel[data-state=open]{grid-template-rows:1fr}.ca-accordion__panel-inner{overflow:hidden}.ca-accordion__content{padding:0 2px 16px;font-size:var(--text-body);color:var(--muted-foreground);line-height:1.5}@media (prefers-reduced-motion:reduce){.ca-accordion__chevron,.ca-accordion__panel{transition:none}}.ca-avatar{position:relative;display:inline-flex;flex-shrink:0;border-radius:50%;background:var(--muted);color:var(--muted-foreground)}.ca-avatar__img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.ca-avatar__fallback{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-family:var(--font-sans);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ca-avatar__status{position:absolute;right:0;bottom:0;border-radius:50%;border:2px solid var(--background)}.ca-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;flex-shrink:0;align-items:center;justify-content:center;gap:4px;border-radius:var(--radius-md);padding:2px 8px;font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);line-height:1.25;white-space:nowrap}.ca-badge[data-variant=default]{background:var(--primary);color:var(--primary-foreground);border:1px solid transparent}.ca-badge[data-variant=secondary]{background:var(--muted);color:var(--foreground);border:1px solid transparent}.ca-badge[data-variant=destructive]{background:var(--destructive);color:var(--destructive-foreground);border:1px solid transparent}.ca-badge[data-variant=outline]{background:transparent;color:var(--foreground);border:1px solid var(--border)}.ca-badge[data-variant=success]{background:var(--success-bg);color:var(--success-foreground);border:1px solid transparent}.ca-badge[data-variant=count]{background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border);text-transform:uppercase;font-weight:var(--weight-bold);font-size:.68rem;padding:4px 10px}.ca-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow);padding:20px}.ca-card-header{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.ca-card-title{font-weight:var(--weight-semibold);letter-spacing:-.01em;font-size:var(--text-headline-sm);color:var(--foreground)}.ca-card-description{font-size:var(--text-body);line-height:1.5}.ca-card-description,.ca-kbd{color:var(--muted-foreground)}.ca-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-sm);border:solid var(--border);border-width:1px 1px 2px;background:var(--muted);font-family:var(--font-mono);font-size:.72rem;line-height:1}.ca-link{color:var(--text-link);font-family:var(--font-sans);font-weight:var(--weight-medium);text-decoration:none;text-underline-offset:3px;-webkit-text-decoration-color:color-mix(in oklch,currentColor 45%,transparent);text-decoration-color:color-mix(in oklch,currentColor 45%,transparent);cursor:pointer;border-radius:2px}.ca-link[data-variant=muted]{color:var(--muted-foreground)}.ca-link[data-variant=subtle]{color:var(--foreground)}.ca-link:hover{text-decoration:underline}.ca-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-progress{display:flex;flex-direction:column;gap:6px;width:100%}.ca-progress__head{display:flex;justify-content:space-between;font-size:var(--text-body-sm);font-family:var(--font-sans)}.ca-progress__label{color:var(--muted-foreground)}.ca-progress__value{color:var(--foreground);font-family:var(--font-mono);font-weight:var(--weight-semibold)}.ca-progress__fill{display:block;height:100%;border-radius:99px;transition:width .3s ease}.ca-progress__track{position:relative;overflow:hidden;width:100%;border-radius:99px;background:var(--muted)}.ca-progress__sweep{position:absolute;top:0;left:0;height:100%;width:40%;border-radius:99px;animation:ca-prog 1.1s ease-in-out infinite}@keyframes ca-prog{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){.ca-progress__sweep{animation:none;left:30%}}.ca-separator{border:0}hr.ca-separator{height:1px;width:100%;margin:0;background:var(--border)}.ca-separator[data-orientation=vertical]{display:inline-block;width:1px;align-self:stretch;min-height:1em;background:var(--border)}.ca-separator--labeled{display:flex;align-items:center;gap:12px}.ca-separator__rule{flex:1 1;height:1px;background:var(--border)}.ca-separator__label{font-size:var(--text-body-sm);color:var(--muted-foreground);font-family:var(--font-sans);white-space:nowrap}.ca-spinner{display:inline-block}.ca-spinner svg{display:block;animation:ca-spin .7s linear infinite}@keyframes ca-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ca-spinner svg{animation:none}}.ca-text{margin:0}.ca-letter-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;background:var(--ca-avatar-bg);color:var(--ca-avatar-fg)}.ca-letter-avatar[data-size=sm]{width:24px;height:24px;font-size:12px}.ca-letter-avatar[data-size=md]{width:32px;height:32px;font-size:16px}.ca-letter-avatar[data-size=lg]{width:48px;height:48px;font-size:24px}.ca-letter-avatar[data-size=xl]{width:64px;height:64px;font-size:32px}.ca-stat-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);font-family:var(--font-sans)}.ca-stat-card__label{margin:0;font-size:var(--text-label);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.02em;color:var(--muted-foreground)}.ca-stat-card__value{margin:0;font-size:1.55rem;font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--foreground);white-space:nowrap}.ca-stat-card__hint{margin:0;font-size:var(--text-body-sm);line-height:1.4;color:var(--muted-foreground)}.ca-stat-card__delta-wrap{margin:0}.ca-stat-card__delta{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-md);border:1px solid;padding:2px 6px;font-size:var(--text-body-sm);font-weight:var(--weight-semibold)}.ca-stat-card__delta[data-tone=positive]{background:color-mix(in srgb,var(--positive) 16%,transparent);border-color:color-mix(in srgb,var(--positive) 45%,var(--border));color:var(--positive)}.ca-stat-card__delta[data-tone=negative]{background:color-mix(in srgb,var(--destructive) 14%,transparent);border-color:color-mix(in srgb,var(--destructive) 45%,var(--border));color:var(--destructive)}.ca-stat-card__delta[data-tone=neutral]{background:transparent;border-color:var(--border);color:var(--muted-foreground)}.ca-table-container{position:relative;width:100%;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card)}.ca-table{width:100%;border-collapse:collapse;font-size:var(--text-body);font-family:var(--font-sans);caption-side:bottom}.ca-table-row{border-bottom:1px solid var(--border);background:transparent;transition:background-color .15s}.ca-table tbody tr.ca-table-row:hover:not([data-state=selected]){background:color-mix(in oklch,var(--muted) 45%,transparent)}.ca-table-row[data-state=selected]{background:var(--muted)}.ca-table-head{height:40px;padding:0 12px;text-align:left;font-size:var(--text-body-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.02em;color:color-mix(in oklch,var(--muted-foreground) 78%,var(--primary))}.ca-table-cell,.ca-table-head{white-space:nowrap;vertical-align:middle}.ca-table-cell{padding:10px 12px;color:var(--foreground)}@media (prefers-reduced-motion:reduce){.ca-table-row{transition:none}}.ca-tabs{flex-wrap:wrap;gap:4px;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in oklch,var(--muted) 55%,transparent);padding:4px}.ca-tabs,.ca-tabs-trigger{display:inline-flex;font-family:var(--font-sans)}.ca-tabs-trigger{align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--radius-md);border:none;padding:6px 12px;font-size:var(--text-body);font-weight:var(--weight-medium);cursor:pointer;transition:color .15s,background-color .15s,box-shadow .15s;background:transparent;color:color-mix(in oklch,var(--muted-foreground) 80%,var(--foreground));box-shadow:none;-webkit-tap-highlight-color:transparent}.ca-tabs-trigger:hover:not([data-state=active]){color:var(--foreground);background:color-mix(in oklch,var(--card) 60%,transparent)}.ca-tabs-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-tabs-trigger[data-state=active]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow)}@media (prefers-reduced-motion:reduce){.ca-tabs-trigger{transition:none}}.ca-alert{display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-lg);border:1px solid var(--border);background:transparent;color:var(--foreground);padding:12px;font-size:var(--text-body);font-family:var(--font-sans)}.ca-alert[data-variant=info]{border-color:color-mix(in srgb,var(--primary) 44%,var(--border));background:color-mix(in srgb,var(--primary) 11%,transparent)}.ca-alert[data-variant=error]{border-color:color-mix(in srgb,var(--danger) 44%,var(--border));background:color-mix(in srgb,var(--danger) 11%,transparent)}.ca-alert[data-variant=warning]{border-color:color-mix(in srgb,var(--warning) 44%,var(--border));background:color-mix(in srgb,var(--warning) 11%,transparent)}.ca-alert[data-variant=success]{border-color:color-mix(in srgb,var(--success) 44%,var(--border));background:color-mix(in srgb,var(--success) 11%,transparent)}.ca-alert__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ca-alert__title{margin:0;font-weight:var(--weight-semibold)}.ca-alert__action{flex-shrink:0}.ca-alert__body{font-size:var(--text-body);line-height:1.45}.ca-empty-state{border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in oklch,var(--muted) 20%,transparent);padding:16px;font-size:var(--text-body);font-family:var(--font-sans)}.ca-empty-state__title{margin:0 0 4px;font-weight:var(--weight-semibold);color:var(--muted-foreground)}.ca-empty-state__description{margin:0;line-height:1.5;color:var(--muted-foreground)}.ca-empty-state__actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}@keyframes caSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ca-skeleton{border-radius:var(--radius-md);background-color:var(--muted);background-image:linear-gradient(100deg,transparent 25%,color-mix(in oklch,var(--gradient-hero-from) 22%,transparent) 42%,color-mix(in oklch,var(--gradient-hero-to) 22%,transparent) 58%,transparent 75%);background-size:200% 100%;background-repeat:no-repeat;animation:caSkeletonShimmer 1.6s ease-in-out infinite}.ca-skeleton-text{display:flex;flex-direction:column;gap:8px}@media (prefers-reduced-motion:reduce){.ca-skeleton{background-image:none;animation:none}}.ca-account-card{display:flex;flex-direction:column;gap:14px;width:100%;text-align:left;box-sizing:border-box;padding:16px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--card);color:var(--foreground);box-shadow:var(--shadow);cursor:default;font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.ca-account-card-head{display:flex;align-items:center;gap:10px}.ca-account-card-glyph{width:34px;height:34px;flex:none;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.ca-account-card-meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}.ca-account-card-name{font-size:var(--text-body);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ca-account-card-sub{font-size:var(--text-body-sm);color:var(--muted-foreground);font-family:var(--font-mono)}.ca-account-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.ca-account-card-balance{display:flex;flex-direction:column;gap:2px}.ca-account-card-label{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--weight-semibold);color:var(--muted-foreground)}.ca-account-card-amount{font-size:var(--text-headline-sm);font-weight:var(--weight-bold);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ca-account-card-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-account-card-status[data-status=error]{color:var(--destructive)}.ca-account-card-dot{width:7px;height:7px;border-radius:50%}.ca-account-card[data-selected=true]{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 30%,transparent),var(--shadow)}.ca-account-card[data-interactive=true]{cursor:pointer}.ca-account-card[data-interactive=true]:hover{border-color:var(--ring)}.ca-account-card[data-interactive=true]:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ca-account-card{transition:none}}.ca-amount{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ca-category-breakdown__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.ca-category-breakdown__heading{display:grid;grid-gap:4px;gap:4px;min-width:0}.ca-category-breakdown__rows{display:flex;flex-direction:column;gap:12px}.ca-category-breakdown__row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;grid-gap:16px;gap:16px}.ca-category-breakdown__amount{justify-self:end;white-space:nowrap}button.ca-category-breakdown__row{width:100%;text-align:inherit;font:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:var(--radius-md);padding:6px 8px;margin:-6px -8px}button.ca-category-breakdown__row:hover{background:color-mix(in oklch,var(--muted) 60%,transparent)}button.ca-category-breakdown__row:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-category-pill{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;flex-shrink:0;border-radius:var(--radius-md);border:1px solid transparent;cursor:default;font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-medium);line-height:1.3;white-space:nowrap;gap:6px;padding:3px 10px 3px 7px}.ca-category-pill[data-size=sm]{gap:5px;padding:2px 8px 2px 6px}.ca-category-pill-icon{flex:none}button.ca-category-pill{cursor:pointer}button.ca-category-pill:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-sparkline{display:inline-block;vertical-align:middle;overflow:visible}.ca-budget-meter{display:flex;flex-direction:column;gap:7px;width:100%;font-family:var(--font-sans)}.ca-budget-meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ca-budget-meter-label{font-size:var(--text-body);font-weight:var(--weight-semibold)}.ca-budget-meter-readout{font-size:var(--text-body-sm);font-family:var(--font-mono);color:var(--muted-foreground)}.ca-budget-meter-spent{color:var(--foreground);font-weight:var(--weight-semibold)}.ca-budget-meter[data-tone=over] .ca-budget-meter-spent{color:var(--negative)}.ca-budget-meter-track{position:relative;overflow:hidden;height:8px;width:100%;border-radius:99px;background:var(--muted)}.ca-budget-meter-foot{font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-budget-meter[data-tone=over] .ca-budget-meter-foot{color:var(--negative)}.ca-budget-meter [data-slot=budget-meter-fill]{display:block;height:100%;border-radius:99px;transition:width .3s ease}@media (prefers-reduced-motion:reduce){.ca-budget-meter [data-slot=budget-meter-fill]{transition:none}}.ca-import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px 24px;border-radius:var(--radius-xl);cursor:pointer;font-family:var(--font-sans);border:1.5px dashed var(--input);background:var(--card);color:var(--foreground);transition:border-color .15s,background-color .15s}.ca-import-dropzone[data-drag=true]{border-color:var(--ring);background:color-mix(in oklch,var(--ring) 8%,var(--card))}.ca-import-dropzone-icon{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in oklch,var(--primary) 12%,transparent);color:var(--primary)}.ca-import-dropzone-body{display:flex;flex-direction:column;gap:2px}.ca-import-dropzone-prompt{display:flex;flex-direction:column;gap:3px}.ca-import-dropzone-title{font-size:var(--text-body);font-weight:var(--weight-semibold)}.ca-import-dropzone-sub{font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-import-dropzone-sub--mono{font-family:var(--font-mono)}.ca-import-dropzone-browse{color:var(--text-link)}.ca-import-dropzone:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ca-import-dropzone{transition:none}}.ca-money-input-root{display:inline-flex;align-items:stretch;width:-moz-fit-content;width:fit-content;border-radius:var(--radius-md);border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);overflow:hidden;font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.ca-money-input-root[data-size=default]{height:36px}.ca-money-input-root[data-size=sm]{height:32px}.ca-money-input-root:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 35%,transparent)}.ca-money-input-root[data-invalid=true]{border-color:var(--destructive)}.ca-money-input-root[data-invalid=true]:focus-within{box-shadow:0 0 0 3px color-mix(in oklch,var(--destructive) 35%,transparent)}.ca-money-input-root[data-disabled=true]{opacity:.6}.ca-money-input{width:96px;border:none;outline:none;background:transparent;text-align:right;padding:0 10px 0 2px;font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ca-money-input-toggle{flex:none;border:none;border-right:1px solid var(--border);font-family:var(--font-mono);font-size:16px;font-weight:var(--weight-bold);cursor:pointer}.ca-money-input-toggle:disabled{cursor:not-allowed}.ca-money-input-affix{display:inline-flex;align-items:center;color:var(--muted-foreground)}.ca-money-input-affix--symbol{padding-left:10px;padding-right:2px}.ca-money-input-affix--code{padding-right:10px;font-family:var(--font-mono);font-size:var(--text-body-sm)}.ca-money-input-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.ca-money-input-root{transition:none}}.ca-period-selector{position:relative;display:inline-block;font-family:var(--font-sans)}.ca-period-selector-trigger{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--input);background:var(--card);color:var(--foreground);cursor:pointer;font-size:var(--text-body);font-weight:var(--weight-medium);font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.ca-period-selector[data-size=sm] .ca-period-selector-trigger{height:32px;font-size:var(--text-body-sm)}.ca-period-selector-trigger[data-open=true]{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 35%,transparent)}.ca-period-selector-item:focus-visible,.ca-period-selector-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-period-selector-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:none;border-radius:var(--radius-sm);padding:8px 9px;cursor:pointer;font-size:var(--text-body);font-family:var(--font-sans);background:transparent;color:var(--foreground)}.ca-period-selector-item:hover:not([data-active=true]){background:var(--muted)}.ca-period-selector-item[data-active=true]{background:var(--accent);color:var(--accent-foreground)}.ca-period-selector-cal{flex:none}.ca-period-selector-chevron{flex:none;transition:transform .2s}.ca-period-selector-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:70;min-width:200px;padding:4px;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.ca-period-selector-custom{display:flex;flex-direction:column;gap:8px;padding:10px 9px 6px;border-top:1px solid var(--border);margin-top:4px}.ca-period-selector-field{display:flex;flex-direction:column;gap:4px;font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-period-selector-date{height:32px;border-radius:var(--radius-sm);border:1px solid var(--input);padding:0 8px;font-family:var(--font-sans);font-size:var(--text-body-sm);background:var(--background);color:var(--foreground)}@media (prefers-reduced-motion:reduce){.ca-period-selector-chevron,.ca-period-selector-trigger{transition:none}}.ca-checkbox{width:18px;height:18px;flex:none;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);color:var(--primary-foreground);cursor:pointer;transition:background-color .15s,border-color .15s}.ca-checkbox[data-state=checked],.ca-checkbox[data-state=indeterminate]{border-color:var(--primary);background:var(--primary)}.ca-checkbox:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-checkbox:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ca-checkbox{transition:none}}.ca-combobox{position:relative;display:inline-block;min-width:220px;font-family:var(--font-sans)}.ca-combobox-control{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:var(--radius-md);border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);cursor:text;box-shadow:none;transition:border-color .15s,box-shadow .15s}.ca-combobox[data-size=sm] .ca-combobox-control{height:30px}.ca-combobox-control[data-state=open]{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 35%,transparent)}.ca-combobox-icon{flex:none}.ca-combobox-input{flex:1 1;border:none;outline:none;background:transparent;font-size:var(--text-body);font-family:var(--font-sans);color:var(--foreground);min-width:0}.ca-combobox[data-size=sm] .ca-combobox-input{font-size:var(--text-body-sm)}.ca-combobox-input:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.ca-combobox-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:70;max-height:240px;overflow-y:auto;padding:4px;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.ca-combobox-empty{padding:10px 9px;font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-combobox-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:none;border-radius:var(--radius-sm);padding:8px 9px;cursor:pointer;font-size:var(--text-body);font-family:var(--font-sans);background:transparent;color:var(--foreground)}.ca-combobox-option:hover:not([data-active=true]){background:var(--muted)}.ca-combobox-option[data-active=true]{background:var(--accent);color:var(--accent-foreground)}.ca-combobox-option:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.ca-combobox-hint{font-size:var(--text-body-sm);color:var(--muted-foreground);font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){.ca-combobox-control{transition:none}}.ca-input{height:36px;width:100%;border-radius:var(--radius-md);border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);padding:0 12px;font-size:var(--text-body);font-family:var(--font-sans);color:var(--foreground);outline:none;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.ca-input::placeholder{color:var(--muted-foreground)}.ca-input:focus-visible{border-color:var(--ring);outline:2px solid var(--ring);outline-offset:2px}.ca-input[aria-invalid=true]{border-color:var(--destructive)}.ca-input[aria-invalid=true]:focus-visible{outline-color:var(--destructive)}.ca-input:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ca-input{transition:none}}.ca-label{display:grid;grid-gap:4px;gap:4px;font-size:.82rem;font-weight:var(--weight-semibold);color:var(--muted-foreground)}.ca-label,.ca-native-select{font-family:var(--font-sans)}.ca-native-select{min-height:34px;border-radius:var(--radius-md);border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);padding:0 12px;font-size:var(--text-body);color:var(--foreground);outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}.ca-native-select[data-size=sm]{min-height:30px;padding:0 8px;font-size:var(--text-body-sm)}.ca-native-select:focus-visible{border-color:var(--ring);outline:2px solid var(--ring);outline-offset:2px}.ca-native-select:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ca-native-select{transition:none}}.ca-radio-group{display:flex;flex-direction:column;gap:10px;font-family:var(--font-sans)}.ca-radio-group[data-orientation=horizontal]{flex-direction:row;gap:20px}.ca-radio-group-item{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-body);color:var(--foreground)}.ca-radio-group[data-disabled] .ca-radio-group-item{cursor:not-allowed;opacity:.5}.ca-radio-group-control{width:18px;height:18px;flex:none;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);cursor:pointer;transition:border-color .15s}.ca-radio-group-control[data-state=checked]{border-color:var(--primary)}.ca-radio-group-control:disabled{cursor:not-allowed}.ca-radio-group-control:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-radio-group-dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}@media (prefers-reduced-motion:reduce){.ca-radio-group-control{transition:none}}.ca-slider{display:flex;flex-direction:column;gap:8px;width:100%}.ca-slider[data-disabled]{opacity:.5}.ca-slider-value{font-size:var(--text-body-sm);font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--foreground);text-align:right}.ca-slider-track{position:relative;height:18px;display:flex;align-items:center}.ca-slider-rail{right:0;background:var(--muted)}.ca-slider-fill,.ca-slider-rail{position:absolute;left:0;height:5px;border-radius:99px}.ca-slider-fill{width:var(--ca-slider-pct,0);background:var(--primary)}.ca-slider-thumb{position:absolute;left:var(--ca-slider-pct,0);transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:var(--card);border:2px solid var(--primary);box-shadow:var(--shadow);pointer-events:none}.ca-slider-input{position:absolute;left:0;right:0;width:100%;height:18px;margin:0;opacity:0;cursor:pointer}.ca-slider-input:disabled{cursor:not-allowed}.ca-slider-input:focus-visible+.ca-slider-thumb{outline:2px solid var(--ring);outline-offset:2px}.ca-stepper{display:inline-flex;align-items:center;height:34px;border-radius:var(--radius-md);border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);font-family:var(--font-sans)}.ca-stepper[data-size=sm]{height:30px}.ca-stepper[data-disabled]{opacity:.6}.ca-stepper-btn{width:34px;height:34px;flex:none;border:none;background:transparent;color:var(--foreground);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s}.ca-stepper[data-size=sm] .ca-stepper-btn{width:30px;height:30px}.ca-stepper-btn:hover:not(:disabled){background:var(--muted)}.ca-stepper-btn:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.ca-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.ca-stepper-value{min-width:52px;text-align:center;padding:0 4px;font-size:var(--text-body);font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--foreground);border-left:1px solid var(--border);border-right:1px solid var(--border);align-self:stretch;display:inline-flex;align-items:center;justify-content:center}.ca-stepper[data-size=sm] .ca-stepper-value{font-size:var(--text-body-sm)}@media (prefers-reduced-motion:reduce){.ca-stepper-btn{transition:none}}.ca-switch{position:relative;width:38px;height:22px;flex:none;border-radius:22px;border:none;padding:0;cursor:pointer;background:color-mix(in oklch,var(--muted-foreground) 35%,transparent);transition:background-color .15s}.ca-switch[data-size=sm]{width:32px;height:18px;border-radius:18px}.ca-switch[data-state=checked]{background:var(--primary)}.ca-switch:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-switch:disabled{opacity:.5;cursor:not-allowed}.ca-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--card);box-shadow:var(--shadow);transform:translateX(0);transition:transform .15s}.ca-switch[data-size=sm] .ca-switch-thumb{width:14px;height:14px}.ca-switch[data-state=checked] .ca-switch-thumb{transform:translateX(16px)}.ca-switch[data-size=sm][data-state=checked] .ca-switch-thumb{transform:translateX(14px)}@media (prefers-reduced-motion:reduce){.ca-switch,.ca-switch-thumb{transition:none}}.ca-textarea{min-height:64px;width:100%;border-radius:var(--radius-md);border:1px solid var(--input);background:color-mix(in oklch,var(--background) 70%,transparent);padding:8px 12px;font-size:var(--text-body);font-family:var(--font-sans);color:var(--foreground);outline:none;resize:vertical;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.ca-textarea::placeholder{color:var(--muted-foreground)}.ca-textarea:focus-visible{border-color:var(--ring);outline:2px solid var(--ring);outline-offset:2px}.ca-textarea[aria-invalid=true]{border-color:var(--destructive)}.ca-textarea[aria-invalid=true]:focus-visible{outline-color:var(--destructive)}.ca-textarea:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ca-textarea{transition:none}}.ca-toggle-group{gap:4px;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in oklch,var(--muted) 55%,transparent);padding:4px}.ca-toggle-group,.ca-toggle-group-item{display:inline-flex;font-family:var(--font-sans)}.ca-toggle-group-item{align-items:center;justify-content:center;gap:6px;white-space:nowrap;border-radius:var(--radius-md);border:none;padding:7px 13px;font-size:var(--text-body);font-weight:var(--weight-medium);cursor:pointer;transition:color .15s,background-color .15s,box-shadow .15s;background:transparent;color:color-mix(in oklch,var(--muted-foreground) 80%,var(--foreground));box-shadow:none}.ca-toggle-group[data-size=sm] .ca-toggle-group-item{padding:5px 10px;font-size:var(--text-body-sm)}.ca-toggle-group-item:hover:not([data-state=on]){color:var(--foreground)}.ca-toggle-group-item[data-state=on]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow)}.ca-toggle-group-item:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-toggle-group-item-icon{display:inline-flex}@media (prefers-reduced-motion:reduce){.ca-toggle-group-item{transition:none}}.ca-breadcrumb{font-family:var(--font-sans)}.ca-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;margin:0;padding:0;font-size:var(--text-body)}.ca-breadcrumb li{display:inline-flex;align-items:center;gap:6px}.ca-breadcrumb a{color:var(--muted-foreground);text-decoration:none;transition:color .15s}.ca-breadcrumb a:hover{color:var(--foreground)}.ca-breadcrumb a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-breadcrumb [data-slot=breadcrumb-page]{color:var(--muted-foreground);font-weight:var(--weight-regular)}.ca-breadcrumb [data-slot=breadcrumb-page][aria-current=page]{color:var(--foreground);font-weight:var(--weight-semibold)}@media (prefers-reduced-motion:reduce){.ca-breadcrumb a{transition:none}}.ca-pagination{display:flex;align-items:center;gap:6px}.ca-pagination button{min-width:34px;height:34px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.ca-pagination button:hover:not(:disabled):not([aria-current=page]){background:var(--muted)}.ca-pagination button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-pagination button:disabled{opacity:.4;cursor:not-allowed}.ca-pagination button[aria-current=page]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);font-weight:var(--weight-semibold)}.ca-pagination [data-slot=pagination-ellipsis]{min-width:24px;text-align:center;color:var(--muted-foreground);font-family:var(--font-sans)}@media (prefers-reduced-motion:reduce){.ca-pagination button{transition:none}}.ca-dialog-scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--foreground) 45%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-family:var(--font-sans)}.ca-dialog{width:100%;background:var(--popover);color:var(--popover-foreground);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:14px}.ca-dialog[data-size=sm]{max-width:360px}.ca-dialog[data-size=default]{max-width:480px}.ca-dialog[data-size=lg]{max-width:640px}.ca-dialog-header{display:flex;flex-direction:column;gap:4px}.ca-dialog-title{margin:0;font-size:var(--text-headline-sm);font-weight:var(--weight-semibold)}.ca-dialog-description{margin:0;font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-dialog-body{font-size:var(--text-body);line-height:1.5}.ca-dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.ca-dropdown{position:relative}.ca-dropdown,.ca-dropdown-trigger{display:inline-flex}.ca-dropdown-menu{position:absolute;top:calc(100% + 6px);z-index:70;min-width:180px;padding:4px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);font-family:var(--font-sans)}.ca-dropdown-menu[data-align=start]{left:0}.ca-dropdown-menu[data-align=end]{right:0}.ca-dropdown-separator{height:1px;background:var(--border);margin:4px 0}.ca-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--radius-sm);padding:8px 9px;font-size:var(--text-body);font-family:var(--font-sans);color:var(--foreground);cursor:pointer;transition:background-color .15s}.ca-dropdown-item[data-danger=true]{color:var(--destructive)}.ca-dropdown-item:hover:not(:disabled),.ca-dropdown-item[data-highlighted]:not(:disabled){background:var(--muted)}.ca-dropdown-item[data-danger=true]:hover:not(:disabled),.ca-dropdown-item[data-danger=true][data-highlighted]:not(:disabled){background:color-mix(in srgb,var(--destructive) 12%,transparent)}.ca-dropdown-item:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-dropdown-item:disabled{cursor:not-allowed;opacity:.5}.ca-dropdown-item-icon{display:inline-flex;flex:none}.ca-dropdown-item-label{flex:1 1}.ca-dropdown-item-shortcut{font-size:var(--text-body-sm);color:var(--muted-foreground);font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){.ca-dropdown-item{transition:none}}.ca-toast{position:relative;display:flex;align-items:flex-start;gap:12px;width:340px;max-width:100%;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:12px 14px;font-family:var(--font-sans)}.ca-toast[data-variant=default]{border-left-color:var(--primary)}.ca-toast[data-variant=success]{border-left-color:var(--success)}.ca-toast[data-variant=error]{border-left-color:var(--danger)}.ca-toast[data-variant=warning]{border-left-color:var(--warning)}.ca-toast[data-variant=info]{border-left-color:var(--info)}.ca-toast-content{flex:1 1;display:flex;flex-direction:column;gap:2px}.ca-toast-title{margin:0;font-size:var(--text-body);font-weight:var(--weight-semibold)}.ca-toast-body{margin:0;font-size:var(--text-body-sm);color:var(--muted-foreground);line-height:1.45}.ca-toast-action{margin-top:6px}.ca-toast-close{flex:none;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;padding:2px;line-height:0;border-radius:var(--radius-sm);transition:color .15s}.ca-toast-close:hover{color:var(--foreground)}.ca-toast-close:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ca-toast-close{transition:none}}.ca-tooltip{position:relative;display:inline-flex}.ca-tooltip-bubble{position:absolute;z-index:60;white-space:nowrap;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:5px 9px;font-size:var(--text-body-sm);font-family:var(--font-sans);pointer-events:none}.ca-tooltip-bubble[data-side=top]{bottom:100%;left:50%;margin-bottom:8px;transform:translateX(-50%)}.ca-tooltip-bubble[data-side=bottom]{top:100%;left:50%;margin-top:8px;transform:translateX(-50%)}.ca-tooltip-bubble[data-side=left]{right:100%;top:50%;margin-right:8px;transform:translateY(-50%)}.ca-tooltip-bubble[data-side=right]{left:100%;top:50%;margin-left:8px;transform:translateY(-50%)}.ca-now-playing-artwork{position:relative;width:100%;max-width:280px;aspect-ratio:1/1;flex-shrink:0;border-radius:var(--radius-xl);overflow:hidden;background:var(--muted);box-shadow:var(--shadow)}.ca-now-playing-artwork__img,.ca-now-playing-artwork__placeholder{position:absolute;inset:0;width:100%;height:100%}.ca-now-playing-artwork__img{object-fit:cover}.ca-now-playing-artwork__eq{position:absolute;right:12px;bottom:12px;display:flex;align-items:flex-end;gap:3px;height:22px;padding:6px 8px;border-radius:var(--radius-md);background:color-mix(in oklch,var(--background) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ca-now-playing-artwork__bar{width:3px;height:100%;border-radius:2px;background:var(--primary);transform-origin:bottom;animation:ca-now-playing-eq .9s ease-in-out infinite}@keyframes ca-now-playing-eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.ca-now-playing-artwork__bar{animation:none;transform:scaleY(.6)}}.ca-track-info{display:flex;flex-direction:column;gap:8px;min-width:0;font-family:var(--font-sans)}.ca-track-info__title{font-size:var(--text-headline);font-weight:var(--weight-bold);color:var(--foreground)}.ca-track-info__source,.ca-track-info__title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-track-info__source{font-size:var(--text-body-lg);font-weight:var(--weight-medium);color:var(--muted-foreground)}.ca-track-info__link{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;margin-top:2px;padding:6px 10px;border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--primary);text-decoration:none;transition:background-color .14s ease}.ca-track-info__link:hover{background:var(--accent)}.ca-track-info__link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-track-info__link svg{flex:none}@media (prefers-reduced-motion:reduce){.ca-track-info__link{transition:none}}.ca-progress-bar{display:flex;flex-direction:column;gap:8px;width:100%;font-family:var(--font-sans)}.ca-progress-bar__track{position:relative;width:100%;height:8px;border-radius:var(--radius-full);background:var(--muted);overflow:visible;cursor:default}.ca-progress-bar__track[data-seekable=true]{cursor:pointer}.ca-progress-bar__track:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.ca-progress-bar__fill{top:0;left:0;height:100%;background:var(--primary);transition:width .12s linear}.ca-progress-bar__fill,.ca-progress-bar__thumb{position:absolute;border-radius:var(--radius-full)}.ca-progress-bar__thumb{top:50%;width:14px;height:14px;transform:translate(-50%,-50%);background:var(--foreground);box-shadow:var(--shadow);opacity:0;transition:opacity .16s ease}.ca-progress-bar__track[data-seekable=true]:focus-visible .ca-progress-bar__thumb,.ca-progress-bar__track[data-seekable=true]:hover .ca-progress-bar__thumb{opacity:1}.ca-progress-bar__times{display:flex;justify-content:space-between;font-size:var(--text-body-sm);font-family:var(--font-mono);color:var(--muted-foreground)}@media (prefers-reduced-motion:reduce){.ca-progress-bar__fill,.ca-progress-bar__thumb{transition:none}}.ca-playback-controls{display:flex;align-items:center;justify-content:center;gap:20px}.ca-playback-controls__btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);cursor:pointer;transition:background-color .14s ease,opacity .14s ease;-webkit-tap-highlight-color:transparent}.ca-playback-controls__btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-playback-controls__btn:disabled{opacity:.45;cursor:not-allowed}.ca-playback-controls__btn[data-variant=secondary]{width:44px;height:44px;border:1px solid var(--border);background:transparent;color:var(--foreground)}.ca-playback-controls__btn[data-variant=secondary]:hover:not(:disabled){background:var(--accent)}.ca-playback-controls__btn[data-variant=primary]{width:56px;height:56px;border:none;background:var(--primary);color:var(--primary-foreground)}.ca-playback-controls__btn[data-variant=primary]:hover:not(:disabled){background:color-mix(in oklch,var(--primary) 88%,black)}@media (prefers-reduced-motion:reduce){.ca-playback-controls__btn{transition:none}}.ca-media-player{display:flex;flex-direction:column;gap:24px;padding:24px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--card);color:var(--card-foreground)}.ca-media-player__row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.ca-media-player__artwork{flex:0 0 auto;width:min(240px,100%)}.ca-media-player__body{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:20px}.ca-queue-list__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ca-queue-list__title-group{display:flex;align-items:center;gap:8px}.ca-queue-list__now-playing{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px;margin-bottom:8px;border-bottom:1px solid var(--border)}.ca-queue-list__now-playing-text{min-width:0}.ca-queue-list__now-playing-label{font-size:var(--text-body-sm);color:var(--primary);font-weight:var(--weight-semibold)}.ca-queue-list__items{margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ca-queue-list__row{display:flex;align-items:center;gap:12px;padding:8px 4px;list-style:none;border-radius:var(--radius-md);transition:background-color .14s ease}.ca-queue-list__row:hover{background:var(--accent)}.ca-queue-list__row:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ca-queue-list__index{width:20px;text-align:right;font-size:var(--text-body-sm);font-family:var(--font-mono);color:var(--muted-foreground);flex:none}.ca-queue-list__main{min-width:0;flex:1 1}.ca-queue-list__track-title{font-size:var(--text-body);color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-queue-list__duration,.ca-queue-list__track-source{font-size:var(--text-body-sm);color:var(--muted-foreground)}.ca-queue-list__duration{font-family:var(--font-mono);flex:none}.ca-queue-list__remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-full);flex:none;transition:background-color .14s ease,color .14s ease}.ca-queue-list__remove:hover{background:color-mix(in oklch,var(--destructive) 12%,transparent);color:var(--destructive)}.ca-queue-list__remove:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ca-queue-list__remove,.ca-queue-list__row{transition:none}}}