@font-face{font-family:DM Sans;src:url(/fonts/DMSans.ttf)format("truetype");font-style:normal;font-weight:100 1000;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk.ttf)format("truetype");font-style:normal;font-weight:300 700;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#e8e0d0;--color-surface:#faf7f2;--color-text:#1a1a1a;--color-muted:#645d53;--color-accent:#c8222a;--color-border:#d7cfbf;--ink:#131d30;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--radius:1.25rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--color-background);color:var(--color-text);margin:0;font:1rem/1.6 DM Sans,sans-serif}a{color:var(--color-accent);text-underline-offset:.22em}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}button:disabled{cursor:wait;opacity:.55}h1,h2,h3,.brand,.button{letter-spacing:-.045em;font-family:Space Grotesk,sans-serif}h1{margin:.4rem 0 .75rem;font-size:clamp(1.85rem,4vw,2.8rem);line-height:1.12}h2{margin-top:2rem;font-size:clamp(1.3rem,2.5vw,1.7rem);line-height:1.25}h3{line-height:1.3}p{max-width:70ch}em{color:var(--color-accent);font-style:normal}.eyebrow{letter-spacing:.16em;color:var(--color-muted);font-size:.69rem;font-weight:700}.subtitle{color:var(--color-muted);margin:.5rem 0}.notice{color:var(--color-muted);border-left:3px solid var(--color-border);margin-top:1.7rem;padding:.75rem 1rem;font-size:.85rem}.app-sidebar{background:var(--ink);height:80px;color:var(--color-surface);align-items:center;padding:1rem 1.25rem;display:flex}.brand{color:var(--color-surface);letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:.9rem;line-height:1.12;text-decoration:none;display:flex}.brand b{font-size:1.2rem}.brand-icon{border:1px solid #ffffff40;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.8rem;font-weight:700;display:grid;position:relative}.brand-icon span{color:#ee7170;font-size:1rem;position:absolute;bottom:-4px;right:-3px}.sidebar-footer{display:none}.app-sidebar nav{z-index:20;background:var(--ink);padding:.4rem .2rem calc(.4rem + env(safe-area-inset-bottom));border:1px solid #ffffff20;border-radius:1.35rem;position:fixed;inset:auto .65rem .65rem;box-shadow:0 8px 30px #131d302a}.app-sidebar nav ul{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.app-sidebar nav a{color:#d7d9df;text-align:center;border-radius:.9rem;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:56px;padding:.4rem .15rem;font-size:.65rem;line-height:1.2;text-decoration:none;display:flex}.app-sidebar nav a[aria-current=page]{background:var(--color-accent);color:#fff}.app-sidebar nav a:hover{background:#ffffff16}.app-sidebar nav a[aria-current=page]:hover{background:#ac1720}main{overflow-wrap:anywhere;width:calc(100% - 2rem);max-width:78rem;margin:1.5rem auto 7.5rem}main>*{min-width:0}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading button{color:var(--color-muted);border:1px solid var(--color-border);background:0 0;padding:.5rem 1rem;font-size:.8rem}.dashboard-hero{background:var(--ink);color:var(--color-surface);border-radius:var(--radius);grid-template-columns:1fr;padding:1.8rem;display:grid;position:relative;overflow:hidden}.dashboard-hero .eyebrow{color:#c9c7c5}.dashboard-hero h2{letter-spacing:-.065em;max-width:11ch;margin:1rem 0;font-size:clamp(2.4rem,5vw,4rem);line-height:1.02}.dashboard-hero em{color:#ef777a}.dashboard-hero p{color:#d3d1d0;max-width:38ch;font-size:.9rem}.hero-mark{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.1rem 0 2rem;display:grid}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;flex-direction:column;gap:.35rem;padding:1.1rem;display:flex}.metric-card>span{color:var(--color-muted);font-size:.75rem}.metric-card strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-family:Space Grotesk,sans-serif;font-size:clamp(1.2rem,2.2vw,1.9rem);line-height:1.3}.metric-card small{color:var(--color-muted);font-size:.67rem}.quick-grid{gap:1rem;display:grid}.action-card{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:1rem;padding:1.35rem;text-decoration:none;transition:transform .15s,border-color .15s}.action-card:hover{border-color:var(--color-accent);transform:translateY(-3px)}.action-number{color:var(--color-accent);font:500 .75rem Space Grotesk,sans-serif}.action-card h2{justify-content:space-between;margin:.6rem 0;font-size:1.3rem;display:flex}.action-card p{color:var(--color-muted);margin:0;font-size:.85rem}.welcome{max-width:60rem;padding:clamp(1rem,4vw,4rem) 0}.welcome h1{font-size:1.25rem}.intro{letter-spacing:-.07em;margin:1.4rem 0;font-family:Space Grotesk,sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1.05}.welcome-features{border-block:1px solid var(--color-border);flex-wrap:wrap;gap:1.5rem;margin-top:3rem;padding:1.5rem 0;font-size:.8rem;display:flex}.button,button{background:var(--color-accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:2rem;justify-content:center;align-items:center;gap:.7rem;min-height:46px;padding:.7rem 1.3rem;font-size:.88rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.button:hover,button:hover{background:#a71922}.button{margin:.5rem 0}.button span{margin-left:1rem}button{margin:.4rem .3rem .4rem 0}label{color:var(--color-text);margin:.8rem 0;font-size:.85rem;font-weight:600;display:block}input,select,textarea{max-width:100%;min-height:46px;color:var(--color-text);background:#fffdfa;border:1px solid #c6bdad;border-radius:.7rem}input:not([type=checkbox]),select,textarea{width:min(100%,32rem);margin-top:.35rem;padding:.7rem .8rem;display:block}input[type=checkbox]{width:18px;height:18px;min-height:auto;accent-color:var(--color-accent);vertical-align:middle;margin-right:.3rem}fieldset{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1rem;min-width:0;margin:1rem 0;padding:1.2rem}legend{padding:0 .5rem;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:600}.auth-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:32rem;margin-top:3rem;padding:clamp(1.5rem,5vw,3rem)}.auth-panel input{width:100%}.auth-panel button{width:100%;margin-top:1rem}.upload-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin:1.5rem 0 2rem;padding:1.3rem}.upload-card h2{margin-top:0}.upload-card>p{color:var(--color-muted);font-size:.9rem}input[type=file]{background:#f0eade;border-style:dashed;width:100%;min-height:88px;padding:1rem}.filter-grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;align-items:end;gap:.3rem 1rem;margin-bottom:1rem;padding:1rem;display:grid}.filter-grid label{margin:.25rem 0}.filter-grid input,.filter-grid select{width:100%}.document-list{gap:.7rem;padding:0;list-style:none;display:grid}.document-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.85rem;padding:1.2rem;font-size:.9rem}.document-list li>a:first-child{margin-right:.5rem;font-weight:700;display:inline-block}.document-list li>a:last-child{margin-top:.5rem;font-size:.8rem;display:block}.table-scroll{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.8rem}thead{background:#ded6c7}td{font-variant-numeric:tabular-nums}dl{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;grid-template-columns:1fr auto;gap:.75rem 1rem;padding:1.3rem;display:grid}dt{font-size:.87rem}dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.review-grid iframe,.review-grid img{border-radius:.8rem;max-width:100%}.skip-link{z-index:100;background:var(--color-surface);border-radius:.5rem;padding:.8rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:.5rem}[role=alert]:not(:empty){color:#9d1720;background:#fce8e4;border:1px solid #e6b4ad;border-radius:.7rem;padding:.8rem}[role=status]:not(:empty){background:#f0eade;border-radius:.7rem;padding:.8rem;font-size:.9rem}section{scroll-margin-top:2rem}@media (min-width:42rem){.dashboard-hero{grid-template-columns:1fr 200px;padding:2.4rem}.hero-mark{color:#e8e0d0;justify-content:center;align-items:center;font:700 10rem Space Grotesk,sans-serif;display:flex;position:relative}.hero-mark span{color:#c8222a;font-size:6rem;position:absolute;bottom:1rem;right:-.3rem}.quick-grid,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.app-sidebar{flex-direction:column;align-items:stretch;width:232px;height:100dvh;padding:2.2rem 1.2rem;display:flex;position:fixed;inset:0 auto 0 0}.brand{padding:0 .45rem}.app-sidebar nav{box-shadow:none;background:0 0;border:0;margin-top:3.5rem;padding:0;position:static}.app-sidebar nav ul{flex-direction:column;gap:.5rem;display:flex}.app-sidebar nav a{flex-direction:row;justify-content:flex-start;gap:.85rem;min-height:50px;padding:.85rem 1rem;font-size:.82rem}.sidebar-footer{letter-spacing:.14em;color:#b5b6bb;margin:auto 0 0;padding:.8rem .5rem;font-size:.58rem;display:block}.sidebar-footer span{letter-spacing:0;color:#e8e0d0;font-size:.72rem}main{width:calc(100% - 312px);max-width:1360px;margin:2.7rem 2.5rem 3rem 272px}.welcome{max-width:64rem;padding:2rem}.auth-panel{width:calc(100% - 280px);max-width:32rem;margin-left:calc(50% + 116px - 16rem)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.closing-toolbar{flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:1rem;display:flex}.closing-toolbar label{flex:1;min-width:13rem}.closing-toolbar button{flex:none}.table-scroll caption{text-align:left;color:var(--color-muted);padding:1rem;font-size:.8rem}.review-grid{grid-template-columns:minmax(0,1fr);gap:2rem;min-width:0;display:grid}.review-original,.review-content{min-width:0}.review-original{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1.4rem}.review-original h2{margin-top:0}.review-original img{object-fit:contain;max-height:42rem}.review-content h2{margin-top:0}.review-content fieldset{box-sizing:border-box;width:100%;padding:clamp(1rem,2vw,1.5rem)}.review-metadata,.review-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin-bottom:1.5rem;display:grid}.review-metadata label,.review-totals label{min-width:0;margin:0}.review-metadata input,.review-metadata select,.review-totals input{width:100%;max-width:none}.review-totals{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem}.review-table-hint{color:var(--color-muted);font-size:.85rem}.review-lines{width:100%;max-width:100%;margin-block:1rem 1.5rem}.review-lines table{table-layout:fixed;width:100%;min-width:108rem}.review-col-product{width:18rem}.review-col-quantity{width:8rem}.review-col-unit{width:7rem}.review-col-price{width:10rem}.review-col-discount{width:9rem}.review-col-net{width:8rem}.review-col-rate{width:7rem}.review-col-vat{width:9rem}.review-col-gross{width:10rem}.review-col-category,.review-col-actions{width:11rem}.review-lines th,.review-lines td{vertical-align:middle;padding:1rem .85rem}.review-lines th{white-space:nowrap;overflow-wrap:normal}.review-lines input{box-sizing:border-box;width:100%;min-width:0;max-width:none;margin:0}.review-lines button{white-space:nowrap;overflow-wrap:normal;min-width:9rem;margin:0;padding:.65rem .8rem}@media (max-width:700px){.review-metadata,.review-totals{grid-template-columns:minmax(0,1fr)}.review-original{padding:1rem}}.invoice-history{gap:1.5rem;display:grid}.invoice-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;min-width:0;overflow:hidden}.invoice-card-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.5rem 1.5rem 0;display:flex}.invoice-card-heading>div{min-width:0}.invoice-card-label{color:var(--color-muted);margin:0 0 .4rem;font-size:.75rem}.invoice-card-heading h3{margin:0;font-size:1.25rem;line-height:1.4}.invoice-supplier{margin:.5rem 0 0;font-weight:600;line-height:1.6}.invoice-status{white-space:nowrap;background:#e9e3d6;border-radius:2rem;flex-shrink:0;padding:.5rem .9rem;font-size:.8rem;line-height:1.5}.invoice-status.is-cancelled{background:#f7e1dd}.invoice-summary{background:0 0;border:0;border-radius:0;grid-template-columns:1fr 1fr minmax(12rem,1fr);gap:1.5rem;margin:0;padding:1.25rem 1.5rem;display:grid}.invoice-summary>div{min-width:0}.invoice-summary dt{color:var(--color-muted);margin-bottom:.4rem;font-size:.8rem}.invoice-summary dd{margin:0;font-size:.9rem;line-height:1.6}.invoice-summary .invoice-total{font-weight:700}.invoice-summary select{min-height:2.75rem;margin:0}.invoice-products{border-radius:.75rem;margin:0 1.5rem}.invoice-products table{table-layout:auto;min-width:38rem}.invoice-products th,.invoice-products td{vertical-align:top;padding:1rem 1.1rem}.invoice-products th:first-child{width:64%}.invoice-products th:not(:first-child),.invoice-number{white-space:nowrap;overflow-wrap:normal;word-break:normal}.invoice-products td:first-child{overflow-wrap:break-word;line-height:1.7}.invoice-products tbody tr:last-child td{border-bottom:0}.invoice-products caption{padding:.9rem 1.1rem}.invoice-empty{background:#f0ebe0;border-radius:.75rem;margin:0 1.5rem;padding:1rem}.invoice-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding:1.25rem 1.5rem;display:flex}.invoice-primary-actions,.invoice-secondary-actions{flex-wrap:wrap;align-items:center;gap:.8rem 1.25rem;display:flex}.invoice-actions a,.invoice-actions button{white-space:nowrap}.invoice-actions button{min-height:2.75rem;padding:.65rem 1rem;font-size:.85rem}.invoice-open{background:var(--color-accent);color:#fff;border-radius:2rem;align-items:center;min-height:2.75rem;padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.invoice-actions .invoice-outline{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.invoice-actions .invoice-delete{color:#a52d22;background:0 0;border:1px solid #dfb7b0}@media (max-width:700px){.invoice-card-heading{flex-direction:column;gap:.8rem;padding:1.1rem 1.1rem 0}.invoice-summary{grid-template-columns:1fr 1fr;gap:1rem;padding:1.1rem}.invoice-summary>div:last-child{grid-column:1/-1}.invoice-summary select{max-width:100%}.invoice-products{margin-inline:1.1rem}.invoice-products table{min-width:34rem}.invoice-actions{flex-direction:column;align-items:stretch;padding:1.1rem}.invoice-primary-actions,.invoice-secondary-actions{gap:.75rem}.invoice-empty{margin-inline:1.1rem}}.monthly-summary{margin-block:2rem}.monthly-summary summary{cursor:pointer;padding-block:1rem;font-weight:700}.invoice-confirmation{width:min(30rem,100% - 2rem);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.invoice-confirmation::backdrop{background:#131d30a6}.invoice-confirmation h3{margin-top:0}.invoice-confirmation-actions{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex}.mobile-records table{overflow-wrap:normal}.mobile-record-label{display:none}@media (max-width:55.99rem){.mobile-records{overflow:visible}.mobile-records table,.mobile-records tbody{display:block}.mobile-records caption{border-bottom:1px solid var(--color-border);display:block}.mobile-records thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.mobile-records tbody tr{overflow-wrap:normal;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem .9rem;padding:1rem;line-height:1.4;display:grid}.mobile-records tbody tr+tr{border-top:1px solid var(--color-border)}.mobile-records tbody :is(th,td){border:0;min-width:0;padding:0}.mobile-records tbody :is(th,td):first-child,.mobile-records .mobile-record-actions,.mobile-records .mobile-record-empty{grid-column:1/-1}.mobile-records tbody :is(th,td):first-child:not(.mobile-record-empty){font-size:1rem;font-weight:700}.mobile-records .mobile-record-label{color:var(--color-muted);margin-bottom:.2rem;font-size:.75rem;font-weight:600;display:block}.mobile-records .mobile-record-actions{flex-wrap:wrap;gap:.5rem;display:flex}.mobile-records .mobile-record-actions .mobile-record-label{flex-basis:100%}.mobile-records .mobile-record-actions button{white-space:normal;overflow-wrap:normal;max-width:100%;min-height:44px}}
