@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=DM+Sans:wght@300;400;500;600&display=swap");:root,[data-theme=light]{--bg:#efe8d4;--surface:#fbf7ea;--surface-2:#f4eedb;--border:#ddd2b6;--border-lt:#e8e0c9;--text:#14140f;--text-2:#59544a;--text-3:#8b8472;--accent:#97770f;--accent-ink:#fffdf7;--accent-lt:#f3e9c9;--amber:#b45309;--amber-lt:#fbeac4;--danger:#b4231f;--danger-lt:#f8e5e2;--nav-bg:rgba(239,232,212,.92);--hover-border:#c9bb98;--row-hover:#f1e9d2;--shadow-sm:0 1px 3px rgba(40,32,8,.06),0 1px 2px rgba(40,32,8,.04);--shadow-md:0 4px 12px rgba(40,32,8,.08),0 1px 4px rgba(40,32,8,.05);--shadow-lg:0 12px 32px rgba(40,32,8,.10),0 2px 8px rgba(40,32,8,.06);--radius:10px;--radius-lg:16px;--font-sans:"DM Sans",system-ui,sans-serif;--font-serif:"Fraunces",Georgia,serif;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}[data-theme=dark]{--bg:#15151d;--surface:#1f1f2a;--surface-2:#1a1a24;--border:#34343f;--border-lt:#2a2a35;--text:#fbf6df;--text-2:#b8b2a0;--text-3:#847e6e;--accent:#e3c04a;--accent-ink:#14110a;--accent-lt:rgba(212,175,55,.16);--amber:#e0913b;--amber-lt:rgba(224,145,59,.16);--danger:#e0696a;--danger-lt:rgba(224,105,106,.15);--nav-bg:rgba(21,21,29,.9);--hover-border:#44444f;--row-hover:#262633;--shadow-sm:0 1px 3px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.4);--shadow-md:0 6px 18px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);--shadow-lg:0 16px 40px rgba(0,0,0,.6),0 3px 10px rgba(0,0,0,.45)}html{color-scheme:light dark}*{transition:background-color .2s ease,border-color .2s ease,color .2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:.9375rem;line-height:1.6;overflow-x:clip}::selection{background:var(--accent-lt);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content>*{animation:rise .4s var(--ease-out) both}.page-content>:first-child{animation-delay:0s}.page-content>:nth-child(2){animation-delay:40ms}.page-content>:nth-child(3){animation-delay:80ms}.page-content>:nth-child(4){animation-delay:.12s}.page-content>:nth-child(5){animation-delay:.16s}.page-content>:nth-child(n+6){animation-delay:.2s}@media (prefers-reduced-motion:reduce){.page-content>*{animation:none}*{transition-duration:0s!important;animation-duration:.01s!important}}.app-shell{min-height:100dvh;display:flex;align-items:stretch}.sidebar{width:232px;flex-shrink:0;display:flex;flex-direction:column;gap:.25rem;padding:1rem .875rem 1rem 1.125rem;position:-webkit-sticky;position:sticky;top:0;height:100dvh;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand{display:flex;align-items:center;gap:.625rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.5rem .75rem;margin-bottom:1rem;text-decoration:none;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.sidebar-brand:hover{border-color:var(--hover-border);box-shadow:var(--shadow-md)}.sidebar-logo{width:2.4rem;height:2.4rem;object-fit:contain;flex-shrink:0}.sidebar-brand-name{font-family:var(--font-serif);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1}.sidebar-group{margin-bottom:1.125rem}.sidebar-group-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);padding:0 .75rem;margin-bottom:.375rem}.sidebar-link{display:flex;align-items:center;gap:.625rem;padding:.4375rem .75rem;margin-bottom:1px;border-radius:8px;font-size:.875rem;font-weight:400;color:var(--text-2);text-decoration:none;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar-link svg{flex-shrink:0;color:var(--text-3);transition:color .15s ease}@media (hover:hover) and (pointer:fine){.sidebar-link:hover{background:var(--row-hover);color:var(--text)}.sidebar-link:hover svg{color:var(--text-2)}}.sidebar-link:active{transform:scale(.99)}.sidebar-link.active{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm);color:var(--text);font-weight:500}.sidebar-link.active svg{color:var(--accent)}.sidebar-theme-row{justify-content:space-between;padding:.25rem .75rem}.sidebar-theme-label,.sidebar-theme-row{display:flex;align-items:center;gap:.625rem}.sidebar-theme-label{font-size:.875rem;color:var(--text-2)}.sidebar-theme-label svg{color:var(--text-3)}.sidebar-footer{margin-top:auto;padding-top:1rem;display:flex;flex-direction:column;gap:.625rem}.sidebar-user-card{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.375rem .5rem;min-height:3rem;min-width:0;overflow:hidden}.sidebar-user-card>div{min-width:0;max-width:100%}.sidebar-link-btn{width:100%;background:transparent;border:1px solid transparent;font-family:var(--font-sans);font-size:.875rem;cursor:pointer;text-align:left}.main-col{flex:1 1;min-width:0;display:flex;flex-direction:column;padding:1rem 1.125rem 1rem 0}.main-panel{flex:1 1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:calc(100dvh - 2rem);overflow:clip}.page-content{max-width:1080px;margin:0 auto;width:100%;padding:2.25rem 2.5rem 3rem}.mobile-topbar,.sidebar-backdrop{display:none}@media (max-width:900px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;align-items:center;gap:.75rem;position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.625rem 1rem}.mobile-topbar-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text);font-family:var(--font-serif);font-size:1.0625rem;font-weight:600}.mobile-topbar-brand :is(img,svg){width:2rem;height:2rem;object-fit:contain}.mobile-menu-btn{margin-left:auto;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-2);cursor:pointer;transition:transform .12s var(--ease-out),border-color .15s ease}.mobile-menu-btn:active{transform:scale(.95)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(280px,84vw);background:var(--bg);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .28s var(--ease-out),visibility 0s linear .28s;visibility:hidden}.sidebar.open{transform:translateX(0);visibility:visible;transition:transform .28s var(--ease-out),visibility 0s}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:50;background:rgba(10,8,2,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.main-col{padding:.75rem}.main-panel{min-height:auto}.page-content{padding:1.5rem 1.125rem 2.5rem}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}.page-head .page-title{margin-bottom:0}.page-head-actions{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.page-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:500;letter-spacing:-.02em;line-height:1.2;color:var(--text);margin-bottom:1.75rem;text-wrap:balance}.page-title span{color:var(--text-3);font-weight:400;font-style:italic}.page-kicker{font-size:.8125rem;color:var(--text-3);margin-bottom:.25rem;font-feature-settings:"tnum"}.page-kicker:first-letter{text-transform:uppercase}.section-title{font-family:var(--font-serif);font-size:1.125rem;font-weight:500;letter-spacing:-.015em;color:var(--text);margin-bottom:1rem}.section-count{font-family:var(--font-sans);font-size:.875rem;font-weight:400;color:var(--text-3);font-style:normal}.btn-ghost,.btn-primary,.btn-secondary,.btn-text{font-family:var(--font-sans);font-size:.875rem;font-weight:500;border-radius:8px;padding:.5rem 1.125rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4375rem;line-height:1.45;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s var(--ease-out),opacity .15s ease}.btn-ghost:active,.btn-primary:active,.btn-secondary:active{transform:scale(.97)}.btn-primary{color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);box-shadow:var(--shadow-sm)}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.06)}}.btn-secondary{color:var(--accent);background:var(--accent-lt);border:1px solid transparent}@media (hover:hover) and (pointer:fine){.btn-secondary:hover:not(:disabled){border-color:var(--accent)}}.btn-ghost{color:var(--text-2);background:transparent;border:1px solid var(--border)}@media (hover:hover) and (pointer:fine){.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--hover-border);background:var(--row-hover)}}.btn-text{color:var(--accent);background:transparent;border:1px solid transparent;padding:.5rem .625rem}@media (hover:hover) and (pointer:fine){.btn-text:hover:not(:disabled){background:var(--accent-lt)}}.btn-danger{font-family:var(--font-sans);font-size:.875rem;font-weight:500;border-radius:8px;padding:.5rem 1.125rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1.45;white-space:nowrap;color:var(--danger);background:transparent;border:1px solid var(--danger);transition:background .15s ease,transform .12s var(--ease-out),opacity .15s ease}@media (hover:hover) and (pointer:fine){.btn-danger:hover:not(:disabled){background:var(--danger-lt)}}.btn-danger:active{transform:scale(.97)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{font-size:.8125rem;padding:.3125rem .75rem;border-radius:6px}.btn-ghost:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-text:disabled{opacity:.5;cursor:not-allowed}.btn-logout{font-family:var(--font-sans);font-size:.8125rem;color:var(--text-3);background:transparent;border:1px solid var(--border);border-radius:6px;padding:.3125rem .75rem;cursor:pointer;transition:color .15s,border-color .15s}.btn-logout:hover{color:var(--text);border-color:var(--text-3)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.125rem 1.375rem;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.375rem;transition:box-shadow .2s ease,border-color .2s ease,transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){a.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--hover-border);transform:translateY(-2px)}}a.stat-card:active{transform:translateY(0) scale(.99)}.stat-label{font-size:.8125rem;color:var(--text-2);font-weight:400;letter-spacing:.01em}.stat-value{font-family:var(--font-serif);font-size:2.25rem;font-weight:500;line-height:1;color:var(--text);letter-spacing:-.03em;font-feature-settings:"tnum"}.stat-value small{font-size:1.05rem;color:var(--text-3);font-weight:400;letter-spacing:0}.stat-card.warn .stat-value{color:var(--amber)}.gold-card{position:relative;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1.125rem 1.375rem;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;color:#2b2008;background:radial-gradient(120% 140% at 85% 0,rgba(255,232,160,.95),rgba(227,192,74,.55) 45%,rgba(151,119,15,.35) 100%),linear-gradient(160deg,#f3e3ae,#d9b545)}.gold-card:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.07'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.gold-card .stat-label{color:#4d3c10}.gold-card .stat-value{color:#2b2008}[data-theme=dark] .gold-card{background:radial-gradient(110% 130% at 85% -10%,rgba(227,192,74,.28),rgba(227,192,74,.07) 45%,transparent 70%),linear-gradient(165deg,#221d10,#16130a);border-color:rgba(227,192,74,.35)}[data-theme=dark] .gold-card:after{opacity:.35}[data-theme=dark] .gold-card .stat-label{color:#cdb878}[data-theme=dark] .gold-card .stat-value{color:#f3e7bd}.dash-grid{display:grid;grid-template-columns:3fr 2fr;grid-gap:1rem;gap:1rem;align-items:start;margin-bottom:1.5rem}@media (max-width:760px){.dash-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.panel-pad{padding:1.25rem 1.5rem 1rem}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.125rem}.recent-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.recent-list-header{padding:.875rem 1.25rem;font-size:.8125rem;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.recent-item,.recent-list-header{border-bottom:1px solid var(--border-lt)}.recent-item{display:flex;align-items:baseline;gap:1rem;padding:.75rem 1.25rem;text-decoration:none;color:inherit;transition:background .15s}.recent-item:last-child{border-bottom:none}.recent-item:hover{background:var(--row-hover)}.recent-id{font-family:var(--font-serif);font-size:.9375rem;font-weight:500;color:var(--accent);flex-shrink:0;min-width:3.5rem}.recent-date{font-size:.8125rem;color:var(--text-3);flex-shrink:0;font-feature-settings:"tnum";min-width:6rem}.recent-desc{font-size:.9rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:.75rem 1.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface-2)}.data-table thead th.num{text-align:right}.data-table tbody tr{border-bottom:1px solid var(--border-lt);transition:background .12s}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--row-hover)}.data-table tbody td{padding:.75rem 1.25rem;font-size:.9rem;vertical-align:middle}.data-table tbody td.num{text-align:right;font-feature-settings:"tnum";font-size:.875rem;color:var(--text-2)}.data-table tbody tr.sum-row td{border-top:1px solid var(--border);background:var(--surface-2);font-weight:500}.data-table .ver-id{font-family:var(--font-serif);font-weight:500;color:var(--accent)}.data-table a{color:var(--accent);text-decoration:none}.data-table a:hover{text-decoration:underline}.detail-meta{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-lt)}.detail-date{font-size:.875rem;color:var(--text-3);font-feature-settings:"tnum"}.detail-desc{font-size:.9375rem;color:var(--text-2)}.back-link{font-size:.8125rem;color:var(--text-3);text-decoration:none;display:inline-flex;align-items:center;gap:.375rem;margin-bottom:1.25rem;transition:color .15s,gap .15s var(--ease-out)}.back-link:hover{color:var(--accent)}.receipt-image-wrap{margin-top:2rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);max-width:520px}.receipt-image-wrap img{display:block;width:100%;height:auto}.folder-section{margin-bottom:2.5rem}.folder-heading{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-lt)}.receipt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));grid-gap:.875rem;gap:.875rem}.receipt-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease,transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){.receipt-card-link:hover .receipt-card{box-shadow:var(--shadow-md);border-color:var(--hover-border);transform:translateY(-2px)}}.receipt-card-link:active .receipt-card{transform:translateY(0) scale(.99)}.receipt-thumb{width:100%;height:112px;object-fit:cover;display:block;background:var(--bg)}.receipt-thumb-placeholder{width:100%;height:112px;background:var(--border-lt);display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:1.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.receipt-info{padding:.75rem}.receipt-vendor{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-amount,.receipt-vendor{font-weight:500;color:var(--text)}.receipt-amount{font-family:var(--font-serif);font-size:1.0625rem;margin-top:.125rem;font-feature-settings:"tnum"}.receipt-status{display:inline-block;margin-top:.375rem;font-size:.75rem;padding:.1875rem .5rem;border-radius:4px;font-weight:500;letter-spacing:.02em}.receipt-status.okvitterad{background:var(--amber-lt);color:var(--amber)}.receipt-status.bokford{background:var(--accent-lt);color:var(--accent)}.status-pill{display:inline-block;font-size:.8125rem;font-weight:500;padding:.25rem .75rem;border-radius:4px;letter-spacing:.02em;align-self:center;white-space:nowrap}.status-pill.s-utkast{background:var(--border-lt);color:var(--text-3);border:1px solid var(--border)}.status-pill.s-skickad{background:var(--amber-lt);color:var(--amber);border:1px solid var(--amber)}.status-pill.s-betald{background:var(--accent-lt);color:var(--accent);border:1px solid var(--accent)}.status-pill.s-krediterad{background:var(--border-lt);color:var(--text-3);border:1px solid var(--border);text-decoration:line-through}.status-pill.s-forfallen,.status-pill.s-kredit{background:var(--danger-lt);color:var(--danger);border:1px solid var(--danger)}.empty-state{padding:3rem 1.25rem;text-align:center;color:var(--text-3);font-size:.9375rem;font-style:italic}.empty-state-card{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:3.5rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-state-card p{color:var(--text-3);font-style:italic;max-width:34ch}.empty-state-card svg{color:var(--text-3);opacity:.6}.theme-switch{position:relative;width:2.125rem;height:1.25rem;flex-shrink:0;border-radius:999px;border:1px solid var(--border);background:var(--border-lt);cursor:pointer;transition:background .2s ease,border-color .2s ease}.theme-switch[data-on]{background:var(--accent);border-color:var(--accent)}.theme-switch-knob{position:absolute;top:1px;left:1px;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out)}.theme-switch[data-on] .theme-switch-knob{transform:translateX(.875rem)}.theme-switch:active .theme-switch-knob{transform:scale(.9)}.theme-switch[data-on]:active .theme-switch-knob{transform:translateX(.875rem) scale(.9)}.content-footer{max-width:1080px;margin:0 auto;width:100%;padding:1.25rem 2.5rem 1.5rem;border-top:1px solid var(--border-lt);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;color:var(--text-3)}.content-footer nav{display:flex;gap:1.25rem}.content-footer a{color:var(--text-3);text-decoration:none;transition:color .15s ease}.content-footer a:hover{color:var(--accent)}@media (max-width:900px){.content-footer{padding:1.25rem 1.125rem 1.5rem}}.theme-toggle{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1;background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-2);transition:border-color .15s,background .15s,transform .12s var(--ease-out),box-shadow .15s}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{border-color:var(--accent);background:var(--accent-lt)}}.theme-toggle:active{transform:scale(.94)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);max-width:560px}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.8125rem;font-weight:500;color:var(--text-2)}.form-label .req{color:var(--amber)}.field-input,select.field-input{width:100%;padding:.5rem .75rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;font-family:var(--font-sans);font-size:.9rem;transition:border-color .15s,box-shadow .15s;outline:none}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-lt)}.field-input:focus-visible{outline:none}.field-input::placeholder{color:var(--text-3)}.field-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:.3rem;font-weight:500}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.chip-row{display:flex;flex-wrap:wrap;gap:.375rem}.chip{font-family:var(--font-sans);font-size:.8125rem;font-weight:500;padding:.3125rem .75rem;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .12s var(--ease-out)}@media (hover:hover) and (pointer:fine){.chip:hover{border-color:var(--hover-border);color:var(--text)}}.chip:active{transform:scale(.96)}.chip.active{background:var(--accent-lt);border-color:var(--accent);color:var(--accent)}.editor-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem;margin-top:1.25rem}.editor-section-title{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--text);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-lt)}.editor-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-lt)}.editor-status{font-size:.8125rem;color:var(--text-3);font-style:italic}.receipt-card-link{text-decoration:none;color:inherit;display:block}.account-picker-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:.5rem;animation:picker-in .16s var(--ease-out)}@keyframes picker-in{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.account-picker-search{padding:.625rem .75rem;border-bottom:1px solid var(--border-lt)}.account-picker-list{list-style:none;max-height:260px;overflow-y:auto;overscroll-behavior:contain}.account-picker-item{display:flex;align-items:baseline;gap:.75rem;padding:.5rem .875rem;cursor:pointer;border-bottom:1px solid var(--border-lt);transition:background .1s}.account-picker-item:last-child{border-bottom:none}.account-picker-item:hover{background:var(--row-hover)}.account-picker-item.selected{background:var(--accent-lt)}.account-picker-item.selected .account-picker-name,.account-picker-item.selected .account-picker-number{color:var(--accent)}.account-picker-number{font-family:var(--font-serif);font-size:.9rem;font-weight:500;color:var(--text);flex-shrink:0;min-width:2.75rem;font-feature-settings:"tnum"}.account-picker-name{font-size:.875rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-picker-empty{padding:.875rem;font-size:.875rem;color:var(--text-3);font-style:italic;text-align:center}.account-picker-footer{padding:.5rem .75rem;border-top:1px solid var(--border-lt);display:flex;justify-content:flex-end}.invoiced-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem 1rem;box-shadow:var(--shadow-sm)}.invoiced-chart-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.125rem}.invoiced-chart-total{font-family:var(--font-serif);font-size:.9375rem;font-weight:500;color:var(--text-2);font-feature-settings:"tnum";letter-spacing:-.01em}.invoiced-chart-empty{font-size:.875rem;color:var(--text-3);font-style:italic;padding:1.5rem 0 .5rem;text-align:center}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-bar{transform-box:fill-box;transform-origin:bottom;animation:bar-grow .5s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.chart-bar{animation:none}}.connect-card{max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.75rem}.connect-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;letter-spacing:-.01em;color:var(--text);margin-bottom:.5rem}.settings-help{color:var(--text-2);font-size:.9rem;line-height:1.55;margin-bottom:1.25rem}.settings-help strong{color:var(--text);font-weight:500}.settings-note{color:var(--text-3);font-size:.8rem;margin-top:1.25rem;line-height:1.5}.connect-reveal{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.qr-reveal{position:relative;padding:.875rem;background:#ffffff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);cursor:pointer;line-height:0}.settings-qr{display:block;width:196px;height:196px;transition:filter .25s}.settings-qr.locked{filter:blur(11px)}.reveal-hint{position:absolute;inset:.875rem;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#14140f;background:rgba(255,255,255,.45);border-radius:12px;line-height:1}.connect-manual{width:100%}.settings-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:.9rem 0 .3rem}.connect-value{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:.85rem;font-family:ui-monospace,SF Mono,Menlo,monospace;text-align:left}button.connect-key{cursor:pointer}.connect-key-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:filter .2s}.connect-key-text.locked{filter:blur(4px);letter-spacing:.12em}.connect-key-toggle{flex-shrink:0;font-family:var(--font-sans);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.cl-organizationSwitcherTrigger,.cl-organizationSwitcherTrigger p,.cl-organizationSwitcherTrigger span{color:var(--text)!important}.cl-organizationSwitcherTrigger:hover{background:var(--accent-lt)!important}.lightbox-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;cursor:zoom-out;animation:lightbox-in .18s ease}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:min(90vw,860px);max-height:90dvh;width:auto;height:auto;border-radius:var(--radius);box-shadow:0 24px 64px rgba(0,0,0,.7),0 4px 16px rgba(0,0,0,.5);cursor:default;animation:lightbox-scale .22s var(--ease-out);object-fit:contain}@keyframes lightbox-scale{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-close{position:fixed;top:1rem;right:1.25rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1rem;line-height:1;width:2.25rem;height:2.25rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .12s var(--ease-out)}.lightbox-close:hover{background:rgba(255,255,255,.22)}.lightbox-close:active{transform:scale(.92)}.receipt-detail-layout{display:grid;grid-template-columns:420px 1fr;grid-gap:2.5rem;gap:2.5rem;align-items:start}@media (max-width:860px){.receipt-detail-layout{grid-template-columns:1fr}}.receipt-detail-image-col .receipt-image-wrap{margin-top:0;max-width:100%}.receipt-detail-facts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.receipt-facts-table{width:100%;border-collapse:collapse}.receipt-facts-table tr{border-bottom:1px solid var(--border-lt)}.receipt-facts-table tr:last-child{border-bottom:none}.receipt-facts-table th{padding:.625rem 1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);text-align:left;white-space:nowrap;width:1%}.receipt-facts-table td{padding:.625rem 1rem;font-size:.9rem;color:var(--text)}.status-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.status-page :is(img,svg){width:7rem;height:7rem;object-fit:contain;opacity:.9}.status-code{font-size:1rem;color:var(--text-3);letter-spacing:.12em}.status-code,.status-title{font-family:var(--font-serif)}.status-title{font-size:1.75rem;font-weight:500;letter-spacing:-.02em;color:var(--text)}.status-text{color:var(--text-2);max-width:38ch}.auth-page{min-height:100dvh;justify-content:center;gap:1.5rem;padding:1.5rem}.auth-brand,.auth-page{display:flex;flex-direction:column;align-items:center}.auth-brand{gap:.25rem;animation:rise .45s var(--ease-out) both}.auth-brand :is(img,svg){width:5.5rem;height:5.5rem;object-fit:contain}.auth-brand-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.auth-card-wrap{animation:rise .45s var(--ease-out) 60ms both}.legal-page{max-width:760px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.legal-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1.25rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.legal-brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text);font-family:var(--font-serif);font-size:1.125rem;font-weight:600}.legal-navlink{font-size:.875rem;color:var(--accent);text-decoration:none}.legal-navlink:hover{text-decoration:underline}.legal-body{color:var(--text-2);line-height:1.7}.legal-body p{margin-bottom:1rem}.legal-body strong{color:var(--text);font-weight:500}.legal-body .section-title{margin-top:2rem}.legal-list{margin:0 0 1rem 1.25rem}.legal-list li{margin-bottom:.4rem}.legal-muted{color:var(--text-3);font-size:.875rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.auth-card .btn-ghost,.auth-card .btn-primary,.auth-card .btn-secondary{width:100%}.auth-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:500;letter-spacing:-.015em;text-align:center}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-3);font-size:.8125rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;border-top:1px solid var(--border-lt)}.auth-alt{text-align:center;font-size:.875rem;color:var(--text-2)}.auth-alt a{color:var(--accent);text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-error{background:var(--danger-lt);border:1px solid var(--danger);color:var(--danger);border-radius:6px}.auth-error,.auth-info{padding:.5rem .75rem;font-size:.875rem}.auth-info{background:var(--accent-lt);border:1px solid var(--accent);color:var(--accent);border-radius:6px}.org-switcher{position:relative}.org-switcher-current{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .625rem .5rem .75rem;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;transition:border-color .15s ease,transform .12s var(--ease-out)}.org-switcher-current:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.org-switcher-current:hover{border-color:var(--hover-border)}}.org-caret{flex:none;color:var(--text-3);transition:transform .18s var(--ease-out)}.org-caret.open{transform:rotate(180deg)}.org-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;z-index:60;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.375rem;box-shadow:0 12px 32px rgba(40,32,8,.1),0 2px 8px rgba(40,32,8,.06);transform-origin:bottom center;animation:org-menu-in .15s var(--ease-out) both}@keyframes org-menu-in{0%{opacity:0;transform:scale(.97) translateY(3px)}to{opacity:1;transform:scale(1) translateY(0)}}.org-menu-label{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.org-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;padding:.4375rem .5rem;font-family:var(--font-sans);font-size:.84rem;color:var(--text-2);cursor:pointer;text-decoration:none}.org-menu-item.active{background:var(--accent-lt);color:var(--accent);border-color:var(--accent)}.org-menu-item:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.org-menu-item:hover:not(.active){background:var(--row-hover);color:var(--text)}}.org-menu-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-menu-divider{border-top:1px solid var(--border-lt);margin:.25rem .375rem}.org-menu-create{display:flex;flex-direction:column;gap:.5rem;padding:.375rem}@media (prefers-reduced-motion:reduce){.org-menu{animation:auth-fade .15s ease both}}.profile-grid{display:flex;flex-direction:column;gap:1.25rem;max-width:640px}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.profile-section h2{font-family:var(--font-serif);font-size:1.05rem;font-weight:500;letter-spacing:-.015em;margin-bottom:.75rem}.session-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--border-lt);font-size:.875rem;color:var(--text-2)}.session-row:first-of-type{border-top:0}.auth-view{will-change:transform,opacity}.auth-view-forward{animation:auth-slide-fwd .2s var(--ease-out) both}.auth-view-back{animation:auth-slide-back .2s var(--ease-out) both}@keyframes auth-slide-fwd{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes auth-slide-back{0%{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}.auth-methods{display:flex;flex-direction:column;gap:.625rem}.auth-method{width:100%;opacity:0;animation:auth-method-in .25s var(--ease-out) both}@keyframes auth-method-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-back{display:inline-flex;align-items:center;gap:.375rem;align-self:flex-start;margin-bottom:.25rem;padding:.25rem .5rem .25rem .25rem;border:0;background:transparent;border-radius:6px;font-family:var(--font-sans);font-size:.8125rem;color:var(--text-3);cursor:pointer;transition:color .15s ease,transform .12s var(--ease-out)}.auth-back:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.auth-back:hover{color:var(--text)}}.auth-hint{color:var(--text-2);font-size:.875rem;text-align:center;margin-top:-.25rem}.auth-view{display:flex;flex-direction:column;gap:1rem}@media (prefers-reduced-motion:reduce){.auth-method,.auth-view-back,.auth-view-forward{animation:auth-fade .2s ease both}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}}