@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");@font-face{font-family:Lato;src:url(/fonts/Lato-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-ThinItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-BlackItalic.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-ThinItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-ExtraLightItalic.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-SemiBoldItalic.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-ExtraBoldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-ThinItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-ExtraLightItalic.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-SemiBoldItalic.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono NL;src:url(/fonts/JetBrainsMonoNL-ExtraBoldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}:root{--jn-blue-50:#eff6ff;--jn-blue-100:#dbeafe;--jn-blue-200:#bfdbfe;--jn-blue-300:#93c5fd;--jn-blue-400:#60a5fa;--jn-blue-500:#2563eb;--jn-blue-600:#1d4ed8;--jn-blue-700:#1e40af;--jn-blue-800:#1e3a8a;--jn-blue-900:#172554;--jn-green-50:var(--jn-blue-50);--jn-green-100:var(--jn-blue-100);--jn-green-200:var(--jn-blue-200);--jn-green-300:var(--jn-blue-300);--jn-green-400:var(--jn-blue-400);--jn-green-500:var(--jn-blue-500);--jn-green-600:var(--jn-blue-600);--jn-green-700:var(--jn-blue-700);--jn-green-800:var(--jn-blue-800);--jn-green-900:var(--jn-blue-900);--jn-gray-0:#ffffff;--jn-gray-25:#fcfcfd;--jn-gray-50:#f9fafb;--jn-gray-75:#f5f6f8;--jn-gray-100:#f2f4f7;--jn-gray-200:#eaecf0;--jn-gray-300:#d0d5dd;--jn-gray-400:#98a2b3;--jn-gray-500:#667085;--jn-gray-600:#475467;--jn-gray-700:#344054;--jn-gray-800:#1d2939;--jn-gray-900:#101828;--jn-gray-950:#0c111d;--jn-success-50:#ecfdf3;--jn-success-500:#12b76a;--jn-success-700:#027a48;--jn-warning-50:#fffaeb;--jn-warning-500:#f79009;--jn-warning-700:#b54708;--jn-error-50:#fef3f2;--jn-error-500:#f04438;--jn-error-700:#b42318;--jn-info-50:#eff8ff;--jn-info-500:#2e90fa;--jn-info-700:#175cd3;--fg-1:var(--jn-gray-900);--fg-2:var(--jn-gray-700);--fg-3:var(--jn-gray-500);--fg-4:var(--jn-gray-400);--fg-on-accent:var(--jn-gray-0);--bg-canvas:var(--jn-gray-25);--bg-surface:var(--jn-gray-0);--bg-subtle:var(--jn-gray-50);--bg-muted:var(--jn-gray-100);--bg-inverse:var(--jn-gray-900);--border-subtle:var(--jn-gray-200);--border-default:var(--jn-gray-300);--border-strong:var(--jn-gray-400);--accent:var(--jn-blue-500);--accent-hover:var(--jn-blue-600);--accent-press:var(--jn-blue-700);--accent-soft:var(--jn-blue-50);--font-sans:"Inter",ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono","Menlo","Consolas",monospace;--font-display:"Lato","Inter",ui-sans-serif,-apple-system,sans-serif;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-0.02em;--tracking-snug:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-mono:-0.01em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(16,24,40,0.05);--shadow-sm:0 1px 3px rgba(16,24,40,0.08),0 1px 2px rgba(16,24,40,0.04);--shadow-md:0 4px 8px -2px rgba(16,24,40,0.08),0 2px 4px -2px rgba(16,24,40,0.04);--shadow-lg:0 12px 16px -4px rgba(16,24,40,0.08),0 4px 6px -2px rgba(16,24,40,0.03);--shadow-xl:0 20px 24px -4px rgba(16,24,40,0.10),0 8px 8px -4px rgba(16,24,40,0.04);--shadow-focus:0 0 0 4px var(--jn-blue-100);--shadow-focus-ring:0 0 0 4px rgba(37,99,235,0.20);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-fast:120ms;--dur-base:180ms;--dur-slow:280ms}html{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-canvas)}body{font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}.h1,h1{font-family:var(--font-display);font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:900;color:var(--fg-1)}.h2,h2{font-size:var(--text-3xl);font-weight:900}.h2,.h3,h2,h3{font-family:var(--font-display);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}.h3,h3{font-size:var(--text-2xl)}.h3,.h4,h3,h4{font-weight:700}.h4,h4{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug)}.h5,h5{font-size:var(--text-base)}.h5,.h6,h5,h6{font-weight:600}.h6,h6{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--fg-3)}.p,p{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--fg-2)}.small,small{font-size:var(--text-sm);color:var(--fg-3)}.mono,code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em;letter-spacing:var(--tracking-mono)}code:not(pre code){background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:1px 5px;font-size:.88em;color:var(--fg-1)}pre{background:var(--bg-inverse);color:#e6edf3;border-radius:var(--radius-md);padding:var(--space-4);overflow:auto;font-size:var(--text-sm);line-height:1.55}a{color:var(--accent-hover);transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--accent-press);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-6) 0}.eyebrow{font-family:var(--font-mono);color:var(--accent-hover)}.eyebrow,.label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:500}.label{color:var(--fg-3)}.numeric{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-mono)}*{box-sizing:border-box}body{margin:0;background:var(--bg-canvas);color:var(--fg-1);font-family:var(--font-sans)}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell--internal{display:grid;grid-template-columns:240px minmax(0,1fr)}.app-main{min-width:0;padding:var(--space-8)}.customer-nav{background:rgba(252,252,253,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.customer-nav__brand{display:inline-flex;align-items:center;color:#101828}.customer-nav__brand img{width:26px;height:26px}.customer-nav__brand .sub{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border:1px solid var(--border-subtle);border-radius:4px}.customer-nav__link{display:inline-flex;align-items:center;padding:8px 12px}.customer-nav__link.is-active{background:var(--accent-soft);color:var(--accent-press)}.customer-nav__spacer{margin-left:auto}.customer-nav__avatar{width:30px;height:30px;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}.internal-nav{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:18px;height:100vh;padding:18px 14px;border-right:1px solid var(--border-subtle);background:var(--bg-surface)}.internal-nav__brand{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 8px;color:#101828;color:var(--fg-1);font-weight:700;font-size:.92rem}.internal-nav__brand img{width:24px;height:24px}.internal-nav__group{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-4);padding:4px 10px 2px}.internal-nav__links{display:grid;grid-gap:2px;gap:2px}.internal-nav__link{display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--fg-2);font-size:.86rem;font-weight:500}.internal-nav__link:focus-visible,.internal-nav__link:hover{background:var(--bg-muted);color:var(--fg-1);outline:none}.internal-nav__link.is-active{background:var(--accent-soft);color:var(--accent-press);font-weight:600}.internal-nav__session{margin-top:auto}.public-shell{min-height:100vh;padding:32px 20px 64px}.public-topbar{max-width:760px;margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between}.public-topbar__brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg-1);font-weight:700}.public-topbar__brand img{width:26px;height:26px}.public-topbar__meta{font-family:var(--font-mono);font-size:.74rem;color:var(--fg-3)}.quote-doc{max-width:760px;margin:0 auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.quote-doc__head{padding:28px 32px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.quote-doc__head h1{font-family:var(--font-display);font-weight:900;font-size:1.5rem;letter-spacing:-.02em;margin:0 0 6px}.quote-doc__head p{margin:0;color:var(--fg-3);font-size:.9rem}.quote-doc__ref{text-align:right;font-family:var(--font-mono);font-size:.78rem;color:var(--fg-3);line-height:1.7}.quote-doc__ref b{color:var(--fg-1)}.quote-doc__body{padding:8px 32px 0}.quote-doc__foot{padding:24px 32px 28px}.quote-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 32px;background:var(--bg-subtle);border-top:1px solid var(--border-subtle)}.quote-cta__total{display:grid;grid-gap:2px;gap:2px}.quote-cta__total span{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3)}.quote-cta__total strong{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--fg-1);letter-spacing:-.01em}.quote-cta__actions{display:flex;gap:10px}.button--lg{min-height:44px;padding:0 22px;font-size:.94rem}.quote-doc__note{max-width:760px;margin:16px auto 0;text-align:center;color:var(--fg-4);font-size:.78rem}.quote-doc__note a{color:var(--accent-hover)}.doc-page{max-width:820px;margin:24px auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:48px 52px}.doc-toolbar{max-width:820px;margin:0 auto;display:flex;justify-content:flex-end;gap:8px;padding:0 0 4px}.doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--border-subtle)}.doc-head__brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:900;font-size:1.2rem;letter-spacing:-.02em;color:var(--fg-1)}.doc-head__brand img{width:30px;height:30px}.doc-head__org{margin-top:12px;font-size:.82rem;color:var(--fg-3);line-height:1.6}.doc-head__inv{text-align:right}.doc-head__inv h1{font-family:var(--font-display);font-weight:900;font-size:1.6rem;letter-spacing:-.02em;margin:0 0 8px}.doc-head__inv dl{display:grid;grid-template-columns:auto auto;grid-gap:4px 14px;gap:4px 14px;justify-content:end;margin:0;font-size:.82rem}.doc-head__inv dt{color:var(--fg-3);text-align:right}.doc-head__inv dd{margin:0;font-family:var(--font-mono);color:var(--fg-1);text-align:right}.doc-parties{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;padding:24px 0;border-bottom:1px solid var(--border-subtle)}.doc-party h4{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-4);margin:0 0 8px}.doc-party p{margin:0;font-size:.88rem;color:var(--fg-1);line-height:1.65}.doc-party .muted{color:var(--fg-3)}.doc-table{width:100%;border-collapse:collapse;margin:24px 0 0;font-size:.86rem}.doc-table th{text-align:left;padding:0 12px 10px;border-bottom:1px solid var(--border-default);font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3)}.doc-table td.num,.doc-table th.num{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-table td{padding:12px;border-bottom:1px solid var(--border-subtle);color:var(--fg-2);vertical-align:top}.doc-table td .strong{color:var(--fg-1);font-weight:600;display:block}.doc-table td .sub{color:var(--fg-4);font-size:.8rem}.doc-totals{display:grid;grid-gap:8px;gap:8px;margin:20px 0 0 auto;width:min(320px,100%)}.doc-totals__row{display:flex;justify-content:space-between;font-size:.88rem;color:var(--fg-2)}.doc-totals__row .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-totals__row--credit .num{color:var(--jn-success-700)}.doc-totals__row--grand{padding-top:12px;margin-top:4px;border-top:2px solid var(--border-default);font-size:1rem;font-weight:600;color:var(--fg-1)}.doc-totals__row--grand .num{font-size:1.3rem}.doc-pay{margin-top:32px;padding:18px 20px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.doc-pay h4{margin:0 0 8px;font-size:.9rem}.doc-pay p{margin:0;font-size:.84rem;color:var(--fg-3);line-height:1.7}.doc-pay .mono{font-family:var(--font-mono);color:var(--fg-1)}.doc-foot{margin-top:32px;padding-top:20px;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;font-size:.78rem;color:var(--fg-4)}@media print{body{background:#fff}.doc-toolbar{display:none}.doc-page{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:0}@page{margin:18mm}}.page-stack{display:grid;grid-gap:18px;gap:18px;max-width:1180px}.page-stack--narrow{max-width:720px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--fg-3)}.breadcrumb a{color:var(--accent-hover);font-weight:500}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span[aria-current]{color:var(--fg-2)}.page-heading{display:grid;grid-gap:6px;gap:6px}.page-heading--row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-heading h1{font-family:var(--font-display);font-weight:900;margin:0;color:var(--fg-1);font-size:1.6rem;line-height:1.2;letter-spacing:-.02em}.page-heading p{max-width:720px;margin:0;color:var(--fg-3);font-size:.92rem;line-height:1.55}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border:1px solid #2563eb;border:1px solid var(--accent);border-radius:var(--radius-sm);background:#2563eb;background:var(--accent);color:#fff;cursor:pointer;font-weight:600;font-size:.88rem;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.button:focus-visible,.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);outline:none}.button:active{background:var(--accent-press);border-color:var(--accent-press)}.button:focus-visible{box-shadow:var(--shadow-focus-ring)}.button--ghost{background:var(--bg-surface);color:var(--accent-press)}.button--ghost:focus-visible,.button--ghost:hover{background:var(--accent-soft);color:var(--accent-press)}.button--neutral{background:#ffffff;background:var(--bg-surface);color:#101828;color:var(--fg-1);border-color:#d0d5dd;border-color:var(--border-default);box-shadow:var(--shadow-xs)}.button--neutral:hover{background:var(--bg-subtle)}.button--sm{min-height:30px;padding:0 10px;font-size:.8rem}.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);overflow:hidden}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.panel__header h2{margin:0;color:var(--fg-1);font-size:1rem;font-weight:600}.panel__header>div p{margin:2px 0 0;color:var(--fg-3);font-size:.84rem}.panel__body{padding:16px}.panel--link{display:block;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.panel--link:focus-visible,.panel--link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px);outline:none}.panel--link h2{margin:0 0 6px;font-size:1rem;font-weight:600}.panel--link p{margin:0;color:var(--fg-3);font-size:.86rem}.panel--link .arrow{color:var(--accent-hover);font-size:.86rem;font-weight:600;margin-top:12px;display:inline-block}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.metrics-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.usage-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.usage-metric{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);display:grid;grid-gap:6px;gap:6px;padding:16px}.metric-card span,.usage-metric span{color:var(--fg-3);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.metric-card strong,.usage-metric strong{color:var(--fg-1);font-size:1.5rem;font-weight:600;line-height:1.1;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-card p,.usage-metric p{margin:0;color:var(--fg-3);font-size:.82rem}.metric-card .delta--up{color:var(--jn-success-700)}.metric-card .delta--down{color:var(--jn-error-700)}.status-pill{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;min-height:22px;padding:2px 9px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--fg-2);font-size:.74rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.status-pill .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.status-pill--success{border-color:var(--jn-success-500);background:var(--jn-success-50);color:var(--jn-success-700)}.status-pill--info{border-color:#7cc0fd;background:var(--jn-info-50);color:var(--jn-info-700)}.status-pill--warn{border-color:#f0c9a0;background:var(--jn-warning-50);color:var(--jn-warning-700)}.status-pill--danger{border-color:#f1bcbc;background:var(--jn-error-50);color:var(--jn-error-700)}.status-pill--muted{border-color:var(--border-default);background:var(--bg-muted);color:var(--fg-3)}.usage-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.usage-filter,.usage-segmented{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.usage-segment{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--fg-2);font-size:.82rem;font-weight:600;cursor:pointer}.usage-segment:hover{background:var(--bg-subtle)}.usage-segment--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-press)}.usage-filter label{color:var(--fg-3);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.ops-form input,.usage-filter input{min-height:34px;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;font:inherit;color:var(--fg-1);background:var(--bg-surface)}.ops-form input:focus-visible,.usage-filter input:focus-visible{border-color:var(--accent);outline:none;box-shadow:var(--shadow-focus-ring)}.usage-table-wrap{overflow-x:auto}.usage-table{width:100%;border-collapse:collapse;font-size:.86rem}.usage-table td,.usage-table th{padding:10px 14px;border-top:1px solid var(--border-subtle);text-align:left;white-space:nowrap}.usage-table thead th{border-top:none;color:var(--fg-3);font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.usage-table tbody tr:hover,.usage-table thead th{background:var(--bg-subtle)}.usage-table .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.usage-table .strong{font-weight:600;color:var(--fg-1)}.usage-table .chain{display:inline-flex;align-items:center;gap:8px}.usage-table .chain img{width:16px;height:16px}.table-link{color:var(--accent-hover);font-weight:600}.table-link:hover{text-decoration:underline}.usage-trend li{grid-template-columns:minmax(120px,1fr) 1.4fr minmax(96px,max-content) minmax(72px,max-content);min-height:40px;padding:8px 16px}.usage-trend li:first-child{border-top:none}.usage-trend small,.usage-trend span{font-size:.83rem}.usage-trend strong{font-size:.9rem}.spark{height:8px;border-radius:999px;background:var(--bg-muted);overflow:hidden}.spark__fill{height:100%;border-radius:999px;background:var(--accent)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1px;gap:1px;margin:0;background:var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.detail-grid>div{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;background:var(--bg-surface)}.detail-grid dt{color:var(--fg-3);font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.detail-grid dd{margin:0;color:var(--fg-1);font-size:.92rem;word-break:break-word}.detail-grid dd.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-registry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--border-subtle)}.report-registry__item{display:grid;grid-gap:4px;gap:4px;min-height:84px;padding:14px 16px;background:var(--bg-surface);cursor:pointer}.report-registry__item:hover{background:var(--bg-subtle)}.report-registry__item--active{background:var(--accent-soft)}.report-registry__item strong{color:var(--fg-1);font-size:.92rem;font-weight:600}.report-registry__item span{color:var(--fg-3);font-size:.84rem;line-height:1.45}.invoice-total{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px;border-top:2px solid var(--border-default)}.invoice-total .amount,.invoice-total .label{font-weight:600;color:var(--fg-1)}.invoice-total .amount{font-family:var(--font-mono);font-size:1.4rem;letter-spacing:-.01em}.empty-state,.usage-empty{margin:0;padding:16px;color:var(--fg-3);font-size:.9rem}.filter-bar{gap:10px;flex-wrap:wrap}.filter-bar,.filter-search{display:flex;align-items:center}.filter-search{gap:8px;min-width:260px;min-height:38px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface)}.filter-search svg{color:var(--fg-4);flex-shrink:0}.filter-search input{flex:1 1;border:0;background:none;font:inherit;color:var(--fg-1);outline:none}.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--fg-2);font-size:.82rem;font-weight:500;cursor:pointer}.filter-chip:hover{background:var(--bg-subtle)}.filter-chip--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-press)}.filter-bar__spacer{flex:1 1}.entity-cell{gap:10px}.avatar,.entity-cell{display:inline-flex;align-items:center}.avatar{justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--accent-soft);color:var(--accent-press);font-size:.74rem;font-weight:700;letter-spacing:-.01em}.entity-cell__meta{display:grid;grid-gap:1px;gap:1px}.entity-cell__meta b{font-size:.88rem;font-weight:600;color:var(--fg-1)}.entity-cell__meta span{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-3)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border-subtle)}.pagination__info{color:var(--fg-3);font-size:.82rem}.pagination__info .num{font-family:var(--font-mono);color:var(--fg-2)}.pagination__controls{display:inline-flex;gap:6px}.pagination__btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0 9px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--fg-2);font-size:.82rem;font-weight:500;cursor:pointer}.pagination__btn:hover:not([disabled]){background:var(--bg-subtle)}.pagination__btn--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-press)}.pagination__btn[disabled]{opacity:.45;cursor:not-allowed}.page-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-subtle)}.page-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--fg-3);font:inherit;font-size:.86rem;font-weight:500;cursor:pointer}.page-tab:hover{color:var(--fg-1)}.page-tab--active{color:var(--fg-1);border-bottom-color:var(--accent)}.page-tab .count{font-family:var(--font-mono);font-size:.72rem;padding:1px 6px;border-radius:var(--radius-pill);background:var(--bg-muted);color:var(--fg-2)}.ops-form{display:grid;grid-gap:18px;gap:18px}.ops-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.ops-form__row{display:grid;grid-gap:6px;gap:6px}.ops-form__row--full{grid-column:1/-1}.ops-form label{color:var(--fg-2);font-size:.82rem;font-weight:600}.ops-form label .opt{color:var(--fg-4);font-weight:400}.ops-form input,.ops-form select,.ops-form textarea{width:100%;min-height:38px;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 11px;font:inherit;color:var(--fg-1);background:var(--bg-surface)}.ops-form textarea{min-height:84px;resize:vertical}.ops-form input:focus-visible,.ops-form select:focus-visible,.ops-form textarea:focus-visible{border-color:var(--accent);outline:none;box-shadow:var(--shadow-focus-ring)}.ops-form .hint{color:var(--fg-3);font-size:.78rem}.ops-form__actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border-subtle);padding-top:18px}.input-prefix{display:flex;align-items:stretch;border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden}.input-prefix:focus-within{border-color:var(--accent);box-shadow:var(--shadow-focus-ring)}.input-prefix span{display:inline-flex;align-items:center;padding:0 11px;background:var(--bg-subtle);color:var(--fg-3);font-family:var(--font-mono);font-size:.82rem;border-right:1px solid var(--border-default)}.input-prefix input{border:0!important;box-shadow:none!important;border-radius:0}.jn-chart{position:relative;width:100%}.jn-chart__svg{display:block;width:100%;height:100%;overflow:visible}.jn-chart__svg--donut{margin:0 auto}.jn-chart__grid{stroke:var(--border-subtle);stroke-width:1;vector-effect:non-scaling-stroke}.jn-chart__axis{fill:var(--fg-4);font-family:var(--font-mono);font-size:10px;letter-spacing:-.01em}.jn-chart__bar{fill:var(--accent);opacity:.85;transition:opacity var(--dur-fast) var(--ease-out)}.jn-chart__bar:hover{opacity:1}.jn-chart__donut-value{fill:var(--fg-1);font-family:var(--font-mono);font-size:20px;font-weight:600;letter-spacing:-.02em}.jn-chart__donut-sub{fill:var(--fg-3);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.chart-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 16px 4px}.chart-panel__metric{display:grid;grid-gap:2px;gap:2px}.chart-panel__metric .label{color:var(--fg-3);font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.chart-panel__metric .value{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--fg-1);letter-spacing:-.01em}.chart-panel__metric .delta--up{color:var(--jn-success-700);font-size:.8rem}.chart-panel__metric .delta--down{color:var(--jn-error-700);font-size:.8rem}.chart-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 16px 4px}.chart-legend__item{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:var(--fg-2)}.chart-legend__swatch{width:10px;height:10px;border-radius:3px}.chart-body{padding:8px 6px 12px}.donut-layout{display:grid;grid-template-columns:minmax(160px,220px) 1fr;align-items:center;grid-gap:20px;gap:20px;padding:16px}.donut-legend{display:grid;grid-gap:10px;gap:10px}.donut-legend__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;font-size:.86rem}.donut-legend__row .sw{width:10px;height:10px;border-radius:3px}.donut-legend__row .lab{color:var(--fg-2)}.donut-legend__row .val{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fg-1);font-weight:600}@media (max-width:720px){.donut-layout{grid-template-columns:1fr}}@media (max-width:860px){.app-shell--internal{grid-template-columns:1fr}.internal-nav{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border-subtle)}.dashboard-grid,.metrics-grid,.metrics-grid--4,.ops-form__grid,.report-registry,.usage-summary-grid{grid-template-columns:1fr}}body,html{min-height:100%}.app-shell{min-height:100vh}.customer-nav{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}.customer-nav__brand,.customer-nav__link{display:inline-flex;align-items:center}.customer-nav__brand{gap:10px;min-width:max-content;color:var(--fg-1);font-size:.92rem;font-weight:700}.customer-nav__mark{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--fg-2);font-family:var(--font-mono);font-size:.7rem}.customer-nav__links{display:flex;flex-wrap:wrap;gap:4px}.customer-nav__link{gap:8px;min-height:36px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--fg-2);font-size:.88rem;font-weight:500}.customer-nav__link:focus-visible,.customer-nav__link:hover{background:var(--bg-muted);color:var(--fg-1);outline:none}.customer-nav__signout{margin:0 0 0 auto}.customer-nav__signout button.customer-nav__link{border:0;background:transparent;cursor:pointer;font:inherit;font-size:.88rem;font-weight:500}.panel{padding:16px}.panel__header{padding:0 0 12px}.panel__header p{margin-top:4px;color:var(--fg-3);font-size:.86rem}.estimator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.usage-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.usage-metric{min-height:132px}.usage-metric strong{overflow-wrap:anywhere}.usage-state{display:grid;grid-gap:6px;gap:6px;padding:16px}.usage-state strong{color:var(--fg-1)}.usage-trend{display:grid;grid-gap:1px;gap:1px;margin:0;padding:0;list-style:none}.usage-trend li{display:grid;grid-template-columns:minmax(140px,1fr) minmax(96px,max-content) minmax(72px,max-content);align-items:center;grid-gap:12px;gap:12px;min-height:42px;padding:10px 16px;border-top:1px solid var(--border-subtle)}.usage-trend small,.usage-trend span{color:var(--fg-3);font-size:.85rem}.usage-trend strong{color:var(--fg-1);font-size:.95rem;text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quote-page{display:grid;grid-gap:18px;gap:18px;max-width:860px}.quote-page h1{margin:0;font-family:var(--font-display);font-weight:900;letter-spacing:var(--tracking-tight);color:var(--fg-1);font-size:1.6rem;line-height:1.25}.quote-summary{display:grid;grid-gap:6px;gap:6px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.quote-summary strong{color:var(--fg-1);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.55rem}.quote-expires,.quote-summary span{margin:0;color:var(--fg-3);font-size:.9rem}.quote-actions{display:flex;flex-wrap:wrap;gap:10px}.quote-action{min-width:128px;min-height:42px;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 16px;font-weight:700;line-height:1.1;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.quote-action:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.quote-action--primary{border-color:var(--fg-1);background:var(--fg-1);color:var(--fg-on-accent)}.quote-action--primary:hover{border-color:var(--jn-gray-800);background:var(--jn-gray-800)}.quote-action--secondary{border-color:var(--accent);background:var(--bg-surface);color:var(--accent-press);box-shadow:var(--shadow-xs)}.quote-action--secondary:hover{border-color:var(--accent-hover);background:var(--accent-soft);color:var(--accent-press)}.quote-action--ghost{border-color:var(--border-default);background:transparent;color:var(--fg-2)}.quote-action--ghost:hover{border-color:var(--border-strong);background:var(--bg-muted);color:var(--fg-1)}.auth-page{max-width:420px}.auth-form{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.auth-form label{display:grid;grid-gap:6px;gap:6px;color:var(--fg-2);font-size:.86rem;font-weight:700}.auth-form input{min-height:40px;width:100%;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 10px;color:var(--fg-1);font:inherit;background:var(--bg-surface)}.auth-form input:focus-visible{border-color:var(--accent);outline:none;box-shadow:var(--shadow-focus-ring)}.auth-form button{min-height:40px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--fg-on-accent);cursor:pointer;font:inherit;font-weight:700}.auth-form button:focus-visible,.auth-form button:hover{background:var(--accent-hover);outline:none}.form-error{margin:0;color:var(--jn-error-700);font-size:.86rem}@media (max-width:760px){.customer-nav{align-items:flex-start;flex-direction:column}.customer-nav__signout{margin:0}.app-main{padding:20px}.estimator-grid,.usage-summary-grid{grid-template-columns:1fr}.usage-controls,.usage-segmented{align-items:stretch;width:100%}.usage-segment{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);justify-content:center}.usage-trend li{grid-template-columns:1fr}.usage-trend strong{text-align:left}.quote-action{flex:1 1 100%;min-width:0}}