.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-base)}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-color);min-height:var(--header-height)}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-3);overflow:hidden}.logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);border-radius:var(--radius-lg);color:#fff;flex-shrink:0}.logo-text{font-size:var(--font-size-xl);font-weight:700;color:var(--accent-primary);white-space:nowrap}.sidebar-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.sidebar-toggle:hover{background:var(--bg-glass);color:var(--text-primary)}.sidebar.collapsed .sidebar-toggle{margin:0 auto}.sidebar-nav{flex:1;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast);text-decoration:none;position:relative;overflow:hidden}.nav-item:hover{background:var(--bg-glass);color:var(--text-primary)}.nav-item.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-md)}.nav-item.collapsed{justify-content:center;padding:var(--spacing-3)}.nav-icon{flex-shrink:0}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:var(--spacing-4);border-top:1px solid var(--border-color)}.sidebar-footer-content{text-align:center}.footer-text{font-size:var(--font-size-xs);color:var(--text-muted)}@media(max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.main-content{transition:margin-left var(--transition-base)}@media(max-width:1024px){.main-content{margin-left:0!important}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f4ff,#e8f0fe,#f5f7ff);padding:20px;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,transparent 70%);top:-200px;right:-200px;border-radius:50%;animation:pulse 8s ease-in-out infinite}.auth-page:after{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.08) 0%,transparent 70%);bottom:-150px;left:-150px;border-radius:50%;animation:pulse 10s ease-in-out infinite reverse}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.auth-container{width:100%;max-width:440px;position:relative;z-index:1}.auth-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(59,130,246,.1);border-radius:24px;padding:48px 40px;box-shadow:0 25px 50px -12px #3b82f626,0 0 0 1px #3b82f60d}.auth-header{text-align:center;margin-bottom:40px}.auth-logo{width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;box-shadow:0 10px 40px #3b82f640}.auth-logo svg{width:32px;height:32px}.auth-title{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:8px;letter-spacing:-.5px}.auth-subtitle{font-size:15px;color:#64748b;margin:0}.auth-form{display:flex;flex-direction:column;gap:24px}.auth-input-group{display:flex;flex-direction:column;gap:8px}.auth-label{font-size:13px;font-weight:600;color:#475569;letter-spacing:.3px}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:16px;color:#94a3b8;pointer-events:none;transition:color .2s ease}.auth-input{width:100%;padding:16px 16px 16px 48px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#1e293b;font-size:15px;transition:all .2s ease}.auth-input::placeholder{color:#94a3b8}.auth-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.auth-input:focus+.auth-input-icon,.auth-input-wrapper:focus-within .auth-input-icon{color:#3b82f6}.auth-error{padding:14px 16px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:10px}.auth-submit-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 15px #3b82f64d}.auth-submit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0;text-align:center}.auth-footer-text{font-size:14px;color:#64748b}.auth-switch-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-weight:600;font-size:14px;padding:0;margin-left:4px;transition:color .2s ease}.auth-switch-btn:hover{color:#2563eb;text-decoration:underline}@media(max-width:480px){.auth-card{padding:32px 24px;border-radius:20px}.auth-title{font-size:24px}.auth-logo{width:56px;height:56px}}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-8);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:var(--header-height)}.header-left{display:flex;align-items:center;gap:var(--spacing-4)}.mobile-menu-btn{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.mobile-menu-btn:hover{background:var(--bg-glass);color:var(--text-primary)}@media(max-width:1024px){.mobile-menu-btn{display:flex}}.header-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.header-right{display:flex;align-items:center;gap:var(--spacing-3)}.search-container{display:flex;align-items:center;gap:var(--spacing-2)}.search-container.open{background:var(--bg-glass);border-radius:var(--radius-lg);padding-left:var(--spacing-3)}.search-input{width:200px;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-sm);outline:none}.search-input::placeholder{color:var(--text-muted)}.btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);position:relative}.btn-icon:hover{background:var(--bg-glass);color:var(--text-primary)}.notification-btn{position:relative}.notification-badge{position:absolute;top:6px;right:6px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--error);color:#fff;font-size:10px;font-weight:600;border-radius:var(--radius-full)}.theme-toggle{color:var(--warning)}.user-menu{margin-left:var(--spacing-2)}@media(max-width:768px){.header{padding:var(--spacing-3) var(--spacing-4)}.header-title{font-size:var(--font-size-lg)}.search-container.open .search-input{width:150px}}.dashboard-page{min-height:100vh}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-6);margin-bottom:var(--spacing-8)}.stat-card-wrapper{padding:var(--spacing-5)}.stat-card-wrapper:hover{transform:translateY(-4px)}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-6)}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}}.chart-card{grid-column:1}.chart-container{margin-top:var(--spacing-4)}.quick-actions-card{grid-column:2;grid-row:1}@media(max-width:1200px){.quick-actions-card{grid-column:1;grid-row:auto}}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);padding:var(--spacing-5);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast)}.quick-action-btn:hover{background:var(--bg-glass-strong);color:var(--text-primary);transform:translateY(-2px)}.quick-action-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);border-radius:var(--radius-lg);color:#fff}.recent-invoices-card{grid-column:1}.invoice-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.invoice-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background:var(--bg-glass);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.invoice-item:hover{background:var(--bg-glass-strong)}.invoice-item-left{display:flex;flex-direction:column;gap:var(--spacing-1)}.invoice-number{font-weight:600;color:var(--text-primary)}.invoice-client{font-size:var(--font-size-sm);color:var(--text-tertiary)}.invoice-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-1)}.invoice-amount{font-weight:600;color:var(--text-primary)}.overdue-card{grid-column:2}@media(max-width:1200px){.overdue-card,.recent-invoices-card{grid-column:1}}.overdue-card .glass-card-title{display:flex;align-items:center;gap:var(--spacing-2)}.overdue-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.overdue-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3);background:var(--error-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.overdue-item:hover{background:#ef444433}.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--text-tertiary);gap:var(--spacing-2)}.confirm-dialog-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-4);animation:fadeIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-8);width:100%;max-width:400px;position:relative;text-align:center;animation:slideIn .2s ease-out;box-shadow:var(--shadow-xl)}.confirm-dialog-close{position:absolute;top:var(--spacing-4);right:var(--spacing-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-tertiary);transition:all var(--transition-fast)}.confirm-dialog-close:hover{background:var(--bg-glass);color:var(--text-primary)}.confirm-dialog-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);margin:0 auto var(--spacing-4)}.confirm-dialog-danger .confirm-dialog-icon{background:#ef444426;color:var(--error)}.confirm-dialog-warning .confirm-dialog-icon{background:#f59e0b26;color:var(--warning)}.confirm-dialog-info .confirm-dialog-icon{background:#3b82f626;color:var(--accent-primary)}.confirm-dialog-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-2)}.confirm-dialog-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-6);line-height:1.5}.confirm-dialog-actions{display:flex;gap:var(--spacing-3);justify-content:center}.confirm-dialog-actions .btn{min-width:100px;justify-content:center}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.clients-page{min-height:100vh}.page-header-left{display:flex;align-items:center;gap:var(--spacing-4)}.client-count{font-size:var(--font-size-sm);color:var(--text-tertiary);background:var(--bg-glass);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full)}.clients-toolbar{margin-bottom:var(--spacing-6)}.clients-toolbar .input-icon-wrapper{max-width:400px}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-6)}.client-card{display:flex;flex-direction:column;gap:var(--spacing-4)}.client-header{display:flex;justify-content:space-between;align-items:flex-start}.client-info{flex:1}.client-name{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-3)}.client-details{display:flex;flex-direction:column;gap:var(--spacing-2)}.client-detail{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--text-tertiary)}.client-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px solid var(--border-color)}.client-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.client-stat .stat-number{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.client-stat .stat-name{font-size:var(--font-size-xs);color:var(--text-tertiary)}@media(max-width:640px){.form-grid,.clients-grid{grid-template-columns:1fr}}.invoice-template.modern{font-family:Inter,-apple-system,sans-serif}.modern-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #3b82f6}.modern-brand{display:flex;align-items:center;gap:15px}.modern-logo{width:50px;height:50px;object-fit:contain}.modern-logo-placeholder{width:50px;height:50px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700}.modern-business-info h2{margin:0 0 4px;font-size:18px;color:#1a1a2e}.modern-business-info p{margin:0;font-size:11px;color:#666}.modern-invoice-badge{text-align:right}.modern-invoice-label{display:block;font-size:10px;letter-spacing:2px;color:#3b82f6;font-weight:600;margin-bottom:4px}.modern-invoice-number{display:block;font-size:20px;font-weight:700;color:#1a1a2e}.modern-details-row{display:flex;justify-content:space-between;margin-bottom:25px;padding:15px;background:#f8fafc;border-radius:8px}.modern-client-box{flex:1}.modern-label{display:block;font-size:9px;letter-spacing:1.5px;color:#3b82f6;font-weight:600;margin-bottom:6px}.modern-client-box h3{margin:0 0 4px;font-size:14px;color:#1a1a2e}.modern-client-box p{margin:2px 0;font-size:11px;color:#666}.modern-dates{display:flex;gap:25px}.modern-date-item{text-align:right}.modern-date-value{font-size:13px;font-weight:600;color:#1a1a2e}.modern-table{width:100%;border-collapse:collapse;margin-bottom:20px}.modern-table thead{background:#1a1a2e}.modern-table th{padding:12px;font-size:9px;letter-spacing:1px;color:#fff;text-align:left;font-weight:600}.modern-table th:last-child,.modern-table td:last-child{text-align:right}.modern-table td{padding:12px;font-size:12px;color:#333;border-bottom:1px solid #eee}.modern-summary{display:flex;justify-content:space-between;gap:30px;margin-top:20px}.modern-notes{flex:1}.modern-notes p{margin:4px 0;font-size:11px;color:#666}.modern-bank{margin-top:15px}.modern-bank p{margin:2px 0;font-size:10px;color:#888}.modern-totals{width:200px}.modern-totals-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;color:#666}.modern-totals-row.total{border-top:2px solid #3b82f6;margin-top:8px;padding-top:10px;font-size:16px;font-weight:700;color:#1a1a2e}.invoice-template.minimal{font-family:Inter,-apple-system,sans-serif;padding:10px}.minimal-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.minimal-invoice-title{display:flex;flex-direction:column}.minimal-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#999;margin-bottom:4px}.minimal-number{font-size:28px;font-weight:300;color:#1a1a2e}.minimal-meta{text-align:right}.minimal-meta p{margin:3px 0;font-size:11px;color:#666}.minimal-parties{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #eee}.minimal-logo{width:40px;height:40px;object-fit:contain;margin-bottom:8px}.minimal-from h3,.minimal-to h3{margin:8px 0 4px;font-size:14px;font-weight:600;color:#1a1a2e}.minimal-from p,.minimal-to p{margin:2px 0;font-size:11px;color:#666}.minimal-items{margin-bottom:30px}.minimal-items-header{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #ddd;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#999}.minimal-item-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:10px;padding:12px 0;font-size:12px;color:#333;border-bottom:1px solid #f5f5f5}.minimal-footer{display:flex;justify-content:space-between;margin-top:30px}.minimal-info{flex:1}.minimal-notes{font-size:11px;color:#888;font-style:italic;margin-bottom:15px}.minimal-bank p{margin:2px 0;font-size:10px;color:#666}.minimal-totals{width:180px}.minimal-totals-row{display:flex;justify-content:space-between;padding:5px 0;font-size:12px;color:#666}.minimal-totals-row.total{margin-top:10px;padding-top:10px;border-top:1px solid #1a1a2e;font-size:18px;font-weight:600;color:#1a1a2e}.template-selector{display:flex;gap:10px;margin-bottom:15px}.template-option{flex:1;padding:12px;border:2px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;cursor:pointer;transition:all .2s ease;text-align:center}.template-option.active{border-color:#3b82f6;background:#3b82f61a}.template-option-name{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.template-option-desc{display:block;font-size:10px;color:var(--text-secondary)}.invoice-template.classic,.invoice-main-content{display:block}.invoice-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.invoice-preview.print-mode .invoice-template.classic{display:flex;flex-direction:column;min-height:277mm}.invoice-preview.print-mode .invoice-main-content{flex:0 0 auto}.invoice-preview.print-mode .invoice-footer{margin-top:auto}.invoice-footer .preview-notes,.invoice-footer .preview-payment-details{margin-top:12px}.invoice-footer .preview-notes:first-child,.invoice-footer .preview-payment-details:first-child{margin-top:0}.invoice-footer .preview-notes h4,.invoice-footer .preview-payment-details h4{font-size:12px;margin-bottom:6px}.invoice-footer .preview-notes p{font-size:11px;margin:0}.invoice-footer .bank-detail{font-size:11px;padding:4px 0}.invoice-preview.print-mode .invoice-template.classic{font-size:11px}.invoice-preview.print-mode .preview-header{margin-bottom:16px}.invoice-preview.print-mode .preview-business h2{font-size:16px;margin-bottom:4px}.invoice-preview.print-mode .preview-business p{margin:2px 0;font-size:10px}.invoice-preview.print-mode .preview-logo{max-width:100px;max-height:40px;margin-bottom:8px}.invoice-preview.print-mode .preview-invoice-title{font-size:22px;margin-bottom:4px}.invoice-preview.print-mode .preview-client{margin-bottom:12px;padding:10px}.invoice-preview.print-mode .preview-client h4{font-size:10px;margin-bottom:4px}.invoice-preview.print-mode .preview-client p{margin:2px 0;font-size:11px}.invoice-preview.print-mode .preview-table{margin-bottom:12px}.invoice-preview.print-mode .preview-table th,.invoice-preview.print-mode .preview-table td{padding:6px 8px;font-size:10px}.invoice-preview.print-mode .preview-totals{margin-bottom:12px}.invoice-preview.print-mode .preview-totals-row{padding:4px 0;font-size:11px}.invoice-preview.print-mode .invoice-footer{margin-top:16px;padding-top:12px}.invoices-page{min-height:100vh;display:flex;flex-direction:column}.invoices-page .page-container{flex:1;display:flex;flex-direction:column;padding-bottom:var(--spacing-6);width:100%;max-width:1600px}.invoices-page .table-container{flex:1;overflow-y:auto}.invoices-toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.status-filters{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.filter-btn{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-full);transition:all var(--transition-fast)}.filter-btn:hover{background:var(--bg-glass-strong);color:var(--text-primary)}.filter-btn.active{background:var(--accent-primary);color:#fff;border-color:transparent}.invoice-link{color:var(--accent-primary);font-weight:600;transition:color var(--transition-fast)}.invoice-link:hover{color:var(--accent-primary-light)}.btn-icon.danger{color:var(--text-secondary);transition:all var(--transition-fast)}.btn-icon.danger:hover{color:var(--error);background:#ef44441a}.btn-icon.success{color:var(--text-secondary);transition:all var(--transition-fast)}.btn-icon.success:hover{color:var(--success);background:#22c55e1a}.action-buttons{display:flex;gap:var(--spacing-1);align-items:center;justify-content:flex-end}.table td .dropdown{display:inline-block}@media(max-width:768px){.table-container{font-size:var(--font-size-sm)}.table th,.table td{padding:var(--spacing-3)}}.invoice-editor-page{min-height:100vh}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);flex-wrap:wrap;gap:var(--spacing-4)}.editor-actions{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.editor-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}@media(max-width:1400px){.editor-layout{grid-template-columns:1fr}}.editor-form{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-section{padding-bottom:var(--spacing-6);border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.section-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-4)}.section-header .section-title{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.form-grid .full-width{grid-column:1 / -1}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.items-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.item-row{display:grid;grid-template-columns:1fr 80px 100px 120px 40px;gap:var(--spacing-3);align-items:center}@media(max-width:768px){.item-row{grid-template-columns:1fr;padding:var(--spacing-4);background:var(--bg-glass);border-radius:var(--radius-lg)}.item-total{text-align:left}}.item-description .input{width:100%}.item-total{font-weight:600;text-align:right}.totals-section{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);background:var(--bg-glass);border-radius:var(--radius-lg);max-width:300px;margin-left:auto}.totals-row{display:flex;justify-content:space-between;padding:var(--spacing-2) 0;color:var(--text-secondary)}.totals-row.discount{color:var(--success)}.totals-row.total{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);border-top:1px solid var(--border-color);padding-top:var(--spacing-3);margin-top:var(--spacing-2)}.editor-preview{position:sticky;top:calc(var(--header-height) + var(--spacing-8));height:fit-content}.preview-title{font-size:var(--font-size-lg);font-weight:600;margin:0}.preview-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color)}.template-selector{display:flex;gap:6px}.template-option{padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;cursor:pointer;transition:all .2s ease}.template-option:hover{border-color:#3b82f64d;background:#3b82f60d}.template-option.active{border-color:#3b82f6;background:#3b82f626}.template-option-name{font-size:11px;font-weight:500;color:var(--text-primary)}.invoice-preview{background:#fff;color:#1a1a2e;padding:var(--spacing-8);border-radius:var(--radius-lg);font-size:12px}.preview-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-8);gap:var(--spacing-4)}.preview-business h2{font-size:18px;margin-bottom:var(--spacing-2);color:#1a1a2e}.preview-business p{color:#666;margin:var(--spacing-1) 0}.preview-logo{max-width:150px;max-height:60px;object-fit:contain;margin-bottom:var(--spacing-3)}.preview-invoice-info{text-align:right}.preview-invoice-title{font-size:28px;font-weight:700;color:#3b82f6;margin-bottom:var(--spacing-2)}.preview-invoice-info p{margin:var(--spacing-1) 0;color:#1a1a2e}.preview-client{margin-bottom:var(--spacing-6);padding:var(--spacing-4);background:#f8f9fa;border-radius:var(--radius-md)}.preview-client h4{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:var(--spacing-2)}.preview-client p{margin:var(--spacing-1) 0;color:#1a1a2e}.preview-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-6)}.preview-table th,.preview-table td{padding:var(--spacing-3);text-align:left;border-bottom:1px solid #eee}.preview-table th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;background:#f8f9fa}.preview-table th:first-child,.preview-table td:first-child{white-space:normal;word-wrap:break-word;word-break:break-word;max-width:300px}.preview-table td{color:#1a1a2e}.preview-table td:last-child,.preview-table th:last-child{text-align:right}.preview-totals{display:flex;flex-direction:column;gap:var(--spacing-1);max-width:250px;margin-left:auto;padding:var(--spacing-4);background:#f8f9fa;border-radius:var(--radius-md)}.preview-totals-row{display:flex;justify-content:space-between;padding:var(--spacing-2) 0;color:#666}.preview-totals-row.total{font-size:14px;font-weight:700;color:#1a1a2e;border-top:2px solid #3b82f6;padding-top:var(--spacing-3);margin-top:var(--spacing-2)}.preview-notes{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid #eee}.preview-notes h4{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:var(--spacing-2)}.preview-notes p{color:#666}.preview-payment-details{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid #ddd}.preview-payment-details h4{font-size:12px;font-weight:600;color:#333;margin-bottom:var(--spacing-3)}.bank-detail{margin-bottom:2px;font-size:11px;color:#333}.bank-detail label{display:inline-block;width:90px;color:#666}@media(max-width:1400px){.editor-preview{position:static}}.billing-type-toggle{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:4px;gap:4px;border:1px solid var(--border-color)}.toggle-option{display:flex;align-items:center;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.toggle-option:hover{color:var(--text-primary);background:#ffffff80}.toggle-option.active{background:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.invoice-preview-page{min-height:100vh}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);flex-wrap:wrap;gap:var(--spacing-4)}.preview-actions{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.preview-container{display:flex;justify-content:center;padding:var(--spacing-6);background:var(--bg-glass);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.invoice-preview.print-mode{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:800px;padding:var(--spacing-8)}@media print{.invoice-preview-page .header,.invoice-preview-page .sidebar,.invoice-preview-page .preview-header,.invoice-preview-page .preview-actions{display:none!important}.invoice-preview-page .page-container{padding:0!important;margin:0!important}.preview-container{background:none!important;border:none!important;padding:0!important}.invoice-preview.print-mode{box-shadow:none!important;max-width:100%!important}}@media(max-width:768px){.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%}.preview-actions .btn{flex:1;justify-content:center}.preview-container,.invoice-preview.print-mode{padding:var(--spacing-4)}}.expenses-page{min-height:100vh}.expenses-summary{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}@media(max-width:1024px){.expenses-summary{grid-template-columns:1fr}}.summary-card{display:flex;align-items:center;gap:var(--spacing-4)}.total-card{background:var(--accent-primary)}.total-card .summary-value,.total-card .summary-label{color:#fff}.summary-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:var(--radius-lg);color:#fff}.summary-value{font-size:var(--font-size-2xl);font-weight:700}.summary-label{font-size:var(--font-size-sm);opacity:.8}.category-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-4)}@media(max-width:1200px){.category-breakdown{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.category-breakdown{grid-template-columns:1fr}}.category-card{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4)}.category-icon{font-size:var(--font-size-2xl)}.category-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.category-value{font-size:var(--font-size-lg);font-weight:600}.expenses-toolbar{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6);flex-wrap:wrap}.expenses-list{padding:0;overflow:hidden}.expense-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.expense-item:last-child{border-bottom:none}.expense-item:hover{background:var(--bg-glass)}.expense-icon{font-size:var(--font-size-xl);width:40px;text-align:center}.expense-info{flex:1}.expense-description{font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-1)}.expense-meta{display:flex;align-items:center;gap:var(--spacing-4);font-size:var(--font-size-sm);color:var(--text-tertiary)}.expense-date{display:flex;align-items:center;gap:var(--spacing-1)}.expense-amount{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.expense-actions{display:flex;gap:var(--spacing-2);opacity:0;transition:opacity var(--transition-fast)}.expense-item:hover .expense-actions{opacity:1}@media(max-width:640px){.form-row{grid-template-columns:1fr}.expense-item{flex-wrap:wrap}.expense-actions{opacity:1;width:100%;justify-content:flex-end;margin-top:var(--spacing-2)}}.time-tracking-page{min-height:100vh}.timer-section{margin-bottom:var(--spacing-6)}.timer-display{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-6);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-6)}.timer-time{font-size:4rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;color:var(--accent-primary)}.timer-controls{display:flex;gap:var(--spacing-3)}.timer-btn{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:#fff;transition:all var(--transition-fast)}.timer-btn.start{background:var(--success)}.timer-btn.start:hover{background:#059669;transform:scale(1.05)}.timer-btn.pause{background:var(--warning)}.timer-btn.pause:hover{background:#d97706}.timer-btn.stop{background:var(--error)}.timer-btn.stop:hover:not(:disabled){background:#dc2626}.timer-btn:disabled{opacity:.5;cursor:not-allowed}.timer-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.timer-description{font-size:var(--font-size-lg);padding:var(--spacing-4)}.timer-options{display:flex;gap:var(--spacing-4);flex-wrap:wrap}.timer-options .input{flex:1;min-width:150px}.input-group-inline{display:flex;align-items:center;gap:var(--spacing-2);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:0 var(--spacing-3);color:var(--text-secondary)}.input-group-inline .input{border:none;background:transparent;width:80px;padding:var(--spacing-3) var(--spacing-2)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary)}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-6);margin-bottom:var(--spacing-6)}@media(max-width:640px){.summary-grid{grid-template-columns:1fr}}.summary-stat{display:flex;align-items:center;gap:var(--spacing-4)}.summary-icon-small{color:var(--accent-primary)}.summary-stat-value{font-size:var(--font-size-xl);font-weight:600}.summary-stat-label{font-size:var(--font-size-sm);color:var(--text-tertiary)}.time-entries-list{display:flex;flex-direction:column}.time-entry{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.time-entry:last-child{border-bottom:none}.time-entry:hover{background:var(--bg-glass)}.time-entry-info{flex:1}.time-entry-description{font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-1)}.time-entry-meta{font-size:var(--font-size-sm);color:var(--text-tertiary);display:flex;gap:var(--spacing-2);flex-wrap:wrap}.time-entry-duration{font-family:SF Mono,Fira Code,monospace;font-weight:600;color:var(--text-primary);min-width:80px;text-align:right}.time-entry-amount{font-weight:600;color:var(--success);min-width:80px;text-align:right}@media(max-width:768px){.timer-display{flex-direction:column;gap:var(--spacing-4);text-align:center}.timer-time{font-size:2.5rem}.time-entry{flex-wrap:wrap}.time-entry-duration,.time-entry-amount{min-width:auto}}.reports-page{min-height:100vh}.report-actions{display:flex;gap:var(--spacing-3)}.report-actions .input{width:auto}.reports-stats{margin-bottom:var(--spacing-6)}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}@media(max-width:1200px){.reports-grid{grid-template-columns:1fr}}.revenue-chart{grid-column:1 / -1}.expenses-chart .chart-container.pie-chart{display:flex;justify-content:center}.pie-legend{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-4)}.legend-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);border-radius:var(--radius-md)}.legend-item:hover{background:var(--bg-glass)}.legend-color{width:12px;height:12px;border-radius:var(--radius-sm);flex-shrink:0}.legend-label{flex:1;font-size:var(--font-size-sm);color:var(--text-secondary)}.legend-value{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}@media(max-width:768px){.report-actions{flex-direction:column;width:100%}.report-actions .input,.report-actions .btn{width:100%}}.settings-page{min-height:100vh}.settings-container{display:flex;flex-direction:column;gap:var(--spacing-6);padding:var(--spacing-6) var(--spacing-8);max-width:1000px;margin:0 auto}.settings-sidebar{width:100%;display:flex;flex-direction:row;gap:var(--spacing-3);border-bottom:none;padding-bottom:var(--spacing-2);overflow-x:auto}.settings-nav-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;margin-bottom:0}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color-strong)}.settings-nav-item.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.settings-nav-item span{font-size:var(--font-size-sm)}.settings-content,.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.settings-section{display:flex;flex-direction:column;gap:var(--spacing-6);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-6)}.section-header{display:flex;align-items:center;gap:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color)}.section-icon{display:none}.section-title{font-size:var(--font-size-xl);font-weight:600;margin:0}.section-description{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--spacing-1)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}@media(max-width:1024px){.settings-container{flex-direction:column;padding:var(--spacing-4)}.settings-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding-bottom:var(--spacing-2)}.settings-nav-item{white-space:nowrap;flex-shrink:0}}@media(max-width:640px){.form-row{grid-template-columns:1fr}.settings-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding-bottom:var(--spacing-2)}}.appearance-options{display:flex;flex-direction:column;gap:var(--spacing-4)}.theme-option{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.theme-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-6);background:var(--bg-glass);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.theme-preview:hover{background:var(--bg-glass-strong);color:var(--text-primary)}.theme-preview.active{border-color:var(--accent-primary);background:#3b82f61a;color:var(--accent-primary)}.theme-preview span{font-size:var(--font-size-sm);font-weight:500}.logo-upload-area{display:flex;flex-direction:column;gap:var(--spacing-3);align-items:flex-start}.logo-upload-placeholder{width:200px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2);background:var(--bg-glass);border:2px dashed var(--border-color-strong);border-radius:var(--radius-lg);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.logo-upload-placeholder:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#3b82f60d}.logo-upload-placeholder span{font-size:var(--font-size-sm)}.upload-hint{font-size:var(--font-size-xs)!important;opacity:.6}.logo-preview{position:relative;display:inline-block}.logo-preview img{max-width:200px;max-height:120px;object-fit:contain;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:#fff;padding:var(--spacing-2)}.remove-logo-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--error);color:#fff;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast)}.remove-logo-btn:hover{background:#dc2626;transform:scale(1.1)}.bank-accounts-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.empty-bank-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);background:var(--bg-glass);border:2px dashed var(--border-color-strong);border-radius:var(--radius-lg);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);text-align:center;gap:var(--spacing-2)}.empty-bank-state:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.empty-bank-state p{font-weight:500;margin:0}.empty-bank-state span{font-size:var(--font-size-xs);opacity:.7}.bank-account-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.bank-account-card:hover{background:var(--bg-glass-strong);border-color:var(--border-color-strong)}.bank-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.bank-name{font-weight:600;color:var(--text-primary)}.bank-details{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--text-tertiary)}.bank-currency{color:var(--accent-primary);font-weight:500}.bank-actions{display:flex;gap:var(--spacing-2)}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-card: rgba(26, 26, 37, .7);--bg-card-hover: rgba(35, 35, 50, .8);--bg-glass: rgba(255, 255, 255, .03);--bg-glass-strong: rgba(255, 255, 255, .08);--border-color: rgba(255, 255, 255, .08);--border-color-strong: rgba(255, 255, 255, .15);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .35);--accent-primary: #3b82f6;--accent-primary-light: #60a5fa;--accent-primary-dark: #2563eb;--accent-secondary: #06b6d4;--accent-solid: #3b82f6;--accent-solid-hover: #60a5fa;--success: #10b981;--success-bg: rgba(16, 185, 129, .15);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--error: #ef4444;--error-bg: rgba(239, 68, 68, .15);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-glow: 0 0 30px rgba(59, 130, 246, .3);--shadow-glow-strong: 0 0 50px rgba(59, 130, 246, .5);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--sidebar-width: 260px;--sidebar-collapsed: 80px;--header-height: 70px}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: rgba(255, 255, 255, 1);--bg-glass: rgba(0, 0, 0, .02);--bg-glass-strong: rgba(0, 0, 0, .05);--border-color: rgba(0, 0, 0, .08);--border-color-strong: rgba(0, 0, 0, .15);--text-primary: #0f172a;--text-secondary: rgba(15, 23, 42, .75);--text-tertiary: rgba(15, 23, 42, .55);--text-muted: rgba(15, 23, 42, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 30px rgba(59, 130, 246, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}ul,ol{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary)}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.page-container{padding:var(--spacing-8);max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);flex-wrap:wrap;gap:var(--spacing-4)}.page-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--accent-primary)}.glass-card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-6);transition:all var(--transition-base)}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-color-strong);box-shadow:var(--shadow-lg)}.glass-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color)}.glass-card-title{font-size:var(--font-size-lg);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-lg);transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--accent-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--bg-glass-strong);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-color-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-glass);color:var(--text-primary)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-base)}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.btn-icon.sm{width:32px;height:32px}.input-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.input-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.input{width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633}.input::placeholder{color:var(--text-muted)}.input-icon-wrapper{position:relative}.input-icon-wrapper .input{padding-left:var(--spacing-10)}.input-icon-wrapper .icon{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}textarea.input{min-height:100px;resize:vertical}select.input{cursor:pointer;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='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center;padding-right:var(--spacing-10)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-default{background:var(--bg-glass-strong);color:var(--text-secondary)}.table-container{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--border-color)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-4);text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);background:var(--bg-glass)}.table td{font-size:var(--font-size-sm);color:var(--text-secondary)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-glass)}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-4);animation:fadeIn var(--transition-fast) ease}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-base) ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--border-color)}.modal-title{font-size:var(--font-size-xl);font-weight:600}.modal-body{padding:var(--spacing-6)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-6);border-top:1px solid var(--border-color)}.stat-card{display:flex;align-items:flex-start;gap:var(--spacing-4)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--accent-primary);color:#fff;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--spacing-1)}.stat-change{font-size:var(--font-size-xs);font-weight:500;margin-top:var(--spacing-2);display:flex;align-items:center;gap:var(--spacing-1)}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--error)}.grid{display:grid;gap:var(--spacing-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.text-center{text-align:center}.text-right,.table th.text-right,.table td.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease}.animate-slideUp{animation:slideUp var(--transition-base) ease}.animate-slideIn{animation:slideIn var(--transition-base) ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-16);text-align:center}.empty-state-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-glass);border-radius:var(--radius-full);color:var(--text-tertiary);margin-bottom:var(--spacing-6)}.empty-state-title{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-2)}.empty-state-description{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:400px;margin-bottom:var(--spacing-6)}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0}.avatar.sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar.lg{width:56px;height:56px;font-size:var(--font-size-lg)}.tabs{display:flex;gap:var(--spacing-1);padding:var(--spacing-1);background:var(--bg-glass);border-radius:var(--radius-lg);width:fit-content}.tab{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.toggle{position:relative;width:48px;height:26px;background:var(--bg-glass-strong);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.toggle.active{background:var(--accent-primary)}.toggle-handle{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:var(--radius-full);transition:transform var(--transition-fast);box-shadow:var(--shadow-sm)}.toggle.active .toggle-handle{transform:translate(22px)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-2);min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:100;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast)}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--bg-glass);color:var(--text-primary)}.dropdown-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dropdown-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dropdown-divider{height:1px;background:var(--border-color);margin:var(--spacing-2) 0}@media(max-width:1024px){.main-content{margin-left:0}.page-container{padding:var(--spacing-4)}.page-title{font-size:var(--font-size-2xl)}}@media(max-width:768px){:root{--font-size-4xl: 2rem;--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem}.modal{max-width:100%;max-height:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:auto}.modal-overlay{align-items:flex-end;padding:0}}@media print{.sidebar,.header,.no-print{display:none!important}.main-content{margin-left:0!important}.glass-card{background:#fff!important;box-shadow:none!important;border:1px solid #ddd!important}}
