@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-nav:#142536;--color-nav-deep:#0f1f2f;--color-charcoal:var(--color-nav);--color-charcoal-deep:var(--color-nav-deep);--color-bg:#f4f7f8;--color-surface:#fbfcfc;--color-surface-strong:#fff;--color-text:#122033;--color-muted:#5f6d81;--color-border:#dce3e8;--color-border-strong:#c6d0d8;--color-accent:#0d7561;--color-accent-hover:#0a604f;--color-accent-wash:#e8f6f2;--color-mint:#8ad8c6;--color-mint-strong:var(--color-accent);--color-mint-wash:var(--color-accent-wash);--color-danger:#c83838;--color-warning:#946000;--focus-ring:0 0 0 3px #0d75613d;--shadow-panel:0 18px 55px #0f1f2f1f;--shadow-paper:0 16px 45px #0f1f2f14;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-control:6px;--radius-panel:10px;--sidebar-width:188px;--page-gutter:32px;--font-ui:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-bg);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{color:inherit;font:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.button{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-strong);justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 18px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){background:#f8fafb;border-color:#9daab5}.button:active:not(:disabled){transform:translateY(1px)}.button--primary{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.button--primary:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.button--danger{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.button--ghost{background:0 0;border-color:#0000}.form-field{gap:6px;min-width:0;display:grid}.form-field label{font-size:12px;font-weight:520}.form-field input,.form-field select,.form-field textarea,.control{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-strong);width:100%;min-height:42px;padding:9px 12px;font-size:14px}.form-field textarea{resize:vertical;min-height:94px}.field-hint,.field-error{margin:0;font-size:12px}.field-hint{color:var(--color-muted)}.field-error{color:var(--color-danger)}.status{white-space:nowrap;border-radius:5px;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.status--draft,.status--void{color:#39404a;background:#eef0f2}.status--ready{color:#7a5400;background:#fff4cf}.status--sent{color:#075fca;background:#e9f3ff}.status--viewed{color:#7435d9;background:#f1eaff}.status--paid{color:#0a785b;background:#e5f8f1}.status--overdue{color:#b92323;background:#ffeaea}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;height:54px;padding:0 16px}th{color:#3b4757;height:48px;font-size:12px;font-weight:650}td{font-size:14px}.drawer-layer,.dialog-layer{z-index:30;pointer-events:none;position:fixed;inset:0}.drawer-layer--open,.dialog-layer{pointer-events:auto}.drawer-scrim,.dialog-scrim{opacity:0;background:#0f161c4d;border:0;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}.drawer-layer--open .drawer-scrim{opacity:1}.drawer{width:min(390px,100%);height:100%;box-shadow:var(--shadow-panel);background:#fff;padding:20px;transition:transform .2s;position:absolute;top:0;right:0;overflow:auto;transform:translate(100%)}.drawer-layer--open .drawer{transform:translate(0)}.drawer-heading{justify-content:space-between;align-items:center;display:flex}.drawer-heading h2{margin:0;font-size:18px}.icon-button{background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:inline-grid}.dialog-layer{place-items:center;padding:20px;display:grid}.dialog-scrim{opacity:1}.dialog{border-radius:var(--radius-md);width:min(430px,100%);box-shadow:var(--shadow-panel);background:#fff;padding:28px;position:relative}.dialog h2{font-size:19px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.toast{z-index:50;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-width:360px;box-shadow:var(--shadow-panel);background:#fff;border-left:3px solid #38a982;padding:13px 16px;position:fixed;bottom:24px;right:24px}.toast--error{border-left-color:var(--color-danger)}.brand{color:var(--color-text);align-items:center;gap:12px;font-size:18px;font-weight:650;display:inline-flex}.brand img{object-fit:contain;width:34px;height:34px}.brand--dark{color:#fff}.app-shell{min-height:100vh;padding-left:var(--sidebar-width)}.app-sidebar{z-index:20;width:var(--sidebar-width);background:var(--color-nav-deep);color:#fff;flex-direction:column;padding:28px 10px 20px;display:flex;position:fixed;inset:0 auto 0 0}.app-sidebar>.brand{padding:0 14px 28px}.app-sidebar nav{gap:4px;display:grid}.nav-link{color:#e8eef3;border-radius:7px;align-items:center;gap:15px;min-height:50px;padding:0 16px;font-size:14px;font-weight:520;text-decoration:none;display:flex;position:relative}.nav-link:before{content:"";background:0 0;border-radius:0 3px 3px 0;width:4px;height:38px;position:absolute;left:-10px}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link--active{color:#fff;background:#8ad8c61a}.nav-link--active:before{background:var(--color-mint-strong)}.sidebar-account{gap:10px;margin-top:auto;display:grid}.sidebar-user{align-items:center;gap:11px;padding:0 13px;font-size:13px;font-weight:600;display:flex}.sidebar-sign-out{color:#e8eef3;border-radius:6px;align-items:center;gap:11px;min-height:44px;padding:0 14px;font-size:13px;text-decoration:none;display:flex}.sidebar-sign-out:hover{background:#ffffff14}.avatar{color:#153b31;background:var(--color-mint);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.app-main{min-width:0;min-height:100vh}.app-nav-trigger,.app-nav-scrim{display:none}@media (width<=900px){.app-shell{padding-top:64px;padding-left:0}.app-nav-trigger{z-index:32;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-strong);width:42px;height:42px;color:var(--color-text);place-items:center;display:grid;position:fixed;top:12px;left:14px}.app-nav-scrim{z-index:29;opacity:0;pointer-events:none;background:#0f1f2f66;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.app-nav-scrim--open{opacity:1;pointer-events:auto}.app-sidebar{z-index:30;width:min(280px,100vw - 48px);transition:transform .2s;transform:translate(-105%)}.app-sidebar--open{transform:translate(0)}}@media print{.app-sidebar,.no-print{display:none!important}.app-shell{padding:0}}.invoice-document{--invoice-panel-width:22.85%;grid-template-columns:var(--invoice-panel-width) minmax(0, 1fr);aspect-ratio:210/297;width:100%;color:var(--invoice-ink);font-variant-numeric:tabular-nums;background:#fff;grid-template-rows:minmax(0,72%) minmax(0,28%);font-family:InterVariable,Inter,Arial,sans-serif;font-size:clamp(7px,.82vw,12px);line-height:1.45;display:grid;position:relative;overflow:hidden}.invoice-document address{gap:.36em;margin:0;font-style:normal;display:grid}.invoice-document p,.invoice-document dl,.invoice-document dd{margin:0}.invoice-document h1,.invoice-document h2,.invoice-document h3{color:inherit;margin:0}.invoice-document__identity{background:var(--invoice-panel);color:#fff;min-width:0;padding:13% 19%;overflow:hidden}.invoice-document__monogram{color:var(--invoice-accent);font-size:4.2em;font-weight:700;line-height:1;display:block}.invoice-document__panel-rule{background:var(--invoice-accent);width:80%;height:2px;margin:1.6em 0 2.15em;display:block}.invoice-document__identity h2{margin-bottom:1em;font-size:1.58em;line-height:1.2}.invoice-document__identity p,.invoice-document__identity address{overflow-wrap:anywhere;margin-bottom:.72em}.invoice-document__tax-rule{background:var(--invoice-accent);width:18%;height:2px;margin:1.45em 0;display:block}.invoice-document__body{min-width:0;padding:5.2% 7% 0 5.2%}.invoice-document__top-rule{background:var(--invoice-accent);width:100%;height:2px;margin-bottom:5.5%;display:block}.invoice-document__masthead{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.invoice-document__masthead h1{letter-spacing:-.035em;font-size:4.25em;font-weight:720;line-height:1}.invoice-document__metadata{gap:1.1em;width:31%;min-width:0;display:grid}.invoice-document__metadata div,.invoice-document__references div{gap:.2em;display:grid}.invoice-document__metadata dt,.invoice-document__references dt{color:var(--invoice-muted);letter-spacing:.055em;text-transform:uppercase;font-size:.76em;font-weight:700}.invoice-document__metadata dd{font-size:1.17em;font-weight:650}.invoice-document__status{border:1px solid var(--invoice-accent);letter-spacing:.08em;width:fit-content;padding:.22em .55em;font-size:.78em!important}.invoice-document__customer{justify-content:space-between;gap:2rem;margin:6.5% 0 4%;display:flex}.invoice-document__customer h2,.invoice-document__lower h3{color:var(--invoice-panel);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.65em;font-size:.86em;font-weight:720}.invoice-document__customer strong{margin-bottom:.35em;font-size:1.48em;display:block}.invoice-document__customer address{color:var(--invoice-muted)}.invoice-document__references{align-content:start;gap:1.2em;width:31%;display:grid}.invoice-document__work-summary{border-block:1px solid var(--invoice-rule);background:var(--invoice-accent-wash);padding:2.2% 2.5%;font-weight:650;margin-bottom:4%!important}.invoice-document__lines{table-layout:fixed;border-collapse:collapse;width:100%}.invoice-document__lines th,.invoice-document__lines td{border-bottom:1px solid var(--invoice-rule);white-space:normal;height:auto;padding:1.45em .5em}.invoice-document__lines th{border-bottom-color:var(--invoice-accent);color:var(--invoice-ink);letter-spacing:.035em;text-transform:uppercase;padding-block:.75em;font-size:.74em;font-weight:720}.invoice-document__lines th:nth-child(2),.invoice-document__lines td:nth-child(2){width:43%}.invoice-document__line-number{width:7%;color:var(--invoice-panel);font-weight:650;padding-left:0!important}.invoice-document__number{text-align:right!important;white-space:nowrap!important}.invoice-document__amount{font-weight:700}.invoice-document__totals{gap:.15em;width:52%;margin:4% 0 0 auto;display:grid}.invoice-document__totals>div{justify-content:space-between;gap:1.5em;padding:.65em 1em;display:flex}.invoice-document__totals dd{text-align:right;white-space:nowrap}.invoice-document__total{border-top:1px solid var(--invoice-accent);background:var(--invoice-accent-wash);margin-top:.25em;font-size:1.35em;font-weight:720}.invoice-document__lower{border-top:1px solid var(--invoice-rule);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:3.4% 3.6% 4.2%;display:grid}.invoice-document__lower-section{overflow-wrap:anywhere;min-width:0;padding-inline:7%}.invoice-document__lower-section:first-child{padding-left:0}.invoice-document__lower-section+.invoice-document__lower-section{border-left:1px solid var(--invoice-rule)}.invoice-document__lower-section p{line-height:1.55}.invoice-document__payment-details dl{gap:.3em;display:grid}.invoice-document__payment-details dl>div{grid-template-columns:minmax(5.8em,.85fr) 1.4fr;gap:.7em;display:grid}.invoice-document__payment-details dt{color:var(--invoice-muted)}.invoice-document__payment-details dd{overflow-wrap:anywhere}.invoice-document__payment-reference{border-top:1px solid var(--invoice-rule);margin-top:.45em;padding-top:.55em}.invoice-document__payment-reference dd{font-weight:700}.invoice-document__footer{border-top:1px solid var(--invoice-rule);color:var(--invoice-muted);grid-column:1/-1;justify-content:space-between;align-self:end;gap:1rem;margin-top:auto;padding-top:1.1em;font-size:.8em;display:flex}@media (width<=640px){.invoice-document{aspect-ratio:auto;font-size:12px;display:block;overflow:visible}.invoice-document__identity{grid-template-columns:auto 1fr;column-gap:18px;padding:24px 20px;display:grid}.invoice-document__monogram{grid-row:1/span 3;font-size:3.25rem}.invoice-document__panel-rule,.invoice-document__tax-rule{display:none}.invoice-document__identity h2{align-self:end;margin:0 0 4px;font-size:1.35rem}.invoice-document__identity p,.invoice-document__identity address{grid-column:2;margin:2px 0}.invoice-document__body{padding:28px 20px 12px}.invoice-document__masthead h1{font-size:2.65rem}.invoice-document__metadata{width:auto;min-width:135px}.invoice-document__customer{margin-block:30px 22px}.invoice-document__references{width:42%}.invoice-document__work-summary{padding:13px 14px}.invoice-document__lines thead{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.invoice-document__lines,.invoice-document__lines tbody,.invoice-document__lines tr,.invoice-document__lines td{width:100%;display:block}.invoice-document__lines tr{border-bottom:1px solid var(--invoice-rule);padding:16px 0}.invoice-document__lines td{border:0;grid-template-columns:minmax(105px,.8fr) 1.2fr;gap:16px;padding:4px 0;display:grid;text-align:left!important;white-space:normal!important}.invoice-document__lines td:before{content:attr(data-label);color:var(--invoice-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.invoice-document__line-number{color:var(--invoice-accent)}.invoice-document__totals{width:100%;margin-top:22px}.invoice-document__lower{grid-template-columns:1fr;gap:22px;padding:26px 20px}.invoice-document__lower-section{padding:0}.invoice-document__lower-section+.invoice-document__lower-section{border-top:1px solid var(--invoice-rule);border-left:0;padding-top:22px}.invoice-document__footer{margin-top:10px}}@media print{.invoice-document{aspect-ratio:210/297;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.login-page,.fatal-error,.not-found{background:var(--color-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-strong);width:min(440px,100%);box-shadow:var(--shadow-panel);gap:20px;padding:42px;display:grid}.login-panel h1{letter-spacing:-.035em;margin:10px 0 0;font-size:30px;font-weight:650}.login-panel p{color:var(--color-muted)}.login-panel form{gap:18px;display:grid}.login-message{margin-bottom:0;font-size:13px}.fatal-error>div{text-align:center;max-width:480px}.route-loading{color:var(--color-muted);padding:28px}
