@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_0bd9b6{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_0bd9b6{--font-display-next:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.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:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.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:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.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:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.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:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_7c5662{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_7c5662{--font-body-next:"Figtree","Figtree Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,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:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.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:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,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:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_5f926d{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_5f926d{--font-mono-next:"Geist Mono","Geist Mono Fallback"}:root{--paper:oklch(98% 0.004 300);--paper-2:oklch(95.5% 0.008 300);--paper-3:oklch(99.3% 0.002 300);--paper-ink:oklch(14% 0.02 295);--ink:oklch(17% 0.02 290);--ink-2:oklch(32% 0.015 290);--ink-3:oklch(46% 0.014 290);--ink-4:oklch(72% 0.010 290);--rule:oklch(88% 0.006 290);--rule-ink:oklch(34% 0.015 290);--rule-faint:oklch(93% 0.004 290);--brand:oklch(38% 0.195 305);--brand-deep:oklch(31% 0.195 305);--brand-tint:oklch(95.5% 0.035 305);--brand-ink:oklch(42% 0.18 305);--brand-soft:oklch(88% 0.07 305);--brand-light:oklch(65% 0.17 305);--herbal:oklch(44% 0.145 155);--herbal-tint:oklch(94% 0.035 155);--danger:oklch(48% 0.18 28);--danger-tint:oklch(94% 0.04 28);--warn:oklch(58% 0.15 70);--warn-tint:oklch(94% 0.05 70);--info:oklch(50% 0.12 240);--info-tint:oklch(94% 0.03 240);--font-display:var(--font-display-next),"Bricolage Grotesque",Georgia,"Times New Roman",serif;--font-body:var(--font-body-next),"Figtree",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:var(--font-mono-next),"Geist Mono","JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--fs-2xs:clamp(0.68rem,0.66rem + 0.08vw,0.72rem);--fs-xs:clamp(0.78rem,0.74rem + 0.15vw,0.86rem);--fs-sm:clamp(0.9rem,0.86rem + 0.2vw,1rem);--fs-base:clamp(1rem,0.96rem + 0.2vw,1.1rem);--fs-lg:clamp(1.12rem,1.05rem + 0.3vw,1.3rem);--fs-xl:clamp(1.35rem,1.2rem + 0.6vw,1.75rem);--fs-2xl:clamp(1.85rem,1.5rem + 1.4vw,2.75rem);--fs-3xl:clamp(2.5rem,1.9rem + 2.7vw,4rem);--fs-4xl:clamp(3rem,2rem + 4.5vw,6rem);--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--space-5xl:128px;--ease:cubic-bezier(0.23,1,0.32,1);--ease-soft:cubic-bezier(0.16,1,0.3,1);--ease-fast:cubic-bezier(0.32,0.72,0,1);--ease-io:cubic-bezier(0.77,0,0.175,1);--dur-press:110ms;--dur-fast:180ms;--dur:260ms;--dur-slow:520ms;--shadow-paper:0 1px 0 oklch(82% 0.010 85),0 8px 30px -18px oklch(17% 0.025 255/0.15);--shadow-card:0 1px 0 oklch(82% 0.010 85);--sidebar-w:232px;--topbar-h:56px;--container:1180px;--radius-sm:4px;--radius:8px;--radius-lg:14px}html[data-theme=dark]{--paper:oklch(14% 0.02 295);--paper-2:oklch(18% 0.02 295);--paper-3:oklch(11% 0.02 295);--paper-ink:oklch(22% 0.025 295);--ink:oklch(96% 0.005 300);--ink-2:oklch(80% 0.01 290);--ink-3:oklch(64% 0.012 290);--ink-4:oklch(42% 0.012 290);--rule:oklch(28% 0.01 290);--rule-ink:oklch(55% 0.015 290);--rule-faint:oklch(22% 0.008 290);--brand:oklch(72% 0.18 305);--brand-deep:oklch(82% 0.15 305);--brand-tint:oklch(24% 0.07 305);--brand-ink:oklch(78% 0.17 305);--brand-soft:oklch(30% 0.09 305);--brand-light:oklch(85% 0.14 305);--herbal:oklch(70% 0.15 155);--herbal-tint:oklch(24% 0.07 155);--danger:oklch(72% 0.17 28);--danger-tint:oklch(24% 0.08 28);--warn:oklch(78% 0.14 70);--warn-tint:oklch(24% 0.08 70);--info:oklch(70% 0.13 240);--info-tint:oklch(22% 0.07 240);--shadow-paper:0 1px 0 oklch(24% 0.008 290),0 8px 30px -18px oklch(0% 0 0/0.4);--shadow-card:0 1px 0 oklch(24% 0.008 290)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper);color-scheme:light dark}html[data-theme=dark]{color-scheme:dark}body{font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.5;color:var(--ink);background:radial-gradient(1200px 600px at 88% -10%,oklch(90% .08 305/.22),transparent 60%),radial-gradient(900px 500px at -10% 20%,oklch(94% .05 305/.18),transparent 55%),var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv01","cv11";overflow-x:hidden;min-height:100vh}html[data-theme=dark] body{background:radial-gradient(1200px 600px at 88% -10%,oklch(32% .1 305/.35),transparent 60%),radial-gradient(900px 500px at -10% 20%,oklch(24% .08 305/.28),transparent 55%),var(--paper)}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none}button,input,select,textarea{font-family:inherit;color:inherit}input,select,textarea{font-size:inherit;background:transparent;border:0}img,svg{display:block;max-width:100%}::selection{background:var(--brand-tint);color:var(--brand)}.display{font-family:var(--font-display);font-weight:800;letter-spacing:-.025em;line-height:.98;color:var(--ink)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}.rule{height:1px;background:var(--rule);border:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:10px;border:2px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--rule);background:var(--paper-3);display:flex;flex-direction:column;padding:var(--space-lg) 0 var(--space-md)}.sidebar-brand{display:flex;align-items:baseline;gap:var(--space-xs);padding:0 var(--space-lg) var(--space-lg);border-bottom:1px solid var(--rule-faint)}.sidebar-brand-mark{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.sidebar-brand-mark:after{content:"·";margin:0 6px;color:var(--ink-4)}.sidebar-brand-sub{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:var(--space-sm) var(--space-sm);display:flex;flex-direction:column;gap:2px}.sidebar-item{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);text-decoration:none}.sidebar-item:hover{background:var(--paper-2);color:var(--ink)}.sidebar-item[data-active=true]{background:var(--brand-tint);color:var(--brand);font-weight:600}.sidebar-item[data-active=true]:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:2px;background:var(--brand);border-radius:2px}.sidebar-item-icon{width:16px;height:16px;color:var(--ink-3);flex-shrink:0}.sidebar-item[data-active=true] .sidebar-item-icon{color:var(--brand)}.sidebar-item-label{flex:1 1}.sidebar-item-count{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-3);padding:1px 6px;border-radius:10px;background:var(--paper-2);min-width:20px;text-align:center}.sidebar-item-count[data-tone=warn]{background:var(--warn-tint);color:var(--warn)}.sidebar-item-count[data-tone=danger]{background:var(--danger-tint);color:var(--danger)}.sidebar-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--rule-faint);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-4);text-transform:uppercase;letter-spacing:.12em}.topbar{justify-content:space-between;height:var(--topbar-h);padding:0 var(--space-xl);border-bottom:1px solid var(--rule);background:color-mix(in oklch,var(--paper) 80%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar,.topbar-left{display:flex;align-items:center;gap:var(--space-md)}.topbar-left{min-width:0}.topbar-breadcrumb{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);display:flex;align-items:center;gap:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-breadcrumb-sep{color:var(--ink-4)}.topbar-breadcrumb-current{color:var(--ink)}.topbar-refresh,.topbar-right{display:flex;align-items:center;gap:var(--space-xs)}.topbar-refresh{padding:6px 10px;border-radius:var(--radius-sm);color:var(--ink-3);font-size:var(--fs-xs);font-family:var(--font-mono)}.topbar-refresh:hover{background:var(--paper-2);color:var(--ink)}.topbar-kbd-hint{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--rule);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-3);background:var(--paper-2)}.topbar-kbd-hint:hover{border-color:var(--ink-4);color:var(--ink-2)}.main{min-width:0;display:flex;flex-direction:column}.main-inner{padding:var(--space-xl) var(--space-xl) var(--space-3xl);max-width:1480px;width:100%;margin:0 auto;animation:page-in var(--dur-slow) var(--ease-soft)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--rule)}.page-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1}.page-subtitle{font-size:var(--fs-sm);color:var(--ink-3);margin-top:var(--space-xs)}.page-actions{display:flex;align-items:center;gap:var(--space-xs)}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main-inner{padding:var(--space-lg) var(--space-md) var(--space-2xl)}.page-header{flex-direction:column;align-items:flex-start}.topbar{padding:0 var(--space-md)}}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width:860px){.login-shell{grid-template-columns:1fr}}.login-aside{padding:var(--space-3xl) var(--space-2xl);display:flex;flex-direction:column;justify-content:space-between;background:var(--paper-3);border-right:1px solid var(--rule)}.login-main{display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.login-card{max-width:420px;width:100%;display:flex;flex-direction:column;gap:var(--space-lg)}.card{background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--rule-faint)}.card-title{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.card-body{padding:var(--space-lg)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.kpi-grid>*+*{border-left:1px solid var(--rule-faint)}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid>:nth-child(3){border-left:0}.kpi-grid>:nth-child(3),.kpi-grid>:nth-child(4){border-top:1px solid var(--rule-faint)}}@media (max-width:640px){.kpi-grid{grid-template-columns:1fr}.kpi-grid>*+*{border-left:0;border-top:1px solid var(--rule-faint)}}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-2xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-weight:500;line-height:1.4;white-space:nowrap}.badge[data-variant=activo]{background:var(--herbal-tint);color:var(--herbal)}.badge[data-variant=trial]{background:var(--brand-tint);color:var(--brand)}.badge[data-variant=pausado]{background:var(--paper-2);color:var(--ink-3)}.badge[data-variant=riesgo]{background:var(--danger-tint);color:var(--danger)}.badge[data-variant=warn]{background:var(--warn-tint);color:var(--warn)}.badge[data-variant=info]{background:var(--info-tint);color:var(--info)}.badge[data-variant=success]{background:var(--herbal-tint);color:var(--herbal)}.badge[data-variant=neutral]{background:var(--paper-2);color:var(--ink-2)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:8px 14px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:500;line-height:1;border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-press) var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn[data-variant=primary]{background:var(--brand);color:var(--paper-3);border-color:var(--brand)}.btn[data-variant=primary]:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}.btn[data-variant=secondary]{background:var(--paper-3);color:var(--ink);border-color:var(--rule)}.btn[data-variant=secondary]:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-4)}.btn[data-variant=ghost]{background:transparent;color:var(--ink-2)}.btn[data-variant=ghost]:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.btn[data-variant=danger]{background:var(--danger);color:var(--paper-3);border-color:var(--danger)}.btn[data-variant=danger]:hover:not(:disabled){filter:brightness(.92)}.btn[data-size=sm]{padding:5px 10px;font-size:var(--fs-xs)}.btn[data-size=lg]{padding:11px 20px;font-size:var(--fs-base)}.btn[data-full=true]{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--ink-3);background:transparent;border:1px solid transparent;transition:all var(--dur-fast) var(--ease)}.icon-btn:hover{background:var(--paper-2);color:var(--ink);border-color:var(--rule)}.input,.select{width:100%;padding:8px 12px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-3);font-size:var(--fs-sm);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.input:focus,.select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-tint)}.input::placeholder{color:var(--ink-4)}.data-table-wrap{background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.data-table-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--rule-faint);flex-wrap:wrap}.data-table-toolbar-search{flex:1 1;min-width:200px;max-width:320px}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table thead{background:var(--paper-2)}.data-table th{padding:10px 14px;text-align:left;font-weight:500;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--rule);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid var(--rule-faint);color:var(--ink);vertical-align:middle}.data-table tbody tr{transition:background var(--dur-fast) var(--ease)}.data-table tbody tr:hover{background:var(--paper-2)}.data-table tbody tr[data-selected=true]{background:var(--brand-tint)}.data-table tbody tr[data-focused=true]{outline:2px solid var(--brand);outline-offset:-2px}.data-table-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-top:1px solid var(--rule-faint);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.data-table-empty{padding:var(--space-2xl);text-align:center;color:var(--ink-3)}.bulk-bar{position:-webkit-sticky;position:sticky;bottom:var(--space-lg);margin:var(--space-md) auto 0;display:flex;align-items:center;gap:var(--space-sm);padding:8px var(--space-md);background:var(--ink);color:var(--paper);border-radius:999px;box-shadow:0 8px 28px -12px oklch(0 0 0/.35);width:-moz-fit-content;width:fit-content;animation:bulk-in .24s var(--ease-soft);z-index:10}@keyframes bulk-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.bulk-bar-count{font-family:var(--font-mono);font-size:var(--fs-xs);opacity:.8}.kpi{padding:var(--space-lg);display:flex;flex-direction:column;gap:6px;min-height:110px}.kpi-label{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.kpi-value{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;color:var(--ink);letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-delta{font-family:var(--font-mono);font-size:var(--fs-2xs);display:flex;align-items:center;gap:4px;color:var(--ink-3)}.kpi-delta[data-tone=up]{color:var(--herbal)}.kpi-delta[data-tone=down]{color:var(--danger)}.chart-card{background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-lg);flex-direction:column;min-height:280px}.chart-card,.chart-card-head{display:flex;gap:var(--space-md)}.chart-card-head{align-items:flex-start;justify-content:space-between}.chart-card-title{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.chart-card-sub{font-size:var(--fs-2xs);color:var(--ink-3);margin-top:2px}.ai-insights{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-md);gap:var(--space-md)}@media (max-width:1100px){.ai-insights{grid-template-columns:1fr}}.ai-card{padding:var(--space-lg);background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--space-sm);position:relative;overflow:hidden}.ai-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.ai-card[data-tone=riesgo]:before{background:var(--danger)}.ai-card[data-tone=oportunidad]:before{background:var(--brand)}.ai-card[data-tone=exito]:before{background:var(--herbal)}.ai-card-eyebrow{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:6px}.ai-card[data-tone=riesgo] .ai-card-eyebrow{color:var(--danger)}.ai-card[data-tone=oportunidad] .ai-card-eyebrow{color:var(--brand)}.ai-card[data-tone=exito] .ai-card-eyebrow{color:var(--herbal)}.ai-card-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.15}.ai-card-body{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5}.ai-card-fuentes{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;padding-top:var(--space-sm);border-top:1px solid var(--rule-faint);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.ai-card-fuentes li{list-style:none}.ai-card-action{margin-top:var(--space-sm)}.ai-preview-ribbon{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.1em;background:var(--warn-tint);color:var(--warn)}.timeline{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:110px 24px 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);padding:var(--space-sm) 0;position:relative}.timeline-item+.timeline-item:before{content:"";position:absolute;left:calc(110px + 12px);top:-4px;bottom:calc(100% - var(--space-sm));width:1px;background:var(--rule)}.timeline-when{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-3);padding-top:4px;text-align:right}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--paper-3);border:2px solid var(--brand);margin:7px auto 0;position:relative;z-index:1}.timeline-content{padding-bottom:var(--space-xs)}.timeline-title{font-size:var(--fs-sm);color:var(--ink);font-weight:500}.timeline-sub{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.msg-feed{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.msg-bubble{max-width:78%;padding:10px 14px;border-radius:14px;font-size:var(--fs-sm);line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.msg-bubble[data-rol=user]{align-self:flex-end;background:var(--brand-tint);color:var(--ink);border-bottom-right-radius:4px}.msg-bubble[data-rol=assistant]{align-self:flex-start;background:var(--paper-2);color:var(--ink);border:1px solid var(--rule-faint);border-bottom-left-radius:4px}.msg-bubble[data-rol=system]{align-self:center;background:transparent;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;max-width:100%}.msg-bubble[data-rol=system],.msg-meta{font-family:var(--font-mono);font-size:var(--fs-2xs)}.msg-meta{color:var(--ink-4);display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm)}.msg-meta[data-rol=user]{justify-content:flex-end}.msg-meta[data-rol=assistant]{justify-content:flex-start}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-3xl) var(--space-lg);text-align:center;color:var(--ink-3)}.empty-state-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;color:var(--ink)}.empty-state-desc{max-width:420px;font-size:var(--fs-sm);color:var(--ink-3)}.cmdk-overlay{position:fixed;inset:0;background:color-mix(in oklch,var(--ink) 20%,transparent);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:fade-in .16s var(--ease-soft)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cmdk-panel{width:min(560px,92vw);max-height:70vh;background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 24px 60px -20px oklch(0 0 0/.25);display:flex;flex-direction:column;overflow:hidden;animation:pop-in .22s var(--ease-soft)}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.cmdk-input{width:100%;padding:14px var(--space-lg);font-size:var(--fs-base);border:0;border-bottom:1px solid var(--rule-faint);background:transparent;outline:none}.cmdk-list{overflow-y:auto;padding:var(--space-xs) var(--space-xs)}.cmdk-group-label{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);padding:var(--space-sm) var(--space-sm) var(--space-xs)}.cmdk-item{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer}.cmdk-item[data-selected=true]{background:var(--brand-tint);color:var(--brand)}.cmdk-empty{padding:var(--space-xl);text-align:center;color:var(--ink-4);font-size:var(--fs-sm)}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;border:1px solid var(--rule);background:var(--paper-3);font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer}.chip[data-active=true]{background:var(--brand-tint);color:var(--brand);border-color:var(--brand-tint)}.tabs-list{display:flex;gap:var(--space-sm);border-bottom:1px solid var(--rule);margin-bottom:var(--space-lg)}.tabs-trigger{padding:10px 4px;background:transparent;border:0;color:var(--ink-3);font-size:var(--fs-sm);font-weight:500;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tabs-trigger[data-state=active]{color:var(--ink);border-bottom-color:var(--brand)}.dialog-overlay{position:fixed;inset:0;background:color-mix(in oklch,var(--ink) 40%,transparent);z-index:50;animation:fade-in .16s var(--ease-soft)}.dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,92vw);background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 24px 60px -20px oklch(0 0 0/.25);padding:var(--space-xl);z-index:51;animation:pop-in .22s var(--ease-soft);max-height:85vh;overflow:auto}.dialog-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;color:var(--ink);margin-bottom:var(--space-xs)}.dialog-desc{font-size:var(--fs-sm);color:var(--ink-3);margin-bottom:var(--space-lg);line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-lg)}.drawer-overlay{position:fixed;inset:0;background:color-mix(in oklch,var(--ink) 30%,transparent);z-index:50;animation:fade-in .16s var(--ease-soft)}.drawer-content{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--paper-3);border-left:1px solid var(--rule);z-index:51;display:flex;flex-direction:column;animation:slide-in .26s var(--ease-fast)}@keyframes slide-in{0%{transform:translateX(100%)}to{transform:none}}.pipeline-grid{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));grid-gap:var(--space-md);gap:var(--space-md);overflow-x:auto}@media (max-width:1100px){.pipeline-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.pipeline-grid{grid-template-columns:1fr}}.pipeline-col{background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.pipeline-col-head{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--rule-faint);display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);background:var(--paper-2)}.pipeline-col-body{padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs)}.pipeline-card{padding:var(--space-sm) var(--space-md);border:1px solid var(--rule-faint);border-radius:var(--radius-sm);background:var(--paper-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.pipeline-card:hover{border-color:var(--ink-4)}.pipeline-card-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.pipeline-card-title{font-size:var(--fs-sm);font-weight:500;color:var(--ink)}.pipeline-card-meta{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-3);margin-top:4px}.detail-grid{display:grid;grid-template-columns:260px 1fr 320px;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:flex-start}@media (max-width:1280px){.detail-grid{grid-template-columns:1fr 300px}.detail-grid>:first-child{grid-column:1/-1}}@media (max-width:960px){.detail-grid{grid-template-columns:1fr}}.detail-card{background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.detail-card-label{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.detail-card-value{font-size:var(--fs-sm);color:var(--ink)}.detail-actions{gap:var(--space-xs)}.detail-actions,.stack{display:flex;flex-direction:column}.stack-xs>*+*{margin-top:var(--space-xs)}.stack-sm>*+*{margin-top:var(--space-sm)}.stack-md>*+*{margin-top:var(--space-md)}.stack-lg>*+*{margin-top:var(--space-lg)}.stack-xl>*+*{margin-top:var(--space-xl)}.row{display:flex;align-items:center}.row-xs{gap:var(--space-xs)}.row-sm{gap:var(--space-sm)}.row-md{gap:var(--space-md)}.row-between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-md);gap:var(--space-md)}@media (max-width:960px){.grid-2{grid-template-columns:1fr}}[data-sonner-toaster][data-theme=dark],[data-sonner-toaster][data-theme=light]{--normal-bg:var(--paper-3);--normal-border:var(--rule);--normal-text:var(--ink)}