:root{--font-display:"Geist",-apple-system,BlinkMacSystemFont,sans-serif;--font-ui:"Geist",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--bg:#000;--surface:#0a0a0a;--surface-2:#171717;--text:#ededed;--text-muted:#8a8a93;--text-dim:#52525b;--border:#262626;--border-strong:#404040;--accent:#fafafa;--accent-fg:#000;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.625rem;--radius-pill:999px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px)}*,:after,:before{box-sizing:border-box}a{color:inherit;text-decoration:none}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#__nuxt,.app-shell{height:100vh}.app-shell{display:flex}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-dim)}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:focus,textarea:focus{border-color:var(--accent)!important}input[type=date]{color-scheme:dark}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .18s ease;border-radius:6px;padding:4px}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.inline-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);font-size:13px;padding:8px 12px;border-radius:0;outline:none;font-variant-numeric:tabular-nums}.inline-input:focus{border-color:var(--accent)}.entry-row{transition:background .15s ease}.entry-row:hover{background:var(--surface)}.entry-row .entry-delete{opacity:0;transition:opacity .15s ease}.entry-row:hover .entry-delete{opacity:1}.entry-delete:hover{color:#f19f91;background:var(--surface-2)}.client-row:hover{border-color:var(--border-strong)}.client-row:hover,.invoice-row:hover{background:var(--surface-2)}.picker-row:hover{background:var(--surface);border-color:var(--text-dim)}.nav-item:not(.active):hover{background:var(--surface-2);color:var(--text)}.card-hoverable:hover{border-color:var(--text-dim)}.modal-backdrop{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .18s ease}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 30px 60px -20px #00000080;max-height:90vh;overflow-y:auto;animation:slideUp .22s cubic-bezier(.2,.8,.2,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 16px;border-bottom:1px solid var(--border)}.modal-title{font-family:var(--font-display);font-size:22px;font-weight:400;margin:0;letter-spacing:-.01em}.modal-body{padding:20px 28px 28px}@media(max-width:640px){.sheet-backdrop{align-items:flex-end;padding:0}.sheet-panel{width:100%!important;max-width:100%;border-radius:10px 10px 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom);animation:slideUpSheet .36s cubic-bezier(.32,.72,0,1)}.modal-header:has(+.modal-body){padding-top:16px;padding-bottom:14px}}.sheet-handle{width:32px;height:3px;border-radius:999px;background:var(--border-strong);margin:10px auto 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}@media(max-width:640px){::-webkit-scrollbar{display:none}[role=button],a,button{touch-action:manipulation}}@media print{body *{visibility:hidden!important}#invoice-paper,#invoice-paper *{visibility:visible!important}#invoice-paper{position:absolute!important;left:0!important;top:0!important;width:100%!important;box-shadow:none!important;padding:48px!important}.no-print{display:none!important}}
