:root{--font-sans: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--bg: oklch(.985 .004 80);--bg-raised: oklch(.995 .003 80);--bg-sunken: oklch(.965 .005 80);--bg-hover: oklch(.955 .006 80);--border: oklch(.91 .005 80);--border-strong: oklch(.82 .006 80);--fg: oklch(.18 .006 80);--fg-muted: oklch(.48 .006 80);--fg-subtle: oklch(.62 .006 80);--accent: oklch(.22 .008 80);--accent-fg: oklch(.98 0 0);--accent-hover: oklch(.15 .008 80);--paid: oklch(.52 .12 155);--paid-bg: oklch(.95 .03 155);--overdue: oklch(.58 .16 45);--overdue-bg: oklch(.96 .04 45);--pending: oklch(.55 .06 80);--pending-bg: oklch(.95 .01 80);--draft: oklch(.62 .01 80);--draft-bg: oklch(.94 .004 80);--space-unit: 4px;--radius: 6px;--radius-sm: 4px;--radius-lg: 10px;--row-h: 48px;--pad-x: 16px;--pad-y: 12px;--gap: 16px;--text-size: 14px;--heading-size: 15px}[data-theme=dark]{--bg: oklch(.17 .005 80);--bg-raised: oklch(.21 .006 80);--bg-sunken: oklch(.14 .005 80);--bg-hover: oklch(.24 .007 80);--border: oklch(.28 .006 80);--border-strong: oklch(.38 .008 80);--fg: oklch(.96 .004 80);--fg-muted: oklch(.68 .006 80);--fg-subtle: oklch(.52 .006 80);--accent: oklch(.95 .004 80);--accent-fg: oklch(.15 .006 80);--accent-hover: oklch(1 0 0);--paid: oklch(.72 .14 155);--paid-bg: oklch(.26 .06 155);--overdue: oklch(.74 .16 45);--overdue-bg: oklch(.28 .08 45);--pending: oklch(.72 .04 80);--pending-bg: oklch(.24 .01 80);--draft: oklch(.58 .006 80);--draft-bg: oklch(.22 .004 80)}[data-density=compact]{--row-h: 38px;--pad-x: 12px;--pad-y: 8px;--gap: 12px;--text-size: 13px;--heading-size: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--text-size);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";line-height:1.45;letter-spacing:-.005em;width:100%;max-width:100vw}#root{width:100%;max-width:100vw;overflow-x:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono{font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);background:var(--bg-raised);color:var(--fg);border:1px solid var(--border);font-weight:500;font-size:13px;transition:background .12s,border-color .12s,transform .08s;white-space:nowrap}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--fg-muted)}.btn.ghost:hover{background:var(--bg-hover);color:var(--fg)}.btn.sm{padding:5px 10px;font-size:12px;border-radius:var(--radius-sm)}.btn.icon{padding:7px;width:32px;height:32px;justify-content:center}.input,.select,.textarea{width:100%;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg);font-size:13px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 15%,transparent)}.input::placeholder{color:var(--fg-subtle)}.label{font-size:11px;font-weight:500;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;display:block}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.01em}.badge.paid{color:var(--paid);background:var(--paid-bg)}.badge.overdue{color:var(--overdue);background:var(--overdue-bg)}.badge.pending{color:var(--pending);background:var(--pending-bg)}.badge.draft{color:var(--draft);background:var(--draft-bg)}.badge .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.table{width:100%;border-collapse:collapse;font-size:var(--text-size)}.table th{text-align:left;font-weight:500;font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;padding:10px var(--pad-x);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:var(--pad-y) var(--pad-x);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{transition:background .08s;cursor:pointer}@media (hover: hover){.table tbody tr:hover{background:var(--bg-hover)}}.table tbody tr:last-child td{border-bottom:none}.table .right{text-align:right}.container{max-width:1280px;margin:0 auto;padding:0 24px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklch,var(--fg) 25%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .16s ease-out}.modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:90vh;overflow:auto;animation:slideUp .2s ease-out;box-shadow:0 20px 60px -20px #0003}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hide-sb::-webkit-scrollbar{display:none}.segmented{display:inline-flex;background:var(--bg-sunken);border-radius:var(--radius);padding:3px;border:1px solid var(--border)}.segmented button{padding:5px 12px;font-size:12px;font-weight:500;color:var(--fg-muted);border-radius:calc(var(--radius) - 2px);transition:background .12s,color .12s}.segmented button.active{background:var(--bg-raised);color:var(--fg);box-shadow:0 1px 2px #0000000a}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-raised);position:relative;cursor:pointer;transition:background .12s,border-color .12s}.checkbox:checked{background:var(--accent);border-color:var(--accent)}.checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--accent-fg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.toggle{width:34px;height:20px;background:var(--border-strong);border-radius:999px;position:relative;cursor:pointer;transition:background .16s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:999px;transition:transform .16s;box-shadow:0 1px 3px #0003}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(14px)}@supports (padding: env(safe-area-inset-top)){:root{--sat: env(safe-area-inset-top);--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left);--sar: env(safe-area-inset-right)}}:root{--sat: 0px;--sab: 0px;--sal: 0px;--sar: 0px}.nav-tab{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--fg-muted);background:transparent;transition:background .12s,color .12s}.nav-tab.active{color:var(--fg);background:var(--bg-sunken)}@media (hover: hover){.nav-tab:hover{background:var(--bg-hover)}.nav-tab.active:hover{background:var(--bg-sunken)}}.avatar-btn{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 4px;border-radius:999px;transition:background .12s}@media (hover: hover){.avatar-btn:hover{background:var(--bg-hover)}}.kpi-card{transition:background .1s}.kpi-card.clickable{cursor:pointer}@media (hover: hover){.kpi-card.clickable:hover{background:var(--bg-hover)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap)}.invoice-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap)}.invoice-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.search-wrap{width:240px}.invoice-totals{width:320px;margin-left:auto}.settings-layout{display:grid;grid-template-columns:180px 1fr;min-height:520px}.settings-tabs{display:flex;flex-direction:column;gap:4px;padding:12px;border-right:1px solid var(--border)}.invoice-items-header,.invoice-item-row{display:grid;grid-template-columns:1fr 75px 80px 80px 110px 120px 32px;gap:8px;align-items:center}.invoice-items-header{padding:0 4px;font-size:11px;font-weight:500;text-transform:uppercase;color:var(--fg-muted);letter-spacing:.05em}.invoice-item-row{padding:4px}.invoice-item-row .item-desc,.invoice-item-row .item-del,.invoice-item-row .item-meta,.invoice-item-row .item-price,.invoice-item-row .item-total{display:contents}.invoice-item-row .item-meta>*{display:block}.list-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:8px;cursor:pointer;transition:background .1s}.list-card:active{background:var(--bg-hover)}.list-card-row{display:flex;align-items:center;gap:10px}.list-card-row+.list-card-row{margin-top:8px}.list-card-row.muted{color:var(--fg-muted);font-size:12px}.list-card-row .spacer{flex:1}.list-card-title{font-weight:500;font-size:14px;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card-amount{font-weight:600;font-size:14px;text-align:right;white-space:nowrap}.list-card-actions{display:flex;gap:8px;margin-top:10px}.list-card-actions .btn{flex:1;justify-content:center}.mobile-only{display:none}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none}.toast{padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg);box-shadow:0 4px 12px #00000014;font-size:13px;min-width:220px;pointer-events:auto;animation:toastIn .18s ease-out}.toast.success{border-color:var(--paid);background:var(--paid-bg);color:var(--paid)}.toast.error{border-color:var(--overdue);background:var(--overdue-bg);color:var(--overdue)}@keyframes toastIn{0%{transform:translateY(8px);opacity:0}}.nav-desktop{display:block}.nav-mobile{display:none}.mobile-top-bar{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding-top:var(--sat);padding-left:max(16px,var(--sal));padding-right:max(16px,var(--sar))}.mobile-top-bar-inner{display:flex;align-items:center;gap:10px;height:52px}.mobile-top-bar-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;letter-spacing:-.02em;flex:1;min-width:0}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;background:color-mix(in oklch,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);display:flex;justify-content:center;padding-bottom:var(--sab);padding-left:max(20px,var(--sal));padding-right:max(20px,var(--sar))}.mobile-bottom-nav>*{flex:1 1 0;max-width:80px}.mobile-nav-item{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;min-height:56px;font-size:10px;font-weight:500;color:var(--fg-muted);transition:color .12s}.mobile-nav-item.active{color:var(--accent)}.mobile-nav-item:active{color:var(--fg)}.mobile-nav-item:focus,.mobile-nav-item:focus-visible{outline:none}.mobile-top-bar-title:focus,.mobile-top-bar-title:focus-visible{outline:none}@media (pointer: coarse){.btn{min-height:44px;padding:10px 16px}.btn.sm{min-height:38px;padding:8px 12px}.btn.icon{width:44px;height:44px;padding:10px}.toggle{width:44px;height:26px}.toggle:after{width:22px;height:22px;top:2px;left:2px}.toggle.on:after{transform:translate(18px)}.checkbox{width:22px;height:22px;border-radius:5px}.checkbox:checked:after{left:6px;top:2px;width:7px;height:12px}.input,.select,.textarea{padding:12px 14px;font-size:16px}.segmented button{padding:10px 16px;min-height:40px;font-size:13px}}@media (max-width: 640px){.container{max-width:100%;padding-left:max(12px,var(--sal));padding-right:max(12px,var(--sar))}main{overflow-x:hidden}.card{max-width:100%;overflow:hidden}.card>*{min-width:0}.card{padding:14px;border-radius:10px}.app-main-mobile{padding:16px 0 calc(64px + var(--sab) + 24px) 0}.nav-desktop{display:none!important}.nav-mobile{display:block}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:12px!important}.templates-grid{grid-template-columns:1fr}.invoice-form-grid-3,.invoice-form-grid-2{grid-template-columns:1fr;gap:14px}.search-wrap{width:100%}.invoice-totals{width:100%;margin-left:0}.segmented{flex-wrap:wrap;gap:2px}.segmented button{flex:1 1 auto}.invoice-items-header{display:none}.invoice-items-wrap{border:none!important;border-radius:0!important;background:transparent!important;overflow:visible!important}.invoice-item-row{position:relative;grid-template-columns:1fr 1fr;grid-template-areas:"desc  desc" "qty   unit" "price vat" "total total";gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised)}.invoice-item-row .item-desc,.invoice-item-row .item-price,.invoice-item-row .item-total{display:block;min-width:0}.invoice-item-row .item-meta{display:contents}.invoice-item-row .item-desc{grid-area:desc}.invoice-item-row .item-meta>*:nth-child(1){grid-area:qty;min-width:0}.invoice-item-row .item-meta>*:nth-child(2){grid-area:unit;min-width:0}.invoice-item-row .item-meta>*:nth-child(3){grid-area:vat;min-width:0}.invoice-item-row .item-price{grid-area:price}.invoice-item-row .item-del{position:absolute;top:8px;right:8px;z-index:1}.invoice-item-row .item-del .btn{width:32px;height:32px;min-height:32px;padding:0}.invoice-item-row .item-desc .input{padding-right:52px}.invoice-item-row .item-total{grid-area:total;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:2px;padding-top:10px;border-top:1px solid var(--border)}.invoice-item-row .item-total .label{margin-bottom:0}.invoice-item-row .item-total .num-input{width:120px;text-align:right;font-weight:600}.invoice-item-row .input,.invoice-item-row .select{height:44px;line-height:1.2}.mobile-only{display:block}.settings-layout{grid-template-columns:1fr;min-height:unset;height:100%;flex:1;display:flex!important;flex-direction:column;overflow:hidden}.settings-tabs{flex-direction:row!important;overflow-x:auto;overflow-y:hidden;padding:8px 12px;border-right:none;border-bottom:1px solid var(--border);gap:4px;scrollbar-width:none;flex-shrink:0}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs>*{flex:0 0 auto}.modal.fullscreen-on-mobile{width:100vw!important;max-width:100vw!important;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;border:none;display:flex;flex-direction:column}.modal-backdrop:has(>.fullscreen-on-mobile){backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}.toast-container{left:12px;right:12px;bottom:calc(56px + var(--sab) + 12px)}.toast{min-width:0;font-size:14px}.chart-card-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.chart-card-header .segmented{width:100%}.invoice-actions{gap:8px!important}.invoice-actions .invoice-heading{min-width:0}.invoice-actions .invoice-heading h1{font-size:16px!important}.invoice-status-banner{flex-wrap:wrap;align-items:stretch!important}.invoice-status-banner>.status-msg{flex:1 1 100%}.invoice-status-banner>.btn{width:100%}.input,.select,.textarea,.btn{max-width:100%}.invoice-editor-root{max-width:100%!important;margin:0!important}.filter-tabs{flex-wrap:wrap;row-gap:4px}}@media (max-width: 380px){.kpi-grid{grid-template-columns:1fr}.mobile-top-bar-inner{gap:6px}.mobile-top-bar .btn.primary .btn-label{display:none}.invoice-item-row{grid-template-areas:"desc del" "meta meta" "price price" "total total"}.mobile-nav-item{font-size:9px}}
