:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{color-scheme:dark light}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}#root{width:100%;max-width:100vw;overflow-x:hidden}.screen{width:100%;max-width:100vw;min-height:100vh;background:#2f2f3a;color:#e8e8f0;padding:16px;position:relative;box-sizing:border-box}button,button:hover,button:active,button:focus,svg,svg:hover,svg:active,svg:focus,path,path:hover,path:active,path:focus,input:focus,input:active,input:focus-visible,textarea:focus,textarea:active,textarea:focus-visible{outline:0;outline:none!important;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.topbar{display:grid;grid-template-columns:1fr auto 1fr;height:48px;align-items:center}.title{text-align:center;font-size:18px;opacity:.9}.controls{display:flex;gap:8px;align-items:center;justify-content:center;margin:8px 0;flex-wrap:wrap}.keypad-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:8px 0 12px}.keypad{gap:10px;width:260px}.keypad button{height:64px;font-size:20px;border-radius:32px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.display{text-align:center;width:260px;font-size:28px;margin:6px 0 10px;font-weight:700;letter-spacing:1px}.side-rail{top:150px;right:0;position:absolute;gap:10px;display:flex;flex-direction:column;align-items:center}.side-rail button{width:44px;height:44px;padding:0;border-radius:22px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:18px}.carousel{position:relative;overflow:hidden;margin-top:8px}.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;transition:transform .25s ease}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:12px;padding:4px 2px}.carousel-nav{display:flex;justify-content:space-between;margin-top:6px}.cat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:12px;background:#ffffff0f;border:1px solid transparent;cursor:pointer}.cat-item.active{border-color:#7dd3fc;box-shadow:0 0 0 2px #7dd3fc4d inset}.cat-emoji{font-size:22px}.cat-name{font-size:12px;opacity:.9;text-align:center}.section{background:#ffffff0f;padding:8px 12px;border-radius:10px;margin-top:12px}.list{margin:0;padding-left:16px}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}@media (max-width: 480px){.screen{padding:12px}.keypad{width:240px}.display{width:240px;font-size:24px}.side-rail{right:4px}.side-rail button{width:40px;height:40px;font-size:16px}}@media (max-width: 360px){.screen{padding:8px}.keypad{width:220px}.display{width:220px;font-size:22px}}:root{--space-xs: clamp(.25rem, .25vw, .5rem);--space-sm: clamp(.5rem, .5vw, 1rem);--space-md: clamp(.75rem, .75vw, 1.5rem);--space-lg: clamp(1rem, 1vw, 2rem);--space-xl: clamp(3vw, 3vw, 4rem);--space-2xl: clamp(2rem, 2vw, 3rem);--space-3xl: clamp(3rem, 3vw, 4rem);--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--hit-target-sm: clamp(32px, 3.2vw, 40px);--hit-target-md: clamp(40px, 4vw, 48px);--hit-target-lg: clamp(48px, 4.8vw, 56px);--radius-sm: clamp(6px, .6vw, 8px);--radius-md: clamp(8px, .8vw, 12px);--radius-lg: clamp(12px, 1.2vw, 16px);--radius-xl: clamp(20px, 2vw, 24px);--radius-2xl: clamp(28px, 3vw, 40px);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--color-primary: #10b981;--color-primary-hover: #22c55e;--color-secondary: #64748b;--color-danger: #ef4444;--color-warning: #f59e0b;--color-success: #10b981;--color-edit: #60a5fa;--bg-primary: #1a1a1a;--bg-secondary: #212220;--bg-tertiary: #30312f;--bg-elevated: #434442;--bg-overlay: rgba(0, 0, 0, .5);--bg-edit: rgba(59, 130, 246, .15);--bg-danger: rgba(239, 68, 68, .1);--bg-danger-hover: rgba(239, 68, 68, .2);--bg-secondary-transparent: rgba(189, 216, 178, .05);--bg-tertiary-transparent: rgba(0,0,0,.1);--text-primary: #e8e8f0;--text-secondary: #a0a0a0;--text-tertiary: #6b7280;--text-muted: #6b7280;--text-on-primary: #1a1a1a;--border-primary: #333333;--border-secondary: #4b4b4b;--border-focus: var(--color-primary);--border-edit: rgba(59, 130, 246, .3);--border-danger: rgba(239, 68, 68, .3);--border-danger-hover: rgba(239, 68, 68, .5);--color-primary-alpha: rgba(74, 222, 128, .1);--color-primary-dark: #16a34a}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f9fbf7;--bg-tertiary: #f2f3ed;--bg-elevated: #e2e4db;--bg-overlay: rgba(0, 0, 0, .3);--bg-secondary-transparent: rgba(167, 200, 100, .05);--bg-tertiary-transparent: rgba(32, 33, 32, .03);--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-on-primary: #ffffff;--border-primary: #e5e5e5;--border-secondary: #d4d4d4;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .15), 0 2px 4px -2px rgb(0 0 0 / .15);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .15), 0 4px 6px -4px rgb(0 0 0 / .15);--color-primary-alpha: rgba(74, 222, 128, .15)}.is-desktop{--space-xs: clamp(.25rem, .375vw, .5rem);--space-sm: clamp(.5rem, .75vw, 1rem);--space-md: clamp(.75rem, 1vw, 1.25rem);--space-lg: clamp(1rem, 1.25vw, 1.5rem);--space-xl: clamp(1.5rem, 2vw, 2.5rem);--space-2xl: clamp(2rem, 2.5vw, 3rem);--space-3xl: clamp(3rem, 3.5vw, 4rem);--font-xs: .875rem;--font-sm: 1rem;--font-base: 1.125rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 1.875rem;--font-3xl: 2.25rem;--hit-target-sm: 36px;--hit-target-md: 44px;--hit-target-lg: 52px}.is-touch{--hit-target-sm: 44px;--hit-target-md: 48px;--hit-target-lg: 56px}@media (prefers-reduced-motion: reduce){:root{--transition-duration: .01ms;--animation-duration: .01ms}}@media (prefers-contrast: high){:root{--border-primary: #ffffff;--text-secondary: #ffffff;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3)}}@media (prefers-contrast: high){[data-theme=light]{--border-primary: #000000;--text-secondary: #000000}}@container (min-width: 700px){.invoices-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}}@container (min-width: 1000px){.invoices-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width: 480px){:root{--space-2xl: clamp(1rem, 1.25vw, 1.5rem)}}.desktop-page{max-width:1200px;margin:0 auto;padding:var(--space-xl)}.mobile-page{padding:var(--space-md);min-height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-primary)}.page-title-section{flex:1}.page-title{font-size:var(--font-3xl);font-weight:700;margin:0;color:var(--text-primary)}.page-subtitle{font-size:var(--font-base);color:var(--text-secondary);margin:var(--space-xs) 0 0 0}.page-actions{display:flex;gap:var(--space-md)}.desktop-content-grid{display:grid;grid-template-columns:280px 1fr;gap:var(--space-2xl);min-height:600px}.sidebar-filters{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);height:fit-content}.filter-section{margin-bottom:var(--space-xl)}.filter-section:last-child{margin-bottom:0}.filter-section h3{font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-md) 0;color:var(--text-primary)}.filter-options{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all .2s ease;text-align:left}.filter-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-btn.active{background:var(--color-primary);color:var(--bg-primary);border-color:var(--color-primary)}.main-content{min-height:600px}.mobile-header{margin-bottom:var(--space-lg)}.mobile-header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.mobile-title{font-size:var(--font-2xl);font-weight:700;margin:0;color:var(--text-primary)}.mobile-actions{display:flex;gap:var(--space-sm)}.mobile-action-btn{width:var(--hit-target-md);height:var(--hit-target-md);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mobile-action-btn:hover{background:var(--bg-tertiary)}.mobile-filters-sheet{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.mobile-filters-sheet .filter-options{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.mobile-filters-sheet .filter-btn{flex:1;min-width:80px;text-align:center}.mobile-content{padding-bottom:80px}.invoices-list{container-type:inline-size}.invoices-list.loading,.invoices-list.empty{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.spinner{width:32px;height:32px;border:3px solid var(--border-primary);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.empty-state{color:var(--text-secondary)}.empty-subtitle{font-size:var(--font-sm);margin-top:var(--space-xs)}.invoice-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md);cursor:pointer;transition:all .2s ease}.invoice-item:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.invoice-item.selected{border-color:var(--color-primary);background:#4ade800d}.invoice-item.highlighted{border-color:var(--color-primary);box-shadow:0 0 0 2px #10b98159;animation:invoice-highlight-pulse 1.8s ease}@keyframes invoice-highlight-pulse{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.invoice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.invoice-number{font-weight:600;color:var(--text-primary);font-size:var(--font-base)}.invoice-status{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:500;text-transform:uppercase}.invoice-details{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.invoice-client{color:var(--text-secondary);font-size:var(--font-sm)}.invoice-total{font-weight:600;color:var(--text-primary);font-size:var(--font-lg)}.invoice-actions{display:flex;gap:var(--space-sm)}@container (min-width: 700px){.invoices-list.desktop-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-lg)}.invoices-list.desktop-list .invoice-item{margin-bottom:0}}.btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:none;font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all .2s ease;min-height:var(--hit-target-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs)}.btn-primary{background:var(--color-primary);color:var(--bg-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--bg-elevated)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs);min-height:var(--hit-target-sm)}.btn-full{width:100%}.fab{position:fixed;bottom:var(--space-xl);right:var(--space-xl);width:var(--hit-target-lg);height:var(--hit-target-lg);border-radius:50%;background:var(--color-primary);color:var(--bg-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all .2s ease;z-index:var(--z-fixed)}.fab:hover{background:var(--color-primary-hover);transform:scale(1.05)}.error-banner{background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);color:var(--color-danger)}.error-banner.mobile{margin:0 var(--space-sm) var(--space-lg) var(--space-sm)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.desktop-categories-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);margin-top:var(--space-lg)}.category-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-primary)}.section-title{font-size:var(--font-xl);font-weight:600;margin:0;color:var(--text-primary)}.category-count{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.category-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all .2s ease}.category-card:hover{background:var(--bg-elevated);border-color:var(--border-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.category-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.icon-placeholder{font-size:24px}.category-info{margin-bottom:var(--space-md)}.category-name{font-size:var(--font-base);font-weight:600;margin:0 0 var(--space-xs) 0;color:var(--text-primary)}.category-type{font-size:var(--font-sm);color:var(--text-secondary);margin:0;text-transform:capitalize}.category-actions{display:flex;gap:var(--space-sm)}.category-actions .btn{flex:1}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:var(--space-2xl);margin-top:var(--space-lg)}.dashboard-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.dashboard-section h2{margin:0 0 var(--space-lg) 0;font-size:var(--font-xl);font-weight:600;color:var(--text-primary)}.overview-section{grid-column:1 / -1}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg)}.overview-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;align-items:center;gap:var(--space-lg);transition:all .2s ease}.overview-card:hover{background:var(--bg-elevated);border-color:var(--border-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-icon{font-size:32px;width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-primary);display:flex;align-items:center;justify-content:center}.card-content h3{margin:0 0 var(--space-xs) 0;font-size:var(--font-base);font-weight:500;color:var(--text-secondary)}.card-amount{margin:0 0 var(--space-xs) 0;font-size:var(--font-2xl);font-weight:700}.card-amount.positive{color:var(--color-success)}.card-amount.negative{color:var(--color-danger)}.card-period{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.transactions-list{display:flex;flex-direction:column;gap:var(--space-md)}.transaction-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all .2s ease}.transaction-item:hover{background:var(--bg-elevated);border-color:var(--border-secondary)}.transaction-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;flex-shrink:0}.transaction-details{flex:1}.transaction-description{margin:0 0 var(--space-xs) 0;font-size:var(--font-base);font-weight:500;color:var(--text-primary)}.transaction-category,.transaction-date{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.transaction-amount{flex-shrink:0}.amount.positive{color:var(--color-success);font-weight:600}.amount.negative{color:var(--color-danger);font-weight:600}.categories-list{display:flex;flex-direction:column;gap:var(--space-sm)}.category-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.category-rank{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-sm)}.category-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center}.category-details{flex:1}.category-name{margin:0 0 var(--space-xs) 0;font-size:var(--font-base);font-weight:500;color:var(--text-primary)}.category-amount{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.action-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;cursor:pointer;transition:all .2s ease;color:inherit;text-decoration:none}.action-card:hover{background:var(--bg-elevated);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-icon{font-size:24px;margin-bottom:var(--space-sm)}.action-card h3{margin:0 0 var(--space-xs) 0;font-size:var(--font-base);font-weight:600;color:var(--text-primary)}.action-card p{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.mobile-page .balance-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-lg);text-align:center}.balance-card h2{margin:0 0 var(--space-md) 0;font-size:var(--font-lg);color:var(--text-secondary)}.balance-amount{font-size:var(--font-3xl);font-weight:700;margin:0 0 var(--space-lg) 0;color:var(--text-primary)}.balance-breakdown{display:flex;justify-content:space-between;gap:var(--space-md)}.balance-item{flex:1;text-align:center}.balance-item .label{display:block;font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.balance-item .amount{display:block;font-weight:600;color:var(--text-primary)}.balance-item.income .amount{color:var(--color-success)}.balance-item.expense .amount{color:var(--color-danger)}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.stat-card h3{margin:0 0 var(--space-sm) 0;font-size:var(--font-sm);color:var(--text-secondary)}.stat-card p{margin:0;font-size:var(--font-xl);font-weight:700;color:var(--text-primary)}.btn:focus-visible,.invoice-item:focus-visible,.mobile-action-btn:focus-visible,.fab:focus-visible,.category-card:focus-visible,.transaction-item:focus-visible,.action-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.desktop-layout{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column}.desktop-content-wrapper{flex:1;overflow-y:auto;overflow-x:visible;margin-top:8vh}.desktop-main-content{display:flex;justify-content:center;padding:var(--space-2xl);background:var(--bg-primary);margin-left:var(--sidebar-width);transition:margin-left .3s ease}.desktop-topbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:0 var(--space-2xl);height:8vh;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:100}.topbar-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;gap:var(--space-xl)}.topbar-left{display:flex;align-items:center}.app-title{font-size:var(--font-xl);font-weight:700;margin:0;color:var(--text-primary)}.topbar-logo{height:40px;width:auto}.topbar-center{display:flex;justify-content:center}.search-container{position:relative;width:300px}.search-input{width:100%;padding:var(--space-sm) var(--space-md) var(--space-sm) 40px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm)}.search-input::placeholder{color:var(--text-secondary)}.search-icon{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-secondary)}.topbar-right{display:flex;align-items:center;gap:var(--space-md);justify-self:end}.topbar-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all .2s ease}.topbar-button.active{color:var(--text-primary)}.topbar-button.highlight{color:var(--color-primary)}.topbar-button:hover{color:var(--text-primary)}.theme-toggle{display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.1)}.notifications-wrapper{position:relative}.notifications-badge{position:absolute;top:-4px;right:-4px;background:var(--color-danger);color:var(--text-on-primary);border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;padding:0 4px;border:2px solid var(--bg-secondary)}.user-profile-wrapper{position:relative}.topbar-button.active{background:var(--bg-tertiary);color:var(--text-primary)}.user-profile-dropdown{position:absolute;top:calc(100% + var(--space-sm));right:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:240px;z-index:var(--z-dropdown);overflow:hidden}.user-profile-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--border-primary)}.user-profile-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.user-profile-info{flex:1;min-width:0}.user-profile-name{font-size:var(--font-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-email{font-size:var(--font-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-divider{height:1px;background:var(--border-primary);margin:0}.user-profile-menu{padding:var(--space-xs)}.user-profile-menu-item{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:none;border:none;color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;text-align:left}.user-profile-menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-profile-menu-item:focus{outline:none;background:var(--bg-tertiary)}.user-profile-menu-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.user-profile-menu-item-danger{color:var(--color-danger)}.user-profile-menu-item-danger:hover{background:#ef44441a;color:var(--color-danger)}.user-profile-menu-item span{flex:1}.desktop-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-primary);padding:1vh 0 4vh;display:flex;flex-direction:column;height:90vh;position:fixed;left:0;top:8vh;bottom:0;width:240px;overflow-y:visible;overflow-x:visible;transition:width .3s ease}.desktop-sidebar.collapsed{width:clamp(80px,6vw,120px)}.desktop-sidebar.collapsed .sidebar-collapse-btn{right:-30px}.sidebar-collapse-btn{position:absolute;top:1vh;padding:0;right:-30px;width:24px;height:24px;opacity:.5;background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.sidebar-collapse-btn:hover{background:var(--bg-elevated);border-color:var(--color-primary);color:var(--text-primary)}.sidebar-nav{flex:1;padding:0 var(--space-md);width:80%}.dashboard-settings-btn-wrapper{position:relative;display:flex;justify-content:start;align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);gap:var(--space-md)}.dashboard-settings-btn-wrapper:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-bg-color{background:var(--color-primary-alpha);color:var(--color-primary)}.settings-bg-color .nav-item{background:transparent;color:var(--color-primary)}.settings-bg-color .dashboard-settings-btn{background:none;color:var(--color-primary)}.nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all .2s ease;margin-bottom:var(--space-xs);justify-content:flex-start}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.desktop-sidebar.collapsed .nav-label{display:none}.desktop-sidebar.collapsed .nav-item{justify-content:center}.nav-item-active{background:var(--color-primary-alpha);color:var(--color-primary)}.nav-label{font-size:var(--font-sm);font-weight:500}.dashboard-settings-btn{width:32px;height:32px;border-radius:6px;padding:0;margin-bottom:var(--space-xs);background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7}.dashboard-settings-btn:hover{color:var(--text-primary);opacity:1}.nav-item-wrapper:hover .dashboard-settings-btn{opacity:1}.sidebar-quick-actions{padding:var(--space-lg) var(--space-md) 0;border-top:1px solid var(--border-primary);margin-top:var(--space-lg);position:relative}.mobile-sidebar-quick-actions{padding:var(--space-lg);border-top:1px solid var(--border-primary)}.mobile-sidebar-account{padding:0;display:flex;align-items:center;gap:var(--space-md);width:100%;justify-content:space-between}.account-divider{height:1px;background:var(--border-primary);margin:0 calc(-1 * var(--space-lg)) var(--space-md)}.mobile-account-item{display:flex;align-items:center;gap:var(--space-sm);padding:0;background:none;border:none;color:var(--text-primary);font-size:var(--font-lg);cursor:pointer;transition:all .2s ease;text-align:left;margin-bottom:var(--space-xs);border-radius:var(--radius-md)}.mobile-account-item:hover{background:var(--bg-tertiary)}.account-label{font-weight:500;color:var(--text-primary)}.account-name{font-size:var(--font-md);color:var(--text-primary)}.mobile-sidebar-section-title,.sidebar-section-title{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-md) 0;text-transform:uppercase;letter-spacing:.5px}.quick-actions-btn{width:100%;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all .2s ease;gap:var(--space-sm)}.quick-actions-btn:hover{background:var(--color-primary-hover);transform:scale(1.02)}.desktop-sidebar.collapsed .quick-actions-btn{width:44px;padding:0;margin:0 auto}.quick-actions-menu{position:absolute;bottom:70px;justify-self:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);box-shadow:var(--shadow-lg);z-index:9999;min-width:180px;opacity:.97}.quick-actions-menu.collapsed{left:var(--space-lg);z-index:9999;position:fixed}.quick-action-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;transition:all .2s ease;width:100%;margin-bottom:var(--space-sm);text-align:left}.quick-action-item-tooltip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.quick-action-item:hover,.quick-action-item-tooltip:hover{background:var(--bg-elevated);color:var(--color-primary-hover)}.dashboard-container{min-height:calc(100vh - 8vh - var(--space-2xl) - var(--space-2xl));padding:var(--space-2xl);background-color:var(--bg-primary);flex-shrink:0}.is-desktop .dashboard-container{width:100%}.dashboard-header{position:absolute;top:calc(8vh + var(--space-lg));right:var(--space-3xl)}.dashboard-title{font-size:var(--font-3xl);font-weight:700;margin:0;color:var(--text-primary)}.financial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-bottom:var(--space-2xl)}.financial-cards-mobile{display:flex;flex-direction:column;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.financial-cards-mobile .financial-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.financial-cards-mobile .card-title{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 var(--space-sm) 0;font-weight:500}.financial-cards-mobile .card-amount{font-size:var(--font-2xl);font-weight:700;color:var(--text-primary);margin:0}.financial-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.financial-card .card-title{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 var(--space-sm) 0;font-weight:500}.financial-card .card-amount{font-size:var(--font-2xl);font-weight:700;color:var(--text-primary);margin:0}.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.chart-container,.activity-container{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.chart-title{font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-lg) 0;color:var(--text-primary)}.line-chart{height:200px;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-md);padding-bottom:0;margin-bottom:var(--space-md)}.recharts-tooltip-wrapper{z-index:9999!important;pointer-events:none}.recharts-active-dot{z-index:10}.chart-tooltip{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-md);z-index:9999;position:relative}.tooltip-label{margin:0 0 var(--space-xs) 0;font-size:var(--font-sm);font-weight:600;color:var(--text-primary)}.tooltip-item{margin:0;font-size:var(--font-xs);color:var(--text-secondary)}.chart-legend{display:flex;justify-content:center;gap:var(--space-lg);margin-top:var(--space-sm)}.legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-xs);color:var(--text-secondary);background:transparent}.legend-color{width:12px;height:2px;border-radius:1px}.chart-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--font-sm)}.recharts-wrapper{font-family:inherit;position:relative;z-index:1}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-primary);opacity:.3}.recharts-text{fill:var(--text-secondary);font-size:var(--font-xs)}.recharts-line{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.recharts-dot{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.range-selector{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-xs);border:1px solid var(--border-primary)}.range-options{display:flex;gap:var(--space-xs)}.range-option{padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.range-option:hover{background:var(--bg-elevated);color:var(--text-primary)}.range-option.active{background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.range-option.active:hover{background:var(--color-primary-dark)}.range-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl)}.widgets-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}.financial-overview-widget{grid-column:1 / -1}.widgets-grid:has(.recent-activity-widget),.widgets-grid:has(.upcoming-invoices-widget){grid-template-columns:2fr 1fr;grid-template-areas:"financial financial" "left-column right-column"}.widgets-grid:has(.recent-activity-widget) .financial-overview-widget,.widgets-grid:has(.upcoming-invoices-widget) .financial-overview-widget{grid-area:financial}.widgets-grid:has(.recent-activity-widget) .left-column,.widgets-grid:has(.upcoming-invoices-widget) .left-column{grid-area:left-column;display:flex;flex-direction:column;gap:var(--space-xl)}.widgets-grid:has(.recent-activity-widget) .recent-activity-widget,.widgets-grid:has(.recent-activity-widget) .upcoming-invoices-widget,.widgets-grid:has(.upcoming-invoices-widget) .recent-activity-widget,.widgets-grid:has(.upcoming-invoices-widget) .upcoming-invoices-widget{grid-area:right-column}.widgets-grid:has(.recent-activity-widget):has(.upcoming-invoices-widget) .right-column{grid-area:right-column;display:flex;flex-direction:column;gap:var(--space-xl)}.widgets-grid:not(:has(.recent-activity-widget)):not(:has(.upcoming-invoices-widget)){grid-template-columns:1fr 1fr;grid-template-areas:"financial financial" "left-top right-top" "left-bottom right-bottom"}.widgets-grid:not(:has(.recent-activity-widget)):not(:has(.upcoming-invoices-widget)) .financial-overview-widget{grid-area:financial}.widgets-grid:not(:has(.recent-activity-widget)):not(:has(.upcoming-invoices-widget)) .left-column{display:contents}.widgets-grid:not(:has(.recent-activity-widget)):not(:has(.upcoming-invoices-widget)) .income-expenses-widget{grid-area:left-top}.widgets-grid:not(:has(.recent-activity-widget)):not(:has(.upcoming-invoices-widget)) .income-category-widget{grid-area:right-top}.widgets-grid:not(:has(.recent-activity-widget)):not(:has(.upcoming-invoices-widget)) .expense-category-widget{grid-area:left-bottom}@supports not (selector(:has(*))){.widgets-grid{grid-template-columns:1fr}.widgets-grid.has-recent-activity,.widgets-grid.has-upcoming-invoices{grid-template-columns:2fr 1fr;grid-template-areas:"financial financial" "left-column right-column"}.widgets-grid.has-recent-activity .financial-overview-widget,.widgets-grid.has-upcoming-invoices .financial-overview-widget{grid-area:financial}.widgets-grid.has-recent-activity .left-column,.widgets-grid.has-upcoming-invoices .left-column{grid-area:left-column;display:flex;flex-direction:column;gap:var(--space-xl)}.widgets-grid.has-recent-activity .recent-activity-widget,.widgets-grid.has-recent-activity .upcoming-invoices-widget,.widgets-grid.has-upcoming-invoices .recent-activity-widget,.widgets-grid.has-upcoming-invoices .upcoming-invoices-widget{grid-area:right-column}.widgets-grid.no-recent-activity.no-upcoming-invoices{grid-template-columns:1fr 1fr;grid-template-areas:"financial financial" "left-top right-top" "left-bottom right-bottom"}.widgets-grid.no-recent-activity.no-upcoming-invoices .financial-overview-widget{grid-area:financial}.widgets-grid.no-recent-activity.no-upcoming-invoices .left-column{display:contents}.widgets-grid.no-recent-activity.no-upcoming-invoices .income-expenses-widget{grid-area:left-top}.widgets-grid.no-recent-activity.no-upcoming-invoices .income-category-widget{grid-area:right-top}.widgets-grid.no-recent-activity.no-upcoming-invoices .expense-category-widget{grid-area:left-bottom}}.widget{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all .2s ease}.widget:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-primary)}.widget-title{font-size:var(--font-lg);font-weight:600;margin:0;color:var(--text-primary)}.widget-action{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--space-sm);border-radius:var(--radius-lg);font-size:var(--font-sm);opacity:0;transition:opacity .2s ease}.widget-action-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0}.widget-action-button:disabled{cursor:not-allowed;opacity:.6}.widget-action-button:not(:disabled):hover{color:var(--color-primary)}.widget-action-vertical{margin-top:var(--space-md);padding-top:var(--space-md);width:60%;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-primary);opacity:1}.widget:hover .widget-action{opacity:1}.widget-action-vertical .widget-action-button{width:100%}.action-text{font-weight:500}.action-icon{font-size:var(--font-base)}.widget-content{color:var(--text-primary);overflow:visible}.financial-overview-widget .financial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.financial-overview-widget{min-height:auto;padding:var(--space-lg) var(--space-xl)}.financial-overview-widget .widget-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.financial-overview-widget .card-title{font-size:var(--font-xs);color:var(--text-secondary);margin:0 0 var(--space-xs) 0;font-weight:500}.financial-overview-widget .card-amount{font-size:var(--font-lg);font-weight:700;color:var(--text-primary);margin:0}.income-expenses-widget .chart-controls{margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:center}.widget-range-selector{transform:scale(.9);width:300px;display:flex;align-items:center;justify-content:center}.recent-activity-widget .activity-list{display:flex;flex-direction:column;gap:0}.recent-activity-widget .activity-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm)}.recent-activity-widget .activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 5px currentColor}.recent-activity-widget .activity-dot.green{background:var(--color-success);color:var(--color-success)}.recent-activity-widget .activity-dot.red{background:var(--color-danger);color:var(--color-danger)}.recent-activity-widget .activity-dot.gray{background:var(--text-secondary);color:var(--text-secondary)}.recent-activity-widget .activity-content{display:flex;flex-direction:column;flex:1}.recent-activity-widget .activity-description{font-size:var(--font-sm);color:var(--text-primary);margin-bottom:0}.recent-activity-widget .activity-date{font-size:var(--font-xs);color:var(--text-secondary)}.recent-activity-widget .activity-amount{font-size:var(--font-sm);color:var(--text-primary);margin-left:auto;text-align:right}.recent-activity-widget .activity-amount.activity-color-green{color:var(--color-success)}.recent-activity-widget .activity-amount.activity-color-red{color:var(--color-danger)}.upcoming-invoices-widget .invoices-list{display:flex;flex-direction:column;gap:0}.upcoming-invoices-widget .invoice-item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-sm);padding:var(--space-sm);margin-bottom:0!important;border:none;transition:all .2s ease;cursor:pointer}.upcoming-invoices-widget .invoice-item:hover{background:var(--bg-tertiary);border-color:var(--border-secondary);border-radius:var(--radius-md)}.upcoming-invoices-widget .invoice-status{display:flex;align-items:center;padding:0}.upcoming-invoices-widget .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px currentColor}.upcoming-invoices-widget .status-dot.red{background:var(--color-danger);color:var(--color-danger)}.upcoming-invoices-widget .status-dot.orange{background:#ff9500;color:#ff9500}.upcoming-invoices-widget .status-dot.yellow{background:#fc0;color:#fc0}.upcoming-invoices-widget .status-dot.green{background:var(--color-success);color:var(--color-success)}.upcoming-invoices-widget .invoice-details{display:flex;gap:var(--space-xs);min-width:0;margin-bottom:0!important}.upcoming-invoices-widget .invoice-header{display:flex;flex-direction:column;justify-content:space-between;align-items:baseline;gap:var(--space-xs);margin-bottom:0!important}.upcoming-invoices-widget .invoice-info{display:flex;flex-direction:column;justify-content:space-between;align-items:baseline;gap:var(--space-xs)}.upcoming-invoices-widget .invoice-number{font-size:var(--font-xs);font-weight:600;color:var(--text-primary);flex-shrink:0}.upcoming-invoices-widget .invoice-amount{font-size:var(--font-sm);font-weight:700;color:var(--color-primary);margin-left:auto;text-align:right}.upcoming-invoices-widget .invoice-client{font-size:var(--font-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.upcoming-invoices-widget .invoice-due{font-size:var(--font-xs);font-weight:500;color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-xs);margin-left:auto;text-align:right}.upcoming-invoices-widget .invoice-item:has(.status-dot.red) .invoice-due{color:var(--color-danger);font-weight:600}.upcoming-invoices-widget .invoice-item:has(.status-dot.orange) .invoice-due{color:#ff9500;font-weight:600}.invoices-placeholder{display:flex;align-items:center;justify-content:center;height:120px;color:var(--text-secondary);font-size:var(--font-sm)}.income-category-widget .category-list,.expense-category-widget .category-list{display:flex;flex-direction:column;gap:var(--space-sm)}.category-breakdown-item{position:relative;border-radius:var(--radius-md);overflow:hidden}.category-breakdown-bar{position:absolute;top:0;left:0;height:100%;opacity:.8;z-index:1;transition:width .3s ease}.category-breakdown-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);background:var(--bg-secondary-transparent);border-radius:var(--radius-md);border:1px solid var(--border-primary);min-height:56px}.category-breakdown-left{display:flex;align-items:center;gap:var(--space-sm)}.category-breakdown-name{color:var(--text-primary);font-size:var(--font-sm);padding:var(--space-sm)}.category-breakdown-right{display:flex;align-items:center;gap:var(--space-sm)}.category-breakdown-percentage{color:var(--text-primary);font-size:var(--font-xs)}.category-breakdown-amount{color:var(--text-primary);font-weight:600;font-size:var(--font-sm)}.activity-placeholder,.category-placeholder{display:flex;align-items:center;justify-content:center;height:120px;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);overscroll-behavior:contain}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);max-width:500px;width:90%;max-height:90vh;max-height:90dvh;overflow:hidden;box-shadow:var(--shadow-lg);overscroll-behavior:contain}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-bottom:1px solid var(--border-primary)}.modal-title{display:flex;align-items:center;gap:var(--space-sm)}.modal-title h2{margin:0;font-size:var(--font-xl);font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:all .2s ease}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--space-xl);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-top:1px solid var(--border-primary);gap:var(--space-md)}.footer-actions{display:flex;gap:var(--space-md)}.settings-section{margin-bottom:var(--space-xl)}.settings-section:last-child{margin-bottom:0}.section-title{font-size:var(--font-lg);font-weight:600;margin:0 0 var(--space-sm) 0;color:var(--text-primary)}.section-description{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 var(--space-lg) 0}.widget-list{display:flex;flex-direction:column;gap:var(--space-sm)}.widget-setting{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.widget-name{font-size:var(--font-base);font-weight:500;margin:0;color:var(--text-primary)}.ios-toggle{position:relative;width:51px;height:31px;border:none;background:transparent;cursor:pointer;padding:2px;outline:none}.ios-toggle-track{position:absolute;inset:0;background:var(--bg-elevated);border-radius:31px;transition:background-color .3s ease;display:block}.ios-toggle.enabled .ios-toggle-track{background:var(--color-primary)}.ios-toggle-thumb{position:absolute;top:3px;left:3px;width:25px;height:25px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.ios-toggle.enabled .ios-toggle-thumb{transform:translate(20px)}.ios-toggle:active .ios-toggle-thumb{transition:transform .15s ease}.activity-list{display:flex;flex-direction:column;gap:var(--space-md)}.activity-item{display:flex;align-items:center;gap:var(--space-md)}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-dot.green{background:var(--color-success)}.activity-dot.red{background:var(--color-danger)}.activity-dot.gray{background:var(--text-secondary)}.activity-content{display:flex;flex-direction:column;flex:1}.activity-description{font-size:var(--font-sm);color:var(--text-primary);margin-bottom:var(--space-xs)}.activity-date{font-size:var(--font-xs);color:var(--text-secondary)}.activity-placeholder{display:flex;align-items:center;justify-content:center;height:120px;color:var(--text-secondary);font-size:var(--font-sm)}.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.donut-chart-container,.calendar-container{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.donut-chart{height:200px;display:flex;align-items:center;justify-content:center}.donut-placeholder{display:flex;align-items:center;gap:var(--space-lg)}.donut-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--color-success) 0deg 120deg,var(--color-success) 120deg 240deg,var(--color-success) 240deg 360deg);position:relative}.donut-circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:var(--bg-secondary);border-radius:50%}.donut-lines{display:flex;flex-direction:column;gap:var(--space-sm)}.donut-line{width:40px;height:2px;background:var(--text-secondary);border-radius:1px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.calendar-title{font-size:var(--font-lg);font-weight:600;margin:0;color:var(--text-primary)}.calendar-nav{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-lg);padding:var(--space-xs)}.calendar-nav:hover{color:var(--text-primary)}.calendar-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs);text-align:center;font-size:var(--font-xs);color:var(--text-secondary);font-weight:600}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease}.calendar-day:hover{background:var(--bg-tertiary)}.mobile-menu-btn{position:absolute;left:var(--space-xl);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-sm);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--bg-tertiary);border-color:var(--color-primary)}.mobile-sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);z-index:1000;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow-y:auto}.mobile-sidebar.open{transform:translate(0)}.mobile-sidebar-header{display:flex;flex-direction:column;align-items:start;justify-content:start;padding:var(--space-md);border-bottom:1px solid var(--border-primary)}.mobile-sidebar-header-title{font-size:var(--font-xl);font-weight:700;margin:0;color:var(--text-primary);padding:var(--space-md)}.sidebar-logo{height:28px;width:auto;padding:var(--space-md)}.mobile-sidebar-account-section{display:flex;align-items:center;gap:var(--space-md);justify-content:start;padding:var(--space-md) var(--space-md) 0 var(--space-md)}.mobile-sidebar-title{font-size:var(--font-xl);font-weight:700;margin:0;color:var(--text-primary)}.mobile-sidebar-close{position:absolute;right:var(--space-md);background:none;border:none;color:var(--text-primary);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all .2s ease}.mobile-sidebar-close:hover{background:var(--bg-tertiary)}.mobile-sidebar-nav{flex:1;padding:var(--space-md)}.mobile-nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all .2s ease;margin-bottom:var(--space-xs);font-size:var(--font-base)}.mobile-nav-item:hover,.mobile-nav-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.mobile-dashboard{min-height:100vh;background:var(--bg-primary);padding-bottom:var(--space-2xl)}.mobile-dashboard-header{display:flex;position:fixed;width:100%;height:8vh;top:0;align-items:center;justify-content:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);z-index:100}.mobile-dashboard-title{font-size:var(--font-2xl);font-weight:700;margin:0;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header-right{display:flex;align-items:center;justify-content:flex-end;right:var(--space-xl);position:absolute}.mobile-app-container{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.mobile-page-content{margin-top:8vh;flex:1;display:flex;flex-direction:column}.mobile-dashboard-settings-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-sm);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.mobile-dashboard-settings-btn:hover{background:var(--bg-elevated);border-color:var(--color-primary)}.mobile-header-back-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-sm);color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.mobile-header-back-btn:hover{background:var(--bg-elevated);border-color:var(--color-primary)}.mobile-widgets-container{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg)}.mobile-widget-wrapper{width:100%}.mobile-widget-wrapper .widget{margin-bottom:0}@media (max-width: 768px){.widget-header{padding:var(--space-md)}.widget-title{font-size:var(--font-lg)}.widget-content{padding:var(--space-md)}.category-breakdown-item{min-height:48px}.category-breakdown-name,.category-breakdown-amount{font-size:var(--font-xs)}}.notifications-dropdown{min-width:320px;max-width:400px}.notifications-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);position:relative}.notifications-item-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-danger);border-radius:var(--radius-md);color:var(--text-on-primary)}.notifications-item-content{flex:1;min-width:0}.notifications-item-title{font-size:var(--font-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-item-subtitle{font-size:var(--font-xs);color:var(--text-secondary);display:flex;flex-direction:row}.notifications-item-subtitle-text{display:inline-block;margin-right:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-item-subtitle-text:last-child{overflow:visible}.notifications-item-badge{flex-shrink:0;color:var(--color-danger);display:flex;align-items:center;justify-content:center}.notifications-item-consolidated .notifications-item-icon,.notifications-item-warning .notifications-item-icon{background:var(--color-warning)}.notifications-item:hover{background:var(--bg-tertiary)}.notifications-item:hover .notifications-item-title{color:var(--text-primary)}.dropdown{position:absolute;top:calc(100% + var(--space-xs));left:0;z-index:1000;min-width:200px;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:dropdownSlideDown .2s ease}.dropdown.dropdown-full-width{left:0;right:0}.dropdown.dropdown-align-right{left:auto;right:0}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-content{max-height:300px;overflow-y:auto;padding:var(--space-xs);scrollbar-width:thin;scrollbar-color:var(--border-primary) transparent}.dropdown-content.dropdown-content-compact{max-height:250px}.dropdown-content.dropdown-content-tall{max-height:400px}.dropdown-content::-webkit-scrollbar{width:6px}.dropdown-content::-webkit-scrollbar-track{background:transparent}.dropdown-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-sm)}.dropdown-item{display:flex;align-items:center;width:100%;padding:var(--space-md) var(--space-lg);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:var(--font-base);text-align:left}.dropdown-item:hover{background:var(--bg-tertiary)}.dropdown-item.selected{background:var(--color-primary)!important;color:var(--text-on-primary)}.dropdown-item.selected:hover{background:var(--color-primary-hover)}.dropdown-item.current{background:var(--color-primary-alpha)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropdown-item.dropdown-item-primary{color:var(--color-primary)}.dropdown-item.dropdown-item-primary:hover{background:var(--color-primary-alpha)}.dropdown-divider{height:1px;background:var(--border-primary);margin:var(--space-xs) 0}.dropdown-empty{padding:var(--space-xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-sm)}.dropdown-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-primary);position:sticky;top:0;background:var(--bg-elevated);z-index:1}.dropdown-search input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);font-family:inherit}.dropdown-search input:focus{outline:none;border-color:var(--color-primary);background:var(--bg-primary)}.dropdown-header{padding:var(--space-sm) var(--space-lg);font-size:var(--font-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.category-dropdown{left:0;right:0}.category-dropdown-item{gap:var(--space-md)}.category-dropdown-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-dropdown-name{font-size:var(--font-base);font-weight:600;flex:1}.category-dropdown-add .category-dropdown-icon{color:var(--color-primary)}.parse-invoice-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-xl);overscroll-behavior:contain}.parse-invoice-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overscroll-behavior:contain}.parse-invoice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2xl);border-bottom:1px solid var(--border-primary)}.parse-invoice-modal-title{font-size:var(--font-2xl);font-weight:600;color:var(--text-primary);margin:0}.parse-invoice-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s}.parse-invoice-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.parse-invoice-modal-content{padding:var(--space-2xl);flex:1}.parse-invoice-upload-section{display:flex;flex-direction:column;gap:var(--space-lg)}.parse-invoice-file-input{display:none}.parse-invoice-upload-area{border:2px dashed var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-3xl) var(--space-2xl);text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-secondary)}.parse-invoice-upload-area:hover{border-color:var(--border-focus);background:var(--bg-tertiary)}.parse-invoice-upload-area.has-file{border-color:var(--color-edit);background:var(--bg-edit)}.parse-invoice-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.parse-invoice-preview img{max-width:100%;max-height:300px;border-radius:var(--radius-md);object-fit:contain}.parse-invoice-file-info{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:var(--font-sm)}.parse-invoice-upload-text{font-size:var(--font-lg);font-weight:500;color:var(--text-primary);margin:var(--space-lg) 0 var(--space-sm)}.parse-invoice-upload-hint{font-size:var(--font-sm);color:var(--text-secondary);margin:0}.parse-invoice-file-actions{display:flex;gap:var(--space-md)}.parse-invoice-upload-button,.parse-invoice-reset-button{flex:1;padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .2s;border:none}.parse-invoice-upload-button{background:var(--color-primary);color:var(--text-on-primary)}.parse-invoice-upload-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.parse-invoice-upload-button:disabled{opacity:.6;cursor:not-allowed}.parse-invoice-reset-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.parse-invoice-reset-button:hover:not(:disabled){background:var(--bg-tertiary)}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.parse-invoice-error{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--bg-danger);border:1px solid var(--border-danger);border-radius:var(--radius-lg);color:var(--color-danger);font-size:var(--font-sm)}.parse-invoice-success{display:flex;flex-direction:column;gap:var(--space-2xl)}.parse-invoice-success-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-primary-alpha);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-success)}.parse-invoice-success-header h3{margin:0;font-size:var(--font-lg);font-weight:600}.parse-invoice-data{display:flex;flex-direction:column;gap:var(--space-2xl)}.parse-invoice-section{display:flex;flex-direction:column;gap:var(--space-md)}.parse-invoice-section h4{font-size:var(--font-base);font-weight:600;color:var(--text-primary);margin:0;padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-primary)}.parse-invoice-field{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-sm) 0}.parse-invoice-field.parse-invoice-total{padding-top:var(--space-md);border-top:1px solid var(--border-primary);font-weight:600}.parse-invoice-label{font-size:var(--font-sm);color:var(--text-secondary);flex-shrink:0}.parse-invoice-value{font-size:var(--font-sm);color:var(--text-primary);text-align:right;word-break:break-word}.parse-invoice-input{padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);font-family:inherit;transition:all .2s ease;min-width:0;text-align:right}.parse-invoice-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-secondary)}.parse-invoice-input::placeholder{color:var(--text-secondary)}.parse-invoice-amount-input-wrapper{position:relative;display:flex;align-items:center;min-width:0}.parse-invoice-currency{position:absolute;left:var(--space-lg);font-size:var(--font-lg);font-weight:600;color:var(--text-primary);pointer-events:none;z-index:1}.parse-invoice-amount-input{padding-left:calc(var(--space-lg) * 2.5)!important;font-size:var(--font-lg)!important;font-weight:600}.parse-invoice-input[type=number]::-webkit-inner-spin-button,.parse-invoice-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.parse-invoice-input[type=number]{-moz-appearance:textfield;appearance:textfield}.parse-invoice-total-section{background:var(--bg-edit);border:1px solid var(--border-edit);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl)}.parse-invoice-total-display{display:flex;justify-content:space-between;align-items:center}.parse-invoice-total-label{font-size:var(--font-lg);font-weight:600;color:var(--text-primary)}.parse-invoice-total-amount{font-size:var(--font-2xl);font-weight:700;color:var(--color-primary)}.parse-invoice-category-section{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-md)}.parse-invoice-line-items{display:flex;flex-direction:column;gap:var(--space-md)}.parse-invoice-line-item{padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-md)}.parse-invoice-line-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.parse-invoice-line-item-name{font-size:var(--font-base);font-weight:500;color:var(--text-primary);flex:1}.parse-invoice-line-item-amount{font-size:var(--font-base);font-weight:600;color:var(--text-primary);white-space:nowrap}.parse-invoice-line-item-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid var(--border-primary)}.parse-invoice-line-item-quantity{font-size:var(--font-xs);color:var(--text-secondary)}.parse-invoice-category-picker-wrapper{position:relative}.parse-invoice-category-picker{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.parse-invoice-category-picker:hover{background:var(--bg-tertiary);border-color:var(--border-focus)}.parse-invoice-category-display{flex:1;font-size:var(--font-sm);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.parse-invoice-category-display.placeholder{color:var(--text-secondary)}.parse-invoice-category-chevron{color:var(--text-secondary);flex-shrink:0}.parse-invoice-category-suggested-badge{font-size:var(--font-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-primary-alpha);color:var(--color-success);border-radius:var(--radius-sm);font-weight:500}.parse-invoice-actions{display:flex;gap:var(--space-md);padding-top:var(--space-2xl);border-top:1px solid var(--border-primary)}.parse-invoice-button{flex:1;padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all .2s;border:none}.parse-invoice-button-primary{background:var(--color-primary);color:var(--text-on-primary)}.parse-invoice-button-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.parse-invoice-button-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.parse-invoice-button-secondary:hover{background:var(--bg-tertiary)}.app-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:var(--space-lg) var(--space-md);margin-top:auto;margin-left:var(--sidebar-width)}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md);align-items:center;text-align:center}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;align-items:center}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:var(--font-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all .2s ease}.footer-link:hover{color:var(--color-primary);background-color:var(--bg-tertiary)}.footer-link:focus{outline:2px solid var(--border-focus);outline-offset:2px}.footer-info{display:flex;flex-direction:column;gap:var(--space-xs);color:var(--text-tertiary);font-size:var(--font-xs)}.footer-copyright{margin:0;font-weight:500}.footer-contact{margin:0;color:var(--text-muted)}.is-desktop .app-footer{padding:var(--space-xl) var(--space-lg)}.is-desktop .footer-container{flex-direction:row;justify-content:space-between;align-items:flex-start;text-align:left}.is-desktop .footer-links{justify-content:flex-start;gap:var(--space-lg)}.is-desktop .footer-info{align-items:flex-end;text-align:right}.is-desktop .footer-copyright,.is-desktop .footer-contact{text-align:right}@media (max-width: 480px){.footer-links{flex-direction:column;gap:var(--space-sm)}.footer-link{width:100%;text-align:center}}.searchable-select{position:relative;width:100%}.searchable-select-input-wrapper{position:relative;display:flex;align-items:center}.searchable-select-input{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-base);font-family:inherit;transition:all .2s ease;cursor:pointer}.searchable-select-input:hover{border-color:var(--border-secondary)}.searchable-select-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha);cursor:text}.searchable-select-input::placeholder{color:var(--text-tertiary)}.searchable-select-toggle{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.searchable-select-toggle:hover{color:var(--text-primary)}.searchable-select-icon{transition:transform .2s ease}.searchable-select-icon.open{transform:rotate(180deg)}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:300px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.searchable-select-option{padding:12px 16px;cursor:pointer;color:var(--text-primary);font-size:14px;transition:background-color .15s ease}.searchable-select-option:hover,.searchable-select-option.highlighted{background:var(--bg-tertiary)}.searchable-select-option.selected{background:var(--color-primary-alpha);color:var(--color-primary);font-weight:500}.searchable-select-option.selected:hover,.searchable-select-option.selected.highlighted{background:var(--color-primary-alpha);opacity:.9}.searchable-select-no-results{padding:16px;text-align:center;color:var(--text-tertiary);font-size:14px}.searchable-select-dropdown::-webkit-scrollbar{width:8px}.searchable-select-dropdown::-webkit-scrollbar-track{background:var(--bg-secondary)}.searchable-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.searchable-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.searchable-select-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.searchable-select{z-index:1}.searchable-select-dropdown{z-index:1001}.client-form-container{padding:var(--space-2xl)}.is-desktop .client-form-container{display:flex;justify-content:center;flex:1}.client-form{width:100%;max-width:800px}.client-form-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--color-danger);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-2xl);font-size:var(--font-sm)}[data-theme=light] .client-form-error{background:#ef44441a;border-color:#ef444440}.client-form-section{margin-bottom:var(--space-2xl)}.client-form-section-title{color:var(--text-primary);font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-lg)}.client-form-group{margin-bottom:var(--space-lg)}.client-form-label{display:block;margin-bottom:var(--space-sm);color:var(--text-primary);font-size:var(--font-sm);font-weight:500}.client-form-label-checkbox{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:var(--font-sm);font-weight:500;cursor:pointer}.client-form-input{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-base);box-sizing:border-box;transition:all .2s ease}.client-form-input::placeholder{color:var(--text-muted)}.client-form-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-elevated)}.client-form-input:disabled{opacity:.6;cursor:not-allowed}[data-theme=light] .client-form-input{background:var(--bg-secondary)}[data-theme=light] .client-form-input:focus{background:var(--bg-elevated)}.client-form-textarea{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-base);box-sizing:border-box;min-height:80px;resize:vertical;transition:all .2s ease;font-family:inherit}.client-form-textarea::placeholder{color:var(--text-muted)}.client-form-textarea:focus{outline:none;border-color:var(--border-focus);background:var(--bg-elevated)}[data-theme=light] .client-form-textarea{background:var(--bg-secondary)}[data-theme=light] .client-form-textarea:focus{background:var(--bg-elevated)}.client-form-checkbox{accent-color:var(--color-primary)}.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}.client-form-actions{display:flex;gap:var(--space-md);margin-top:var(--space-3xl)}.client-form-button{flex:1;padding:var(--space-lg) var(--space-2xl);border-radius:var(--radius-xl);cursor:pointer;font-size:var(--font-base);font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .2s ease;border:none}.client-form-button-cancel{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary)}.client-form-button-cancel:hover{background:var(--bg-elevated);border-color:var(--border-secondary)}[data-theme=light] .client-form-button-cancel{background:var(--bg-secondary)}.client-form-button-save{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--color-success)}.client-form-button-save:hover:not(:disabled){background:#22c55e33;border-color:#22c55e66}.client-form-button-save:disabled{background:#22c55e1a;color:var(--text-muted);cursor:not-allowed;opacity:.6}[data-theme=light] .client-form-button-save{background:#22c55e1a;border-color:#22c55e40}[data-theme=light] .client-form-button-save:hover:not(:disabled){background:#22c55e26;border-color:#22c55e59}.client-form-button-delete{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--color-danger)}.client-form-button-delete:hover:not(:disabled){background:#ef444433;border-color:#ef444466}.client-form-button-delete:disabled{background:#ef44441a;color:var(--text-muted);cursor:not-allowed;opacity:.6}[data-theme=light] .client-form-button-delete{background:#ef44441a;border-color:#ef444440}[data-theme=light] .client-form-button-delete:hover:not(:disabled){background:#ef444426;border-color:#ef444459}.client-form-button:focus{outline:none}.client-form-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (max-width: 768px){.client-form-container{padding:var(--space-lg)}.client-form-grid{grid-template-columns:1fr}.client-form-actions{flex-direction:column}}.clients-view-container{min-height:calc(100vh - 8vh - var(--space-2xl) - var(--space-2xl));background-color:var(--bg-primary);padding:var(--space-2xl);flex-shrink:0}.is-desktop .clients-view-container{width:100%;max-width:1200px}.is-desktop .clients-view-container-header{display:grid;grid-template-columns:auto auto;gap:var(--space-3xl)}.clients-view-container-header{display:flex;flex-direction:column;align-items:start}.clients-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;color:var(--text-secondary)}.clients-view-loading p{margin-top:var(--space-lg)}.clients-view-spinner{width:40px;height:40px;border:3px solid var(--border-secondary);border-top:3px solid var(--text-primary);border-radius:50%;animation:spin 1s linear infinite}.clients-view-add-button{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-lg) var(--space-2xl);background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-2xl);color:var(--color-success);cursor:pointer;font-size:var(--font-base);font-weight:500;justify-content:center;transition:all .2s ease;margin-bottom:var(--space-xl);justify-self:end}.clients-view-add-button:hover{background:#22c55e33;border-color:#22c55e66}.is-desktop .clients-view-add-button{grid-column:2;grid-row:1;max-width:400px}[data-theme=light] .clients-view-add-button{background:#22c55e1a;border-color:#22c55e40}[data-theme=light] .clients-view-add-button:hover{background:#22c55e26;border-color:#22c55e59}.clients-view-filters{margin-bottom:var(--space-2xl);width:100%}.is-desktop .clients-view-filters{grid-column:1;grid-row:1}.clients-view-search-container{position:relative;margin-bottom:var(--space-lg)}.clients-view-search-icon{position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);color:var(--text-secondary)}.clients-view-search-input{width:100%;padding-left:48px;padding-right:var(--space-lg);padding-top:var(--space-md);padding-bottom:var(--space-md);margin-top:var(--space-xs);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-base);box-sizing:border-box;transition:all .2s ease}.clients-view-search-input::placeholder{color:var(--text-muted)}.clients-view-search-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-elevated)}.is-desktop .clients-view-search-input{max-width:500px}[data-theme=light] .clients-view-search-input{background:var(--bg-secondary)}[data-theme=light] .clients-view-search-input:focus{background:var(--bg-elevated)}.clients-view-archive-label{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer}.clients-view-archive-checkbox{accent-color:var(--color-primary)}.clients-view-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-2xl);color:var(--color-danger);font-size:var(--font-sm)}[data-theme=light] .clients-view-error{background:#ef44441a;border-color:#ef444440}.clients-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-2xl);text-align:center}.clients-view-empty-icon{width:80px;height:80px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2xl)}.clients-view-empty-icon svg{color:var(--text-secondary)}.clients-view-empty-title{font-size:var(--font-lg);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-sm)}.clients-view-empty-text{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:var(--font-sm)}.clients-view-empty-button{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--color-success);padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-xl);cursor:pointer;font-size:var(--font-base);font-weight:500;display:flex;align-items:center;gap:var(--space-sm);transition:all .2s ease}.clients-view-empty-button:hover{background:#22c55e33;border-color:#22c55e66}[data-theme=light] .clients-view-empty-button{background:#22c55e1a;border-color:#22c55e40}.clients-view-list{display:flex;flex-direction:column;gap:var(--space-md)}@media (max-width: 768px){.clients-view-container{padding:var(--space-2xl)}}.invoice-form-container{padding:var(--space-2xl);background-color:var(--bg-primary);min-height:100vh;flex-shrink:0}.is-desktop .invoice-form-container{width:100%;max-width:800px}.invoice-form-header{text-align:right;color:var(--text-secondary);font-size:var(--font-lg);margin-bottom:var(--space-sm);margin-top:0}.invoice-form-section{margin-bottom:var(--space-2xl)}.invoice-form-section-title{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-lg);margin-top:0}.invoice-form-section-subtitle{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-lg);margin-top:calc(var(--space-lg) * -1)}.invoice-form-group{margin-bottom:var(--space-lg)}.invoice-form-row{display:flex;gap:var(--space-lg)}.invoice-form-column{display:flex;flex-direction:column;width:100%}.invoice-form-label{display:block;margin-bottom:var(--space-sm);color:var(--text-primary);font-size:var(--font-sm);font-weight:500}.invoice-form-required{color:var(--color-danger)}.invoice-form-input,.invoice-form-select,.invoice-form-textarea{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-base);box-sizing:border-box;transition:all .2s ease;font-family:inherit}.invoice-form-input:hover,.invoice-form-select:hover,.invoice-form-textarea:hover{border-color:var(--border-secondary)}.invoice-form-input:focus,.invoice-form-select:focus,.invoice-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.invoice-form-input::placeholder,.invoice-form-textarea::placeholder{color:var(--text-tertiary)}.invoice-form-input[type=number]::-webkit-inner-spin-button,.invoice-form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.invoice-form-input[type=number]{-moz-appearance:textfield;appearance:textfield}.invoice-form-input.template-override{background:#3b82f61a;border-color:var(--border-edit)}.invoice-form-hint{margin:4px 0 0;font-size:var(--font-xs);color:var(--text-secondary)}.invoice-form-hint.success{color:#22c55e;font-weight:500}.invoice-form-hint.info{color:#60a5fa}.invoice-form-hint-actions{margin:4px 0 0;display:flex;align-items:center;gap:var(--space-sm)}.invoice-form-hint-message{margin:0;color:#60a5fa;font-size:var(--font-xs);font-weight:500}.invoice-form-hint-button{background:none;border:none;color:#60a5fa;font-size:var(--font-xs);cursor:pointer;text-decoration:underline;padding:0;transition:opacity .2s ease}.invoice-form-hint-button:hover{opacity:.8}.invoice-form-textarea{resize:vertical;min-height:80px}.invoice-form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e8e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-lg) center;background-size:20px;padding-right:48px;cursor:pointer}.invoice-form-checkbox-wrapper{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);cursor:pointer}.invoice-form-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.invoice-form-checkbox-label{font-size:var(--font-xs);color:var(--text-primary);cursor:pointer}.invoice-form-checkbox-label-text{font-weight:500}.invoice-form-vat-checkbox-wrapper{margin-top:-10px;margin-bottom:var(--space-lg)}.invoice-form-vat-checkbox-label{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;color:var(--text-primary);font-size:var(--font-xs)}.invoice-form-line-items{margin-bottom:var(--space-2xl)}.invoice-form-line-item{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);position:relative}.invoice-form-line-item-header{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-bottom:var(--space-sm)}.invoice-form-line-item-remove{background:transparent;border:none;color:var(--color-danger);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.invoice-form-line-item-remove:hover{background:#ef44441a}.invoice-form-line-item-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.invoice-form-line-item-field{flex:1}.invoice-form-line-item-label{display:block;margin-bottom:var(--space-sm);color:var(--text-primary);font-size:var(--font-sm);font-weight:500}.invoice-form-line-item-input,.invoice-form-line-item-select{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-base);box-sizing:border-box;transition:all .2s ease}.invoice-form-line-item-input:focus,.invoice-form-line-item-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.invoice-form-line-item-input[type=number]::-webkit-inner-spin-button,.invoice-form-line-item-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.invoice-form-line-item-input[type=number]{-moz-appearance:textfield;appearance:textfield}.invoice-form-line-item-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e8e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-lg) center;cursor:pointer}.invoice-form-line-item-tax-hint{color:#22c55e;font-size:var(--font-xs);margin-left:var(--space-sm)}.invoice-form-line-item-tax-reset{margin-top:10px;padding:4px var(--space-sm);background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:4px;color:#22c55e;font-size:var(--font-xs);cursor:pointer;width:100%;transition:all .2s ease}.invoice-form-line-item-tax-reset:hover{background:#22c55e26}.invoice-form-line-item-total{text-align:right;color:var(--text-primary);font-size:var(--font-sm);font-weight:500;margin:0}.invoice-form-add-line-item{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;font-size:var(--font-base);font-weight:500;transition:all .2s ease}.invoice-form-add-line-item:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-alpha)}.invoice-form-totals{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-2xl)}.invoice-form-totals-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;color:var(--text-secondary);font-size:var(--font-sm)}.invoice-form-totals-row.total{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);padding-top:var(--space-md);border-top:1px solid var(--border-secondary);margin-top:var(--space-sm)}.invoice-form-totals-value{font-weight:500;color:var(--text-primary)}.invoice-form-template-section{margin-bottom:var(--space-xl);margin-top:var(--space-3xl);border-radius:var(--radius-md);align-items:center}.invoice-form-template-header{font-size:var(--font-sm);font-weight:500;color:var(--text-secondary);margin-bottom:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-top:0}.invoice-form-template-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:0;display:flex;align-items:center;gap:4px;transition:color .2s ease}.invoice-form-template-toggle:hover{color:var(--text-primary)}.invoice-form-template-container{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg);display:grid;gap:var(--space-md)}.invoice-form-template-empty{color:var(--text-secondary);text-align:center;margin:0;padding:var(--space-lg) 0}.invoice-form-template-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);display:flex;align-items:stretch;overflow:hidden;transition:all .2s ease}.invoice-form-template-card:hover{background:var(--bg-elevated);border-color:#22c55e4d}.invoice-form-template-card-content{flex:1;padding:var(--space-lg);cursor:pointer}.invoice-form-template-card-delete{display:flex;align-items:center;justify-content:center;width:48px;background:transparent;border:none;border-left:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.invoice-form-template-card-delete:hover{background:var(--bg-danger);color:var(--color-danger);border-left-color:var(--border-danger)}.invoice-form-template-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.invoice-form-template-card-title{color:var(--text-primary);font-size:var(--font-base);font-weight:600;margin:0;display:flex;align-items:center;gap:var(--space-sm)}.invoice-form-template-card-amount{color:#22c55e;font-size:var(--font-sm);font-weight:600}.invoice-form-template-card-description{color:var(--text-secondary);font-size:var(--font-sm);margin:0 0 var(--space-sm) 0}.invoice-form-template-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-xs);color:var(--text-secondary)}.invoice-form-client-search-wrapper{position:relative;margin-bottom:var(--space-lg)}.invoice-form-client-suggestions{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-top:4px;box-shadow:var(--shadow-lg);z-index:1000}.invoice-form-client-suggestion{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);cursor:pointer;border-bottom:1px solid var(--border-primary);transition:background .2s ease}.invoice-form-client-suggestion:last-child{border-bottom:none}.invoice-form-client-suggestion:hover{background:var(--bg-tertiary)}.invoice-form-client-suggestion-left{flex:1;min-width:0}.invoice-form-client-suggestion-name{font-weight:500;color:var(--text-primary);margin-bottom:2px}.invoice-form-client-suggestion-count{flex-shrink:0;padding:var(--space-xs) var(--space-sm);background:var(--color-primary-alpha);color:var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-xs);font-weight:600}.invoice-form-client-suggestion-company,.invoice-form-client-suggestion-email{font-size:var(--font-xs);color:var(--text-secondary)}.invoice-form-client-suggestion-create{padding:var(--space-md) var(--space-lg);cursor:pointer;color:#60a5fa;font-weight:500;border-bottom:1px solid var(--border-primary);transition:background .2s ease}.invoice-form-client-suggestion-create:hover{background:var(--bg-tertiary)}.invoice-form-create-client-box{background:#3b82f61a;border:1px solid var(--border-edit);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.invoice-form-create-client-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.invoice-form-create-client-title{color:#60a5fa;font-size:var(--font-base);font-weight:600;margin:0}.invoice-form-create-client-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:20px;padding:0;line-height:1}.invoice-form-create-client-close:hover{color:var(--text-primary)}.invoice-form-create-client-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.invoice-form-create-client-field{flex:1}.invoice-form-create-client-label{display:block;margin-bottom:4px;color:var(--text-primary);font-size:var(--font-xs);font-weight:500}.invoice-form-create-client-input{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-sm);box-sizing:border-box;transition:all .2s ease}.invoice-form-create-client-input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f61a}.invoice-form-create-client-button{width:100%;padding:8px var(--space-lg);background:#3b82f633;border:1px solid rgba(59,130,246,.4);border-radius:var(--radius-sm);color:#60a5fa;cursor:pointer;font-size:var(--font-sm);font-weight:500;transition:all .2s ease}.invoice-form-create-client-button:hover{background:var(--border-edit)}.invoice-form-selected-client{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg);color:var(--text-secondary);font-size:var(--font-sm)}.invoice-form-selected-client-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.invoice-form-selected-client-name{margin:0;color:#22c55e;font-weight:600;font-size:var(--font-base)}.invoice-form-selected-client-change{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-sm);text-decoration:underline}.invoice-form-selected-client-change:hover{color:var(--text-primary)}.invoice-form-selected-client-info{margin:0 0 4px}.invoice-form-selected-client-payment-terms{margin:0;color:var(--text-secondary);font-weight:500}.invoice-form-selected-client-payment-terms.overridden{color:var(--text-secondary);text-decoration:line-through;opacity:.6}.invoice-form-selected-client-override-note{color:#60a5fa;margin-left:var(--space-sm)}.invoice-form-actions{display:flex;gap:var(--space-md);margin-top:var(--space-2xl)}.invoice-form-button{flex:1;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-xl);cursor:pointer;font-size:var(--font-base);font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none}.invoice-form-button-cancel{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary)}.invoice-form-button-cancel:hover{background:var(--bg-elevated);color:var(--text-primary)}.invoice-form-button-save{background:var(--color-primary);color:var(--text-on-primary)}.invoice-form-button-save:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.invoice-form-button-save:disabled{opacity:.5;cursor:not-allowed;transform:none}.invoice-form-button-delete{background:transparent;border:1px solid var(--color-danger);color:var(--color-danger)}.invoice-form-button-delete:hover{background:#ef44441a}.invoice-form-button-delete:disabled{opacity:.5;cursor:not-allowed}.invoice-form-error{background:#ef44441a;border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl);font-size:var(--font-sm)}.invoice-form-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);height:200px;color:var(--text-secondary)}.invoice-form-spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.invoice-form-container{padding:var(--space-lg)}.invoice-form-line-item-grid{grid-template-columns:1fr}.invoice-form-actions{flex-direction:column}.invoice-form-button{width:100%}}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=light] .invoice-form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg-primary);padding:var(--space-lg)}.login-container-small{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;background-color:var(--bg-primary);padding:var(--space-lg);gap:var(--space-lg);margin-top:var(--space-2xl)}.login-card{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:400px;width:100%;box-shadow:var(--shadow-md)}.login-card-small{background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-lg);max-width:300px;width:100%;box-shadow:var(--shadow-md)}.login-title{color:var(--text-primary);margin-bottom:var(--space-sm);text-align:center;font-size:var(--font-3xl);font-weight:600}.login-logo{display:block;margin:0 auto var(--space-md);max-width:180px;height:auto}.login-subtitle{color:var(--text-secondary);margin-bottom:var(--space-xl);text-align:center;font-size:var(--font-base)}.login-error{background-color:var(--color-danger);color:var(--text-on-primary);padding:var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);font-size:var(--font-sm);text-align:center}.oauth-section{margin-bottom:var(--space-2xl);margin-top:var(--space-lg)}.oauth-button-wrapper{margin-bottom:var(--space-sm);width:100%;display:flex;justify-content:center;align-items:center}.oauth-button-wrapper body{background-color:var(--bg-primary)}.oauth-not-configured{padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-lg);margin-bottom:var(--space-sm);font-size:var(--font-sm);color:var(--text-secondary);text-align:center}.apple-signin-button{width:100%;padding:var(--space-md);background-color:#000;color:#fff;border:1px solid #fff;border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.apple-signin-button:disabled{cursor:not-allowed;opacity:.6}.apple-signin-button:hover:not(:disabled){opacity:.9}.apple-signin-icon{width:18px;height:18px}.login-divider{display:flex;align-items:center;margin-bottom:var(--space-2xl);margin-top:var(--space-2xl)}.login-divider-line{flex:1;height:1px;background-color:var(--border-primary)}.login-divider-text{padding:0 var(--space-md);color:var(--text-secondary);font-size:var(--font-sm)}.login-form{width:100%}.login-input{width:100%;padding:var(--space-md);margin-bottom:var(--space-md);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-base);transition:border-color .2s;box-sizing:border-box}.login-input:focus{outline:none;border-color:var(--border-focus)}.login-input::placeholder{color:var(--text-tertiary)}.login-input:last-of-type{margin-bottom:var(--space-lg)}.login-submit-button{width:100%;padding:var(--space-md);background-color:var(--color-primary);color:var(--text-on-primary);border:none;border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s}.login-submit-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-submit-button:disabled{cursor:not-allowed;opacity:.6}.login-toggle{margin-top:var(--space-lg);text-align:center;color:var(--text-secondary);font-size:var(--font-sm)}.login-toggle-button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:var(--font-sm);padding:0;margin-left:var(--space-xs)}.login-toggle-button:hover:not(:disabled){color:var(--color-primary-hover)}.login-toggle-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{margin-top:var(--space-2xl);display:flex;justify-content:center;align-items:center;gap:var(--space-xs);font-size:var(--font-sm)}.login-footer a{color:var(--text-secondary);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);transition:color .2s,background-color .2s}.login-footer a:hover{color:var(--color-primary);background-color:var(--bg-tertiary)}.login-footer-divider{color:var(--border-primary);font-size:var(--font-xs)}
