@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{--ink-900:#0a0a0f;--ink-800:#14141c;--ink-700:#1f1f2b;--ink-600:#2e2e3d;--ink-500:#43435a;--slate-600:#55556a;--slate-500:#6b6b7b;--slate-400:#8e8ea0;--slate-300:#c7c7d2;--slate-200:#e4e4eb;--slate-100:#f1f1f5;--slate-050:#f7f7fa;--paper:#fafafc;--white:#fff;--violet-050:#f4efff;--violet-100:#e7dcff;--violet-200:#cdb8ff;--violet-300:#ab8cff;--violet-400:#8a5cff;--violet-500:#6b2ef5;--violet-600:#5620cc;--violet-700:#3f1699;--violet-800:#280c61;--citron-200:#eef9b4;--citron-300:#e3f585;--citron-400:#d6f24b;--citron-600:#9db81c;--citron-800:#4e5a0e;--green-500:#1fb981;--green-050:#e6f8f1;--amber-500:#e9a23b;--amber-050:#fdf3e4;--red-500:#e5484d;--red-050:#fdecec;--alpha-ink-04:#0a0a0f0a;--alpha-ink-08:#0a0a0f14;--alpha-ink-12:#0a0a0f1f;--alpha-white-08:#ffffff14;--alpha-white-14:#ffffff24;--alpha-white-64:#ffffffa3;--alpha-violet-12:#6b2ef51f;--alpha-violet-24:#6b2ef53d;--font-display:"Space Grotesk","Space Grotesk Fallback",system-ui,sans-serif;--font-sans:"Geist","Geist Fallback",system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--text-display-1:700 clamp(48px,7vw,96px)/.94 var(--font-display);--text-display-2:700 clamp(38px,5vw,68px)/.98 var(--font-display);--text-display-3:700 clamp(30px,3.4vw,44px)/1.04 var(--font-display);--text-heading-1:600 30px/1.16 var(--font-display);--text-heading-2:600 24px/1.2 var(--font-display);--text-heading-3:600 19px/1.26 var(--font-display);--text-body-lg:400 19px/1.55 var(--font-sans);--text-body:400 16px/1.6 var(--font-sans);--text-body-sm:400 14px/1.55 var(--font-sans);--text-ui:500 14px/1.2 var(--font-sans);--text-ui-sm:500 13px/1.2 var(--font-sans);--text-caption:400 12px/1.4 var(--font-sans);--text-mono-label:500 12px/1.2 var(--font-mono);--text-mono:400 13px/1.5 var(--font-mono);--tracking-display:-.03em;--tracking-heading:-.015em;--tracking-body:0em;--tracking-label:.08em;--tracking-label-wide:.14em;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-0:0px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:56px;--space-11:72px;--space-12:96px;--space-13:128px;--space-14:180px;--container-max:1240px;--container-narrow:760px;--container-pad:24px;--section-y:var(--space-12);--section-y-tight:var(--space-11);--grid-gutter:24px;--grid-columns:12;--control-sm:32px;--control-md:40px;--control-lg:48px;--control-xl:56px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-2xl:28px;--radius-pill:999px;--radius-control:10px;--radius-card:16px;--radius-panel:22px;--radius-inset:12px;--border-hairline:1px;--border-strong:1.5px;--shadow-xs:0 1px 2px #0a0a0f0d;--shadow-sm:0 2px 8px -2px #0a0a0f14;--shadow-md:0 14px 32px -14px #0a0a0f29;--shadow-lg:0 34px 64px -28px #0a0a0f3d;--shadow-glow:0 14px 40px -14px #6b2ef580;--shadow-inset-hairline:inset 0 0 0 1px var(--alpha-ink-08);--shadow-inset-hairline-dark:inset 0 0 0 1px var(--alpha-white-08);--blur-panel:blur(18px);--blur-veil:blur(40px);--grad-violet:linear-gradient(135deg,var(--violet-500),var(--violet-700));--grad-ink:linear-gradient(180deg,var(--ink-900),var(--ink-800));--grad-veil-top:linear-gradient(180deg,#0a0a0fb8,#0a0a0f00);--grad-veil-bottom:linear-gradient(0deg,#0a0a0fd1,#0a0a0f00);--hex-grid:radial-gradient(circle at 1px 1px,var(--alpha-ink-12) 1px,transparent 0);--hex-grid-size:24px 24px;--dur-1:.12s;--dur-2:.18s;--dur-3:.26s;--dur-4:.42s;--dur-5:.72s;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-in-out:cubic-bezier(.6,0,.2,1);--ease-entrance:cubic-bezier(.16,1,.3,1);--transition-control:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out);--transition-surface:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out),border-color var(--dur-3) var(--ease-out);--surface-page:var(--paper);--surface-raised:var(--white);--surface-sunken:var(--slate-050);--surface-card:var(--white);--surface-inverse:var(--ink-900);--surface-inverse-raised:var(--ink-800);--surface-accent:var(--violet-500);--surface-accent-soft:var(--violet-050);--surface-signal:var(--citron-400);--surface-veil:#ffffffb8;--surface-veil-dark:#14141c9e;--text-strong:var(--ink-900);--text-body-color:var(--slate-600);--text-muted:var(--slate-400);--text-on-accent:var(--white);--text-on-signal:var(--citron-800);--text-on-inverse:var(--white);--text-on-inverse-muted:#ffffffa3;--text-accent:var(--violet-500);--text-link:var(--violet-600);--text-link-hover:var(--violet-500);--border-subtle:var(--slate-200);--border-default:var(--slate-300);--border-strong-color:var(--ink-900);--border-accent:var(--violet-300);--border-inverse:var(--alpha-white-14);--focus-ring:0 0 0 3px var(--alpha-violet-24);--press-scale:.98;--hover-lift:-2px;--btn-primary-bg:var(--ink-900);--btn-primary-bg-hover:var(--ink-700);--btn-accent-bg:var(--violet-500);--btn-accent-bg-hover:var(--violet-600);--card-border:var(--slate-200);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md)}@keyframes gb-spin{to{transform:rotate(360deg)}}@keyframes gb-fade{0%{opacity:0}to{opacity:1}}@keyframes gb-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gb-trace{0%{stroke-dashoffset:240px}to{stroke-dashoffset:0}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface-page);color:var(--text-strong);font:var(--text-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{letter-spacing:var(--tracking-heading);color:var(--text-strong);margin:0}p{text-wrap:pretty;margin:0}a{color:var(--text-link);transition:color var(--dur-2) var(--ease-out);text-decoration:none}a:hover{color:var(--text-link-hover)}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--violet-100);color:var(--ink-900)}:where(button,a,input,select,textarea):focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box}body{background:var(--paper);color:var(--text-strong);font:var(--text-body-sm);margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--violet-300);outline-offset:3px}svg{flex-shrink:0;width:17px;height:17px}h1{font:var(--text-heading-1);letter-spacing:-.02em;margin:0 0 6px}h2{font:var(--text-heading-3);margin:0 0 20px}p{color:var(--text-body-color);margin:0 0 12px;line-height:1.6}small{color:var(--text-muted)}.shell{min-height:100vh;display:flex}.sidebar{background:var(--surface-card);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;gap:32px;width:232px;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.logo{font:600 25px var(--font-display);color:var(--text-strong);align-items:center;gap:7px;display:flex}.logo svg{width:25px;height:25px;color:var(--violet-500)}.sidebar .logo{padding:0 6px}.eyebrow{font:var(--text-mono-label);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sidebar .eyebrow{margin:8px 6px 0}.sidebar nav{gap:4px;display:grid}.sidebar nav button{border-radius:var(--radius-control);text-align:left;color:var(--text-body-color);background:0 0;border:0;align-items:center;gap:10px;padding:11px 12px;display:flex}.sidebar nav button span{flex:1}.sidebar nav button:hover{background:var(--surface-sunken)}.sidebar nav button.active{background:var(--surface-accent-soft);color:var(--text-accent)}.sidebar-bottom{gap:17px;margin-top:auto;display:grid}.account{word-break:break-word;font-size:11px}.text-button{color:var(--text-muted);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;text-decoration:none;display:flex}.text-button:hover{color:var(--text-accent)}main{flex:1;min-width:0;max-width:1300px;padding:40px 28px 96px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-header p{margin:0}.page-header>select{width:160px}.heading-with-back{align-items:center;gap:14px;display:flex}.heading-with-back h1{margin:0}.button{border-radius:var(--radius-control);background:var(--ink-900);color:#fff;min-height:42px;font:var(--text-ui);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 16px;transition:background .16s,transform .16s;display:inline-flex}.button:hover{background:var(--ink-700)}.button.accent{background:var(--violet-500)}.button.accent:hover{background:var(--violet-600)}.button.secondary{color:var(--text-strong);border-color:var(--border-subtle);background:#fff}.button.secondary:hover{background:var(--surface-sunken)}.button.danger{color:#b42318;background:0 0}.icon-button{color:var(--text-muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-button:hover{background:var(--surface-sunken);color:var(--text-strong)}.actions{align-items:center;gap:6px;display:flex}.card{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:var(--radius-card,16px);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:28px}.no-padding{padding:0;overflow:hidden}.form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin-bottom:20px;display:grid}.form-grid.wide{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-grid .field{margin-bottom:0}.field>span{font:var(--text-ui);font-size:13px}.field small,.hint{color:var(--text-muted);font-size:12px}input,select,textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-control);width:100%;min-width:0;min-height:46px;color:var(--text-strong);background:#fff;outline:0;padding:12px 13px}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--violet-300);box-shadow:var(--focus-ring)}input:disabled,select:disabled,textarea:disabled,input:read-only{background:var(--surface-sunken);color:var(--text-muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{font:var(--text-mono-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}th,td{border-bottom:1px solid var(--border-subtle);padding:15px 20px}td{font-size:13px}td strong{font:var(--text-ui);display:block}td small{margin-top:4px;font-size:11px;display:block}tbody tr:last-child td{border-bottom:0}.right{text-align:right;white-space:nowrap}.mono{font-family:var(--font-mono);font-size:12px}.badge{background:var(--slate-100);color:var(--slate-600);text-transform:capitalize;white-space:nowrap;border-radius:30px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;display:inline-flex}.badge i{background:currentColor;border-radius:100%;width:5px;height:5px}.badge.sent{background:var(--violet-050);color:var(--violet-600)}.badge.paid{color:#237844;background:#eaf7ee}.badge.overdue{color:#b42318;background:#fff0ee}.badge.void{text-decoration:line-through}.empty{text-align:center;padding:65px 24px}.empty>svg{width:36px;height:36px;color:var(--slate-300);margin-bottom:20px}.empty h2{margin-bottom:10px}.empty p{margin-bottom:24px}.line-grid{grid-template-columns:minmax(180px,1fr) 65px 70px 100px 115px 32px;align-items:center;gap:10px;min-width:650px;margin-bottom:10px;display:grid}.line-grid input{padding:10px}.table-head{font:var(--text-mono-label);text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:20px;display:flex}.total{align-items:center;gap:15px;display:flex}.total strong{font:var(--text-heading-2)}.client-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;display:grid}.card-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.pre-line{white-space:pre-line}.message{background:var(--surface-accent-soft);color:var(--text-accent);border-radius:10px;justify-content:space-between;gap:20px;margin-bottom:20px;padding:12px 16px;display:flex}.message.error{color:#b42318;background:#fff0ee}.message button{color:inherit;background:0 0;border:0;font-size:20px}.loading{max-width:600px;margin:18vh auto;padding:24px}.loading .logo{margin-bottom:30px}.invoice-sheet{border:1px solid var(--border-subtle);background:#fff;border-radius:16px;max-width:900px;min-height:1000px;margin:auto;padding:50px}.invoice-sheet>header{justify-content:space-between;align-items:start;margin-bottom:55px;display:flex}.invoice-sheet>header>div:last-child{text-align:right}.invoice-parties{grid-template-columns:1fr 1fr auto;gap:28px;margin-bottom:40px;display:grid}.invoice-parties p{font-size:12px}.invoice-sheet th,.invoice-sheet td{padding:14px 8px}.invoice-sheet td:first-child{white-space:normal;overflow-wrap:anywhere}.invoice-total{justify-content:flex-end;align-items:baseline;gap:30px;padding:25px 8px;display:flex}.invoice-total strong{font:var(--text-heading-2)}.invoice-sheet>footer{border-top:1px solid var(--border-subtle);margin-top:45px;padding-top:25px;font-size:12px}.bank{margin-top:25px}.bank p{margin-bottom:4px}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@media (width<=800px){.sidebar{width:190px;padding:22px 12px}main{padding:28px 18px 64px}.page-header{align-items:flex-start}.card{padding:20px}.no-padding{padding:0}.invoice-sheet{padding:24px}.invoice-parties{grid-template-columns:1fr 1fr}.total{flex-wrap:wrap;gap:8px}}@media (width<=580px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border-subtle);gap:16px;width:100%;height:auto;padding:18px;position:relative}.sidebar nav{display:flex}.sidebar nav button{flex:1;padding:10px 8px}.sidebar-bottom{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sidebar-bottom .account,.sidebar-bottom>a{display:none}.sidebar-bottom .button{min-height:36px;padding:8px 12px}main{padding:25px 16px 50px}h1{font-size:25px}.page-header .actions{flex-wrap:wrap;width:100%}.page-header .actions .button{flex:1;font-size:12px}.form-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;align-items:flex-start}.invoice-sheet{min-height:auto;padding:20px}.invoice-sheet h1{font-size:20px}.invoice-sheet>header{gap:20px}.invoice-sheet .logo{font-size:20px}.invoice-parties{grid-template-columns:1fr}.invoice-sheet table{font-size:11px}.invoice-sheet th,.invoice-sheet td{padding:10px 3px;font-size:10px}.client-grid{grid-template-columns:1fr}}@media print{@page{size:A4;margin:15mm}body{font-size:10pt;background:#fff!important}.no-print,.sidebar{display:none!important}.shell{display:block}main{max-width:none;padding:0}.invoice-sheet{border:0;border-radius:0;max-width:none;min-height:0;padding:0}.invoice-sheet>header{margin-bottom:15mm}.invoice-parties{grid-template-columns:1fr 1fr auto}.invoice-sheet thead{display:table-header-group}.invoice-sheet tr,.invoice-total,.bank,.invoice-sheet>footer{break-inside:avoid}.invoice-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{color:inherit;text-decoration:none}}
