:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-background: #ffffff;--color-background-secondary: #f9fafb;--color-background-tertiary: #f3f4f6;--color-text-primary: #1f2937;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-link: #646cff;--color-link-hover: #535bf2;--color-button-background: #f9f9f9;--color-shadow: rgba(0, 0, 0, .1);--color-shadow-hover: rgba(0, 0, 0, .15)}.dark-theme{--color-background: #1a1a1a;--color-background-secondary: #242424;--color-background-tertiary: #2d2d2d;--color-text-primary: #e5e7eb;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-border: #374151;--color-border-hover: #4b5563;--color-link: #818cf8;--color-link-hover: #a5b4fc;--color-button-background: #2d2d2d;--color-shadow: rgba(0, 0, 0, .3);--color-shadow-hover: rgba(0, 0, 0, .5)}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;background-color:var(--color-background);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}a{font-weight:500;color:var(--color-link);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--color-link-hover)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}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:var(--color-button-background);color:var(--color-text-primary);cursor:pointer;transition:all .25s ease}button:hover{border-color:var(--color-link)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app-layout{min-height:100vh;display:flex;flex-direction:column;width:100%}.sticky-header-nav{position:sticky;top:0;z-index:1000;width:100%;overflow:visible;isolation:isolate}@media (max-width: 768px){.sticky-header-nav{position:relative;top:auto}}.main-content{flex:1;padding-top:0;margin-top:0;background-color:var(--color-background);width:100%;transition:background-color .3s ease}#root{max-width:none;margin:0;padding:0;text-align:left;width:100%}body,html{margin:0;padding:0;width:100%}.dark-theme .income-table-page,.dark-theme .expense-table-page,.dark-theme .taxes-table-page,.dark-theme .reports-table-page,.dark-theme .admin-page{background-color:var(--color-background);color:var(--color-text-primary)}.dark-theme .month-group,.dark-theme .tax-card,.dark-theme .report-card{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 2px 8px #0000004d}.dark-theme table{background-color:var(--color-background);color:var(--color-text-primary)}.dark-theme th{background-color:var(--color-background-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.dark-theme td{border-color:var(--color-border);color:var(--color-text-primary)}.dark-theme tr:hover td{background-color:var(--color-background-secondary)}.dark-theme tbody tr:nth-child(2n){background-color:var(--color-background-secondary)}.dark-theme .modal-overlay{background-color:#000000b3}.dark-theme .modal-content,.dark-theme .modal{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 10px 30px #00000080;color:var(--color-text-primary)}.dark-theme .modal-header{border-bottom-color:var(--color-border)}.dark-theme .modal-footer{border-top-color:var(--color-border)}.dark-theme .modal-title{color:#f3f4f6!important}.dark-theme .form-label{color:#d1d5db!important}.dark-theme .form-input{background-color:var(--color-background-tertiary)!important;color:#f3f4f6!important}.dark-theme .form-input:focus{background-color:var(--color-background)!important}.dark-theme .currency-symbol{color:#9ca3af!important}.dark-theme input,.dark-theme select,.dark-theme textarea{background-color:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}.dark-theme input:focus,.dark-theme select:focus,.dark-theme textarea:focus{background-color:var(--color-background);border-color:var(--color-link);box-shadow:0 0 0 3px #818cf833}.dark-theme input::placeholder,.dark-theme textarea::placeholder{color:var(--color-text-tertiary)}.dark-theme label{color:var(--color-text-primary)}.dark-theme .filters-section,.dark-theme .filter-container{background-color:var(--color-background-secondary);border-color:var(--color-border)}.dark-theme .filter-summary{background-color:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}.dark-theme .table-legend{background-color:var(--color-background-secondary);border-color:var(--color-border)}.dark-theme .legend-item{color:var(--color-text-primary)}.dark-theme .loading-spinner-container{background-color:var(--color-background)}.dark-theme .loading-state,.dark-theme .error-state{color:var(--color-text-primary)}.dark-theme .toast{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 4px 12px #00000080;color:var(--color-text-primary)}.dark-theme .toast.success{background-color:#065f46;border-color:#10b981}.dark-theme .toast.error{background-color:#7f1d1d;border-color:#ef4444}.dark-theme .toast.info{background-color:#1e3a8a;border-color:#3b82f6}.dark-theme .toast.warning{background-color:#78350f;border-color:#f59e0b}.dark-theme .demo-banner{background:linear-gradient(135deg,#92400e,#78350f);color:#fbbf24}.dark-theme .currency-total,.dark-theme .income-total{background-color:#22c55e26!important;border-color:#22c55e4d!important;color:#4ade80!important}.dark-theme .currency-total .summary-label,.dark-theme .income-total .summary-label{color:#86efac!important}.dark-theme .currency-total .summary-value,.dark-theme .income-total .summary-value{color:#4ade80!important}.dark-theme .expense-total{background-color:#fb923c26!important;border-color:#fb923c4d!important;color:#fb923c!important}.dark-theme .expense-total .summary-label{color:#fdba74!important}.dark-theme .expense-total .summary-value{color:#fb923c!important}.dark-theme .tax-total{background-color:#a855f726!important;border-color:#a855f74d!important;color:#c084fc!important}.dark-theme .tax-total .summary-label{color:#d8b4fe!important}.dark-theme .tax-total .summary-value{color:#c084fc!important}.dark-theme .income-table-page .month-summary,.dark-theme .expenses-table-page .month-summary,.dark-theme .taxes-table-page .quarter-summary{background-color:transparent!important;border-top-color:var(--color-border)!important}.dark-theme .income-table-page .total-amount{color:#4ade80!important;background-color:transparent!important}.dark-theme .expenses-table-page .total-amount{color:#fb923c!important;background-color:transparent!important}.dark-theme .taxes-table-page .total-item{color:#c084fc!important;background-color:transparent!important}.dark-theme .expenses-table-page .amount-cell{color:#fb923c!important}.dark-theme .taxes-table-page .income-amount{color:#4ade80!important}.dark-theme .taxes-table-page .tax-amount{color:#c084fc!important}.dark-theme .taxes-table-page .income-summary{color:#4ade80!important}.dark-theme .taxes-table-page .tax-summary{color:#c084fc!important}.dark-theme .taxes-table-page .paid-count{background-color:#a855f733;color:#c084fc;border-color:#a855f766}.dark-theme .taxes-table-page .paid-row{background-color:#3b82f626}.dark-theme .taxes-table-page .unpaid-row{background-color:#fbbf2426}.dark-theme .legend-paid{background-color:#3b82f633;border-color:#3b82f666}.dark-theme .legend-unpaid{background-color:#fbbf2433;border-color:#fbbf2466}.dark-theme .legend-submitted{background-color:#22c55e33;border-color:#22c55e66}.dark-theme .legend-pending{background-color:#fbbf2433;border-color:#fbbf2466}.dark-theme .legend-overdue{background-color:#ef444433;border-color:#ef444466}.dark-theme .legend-overdue:before{background-color:#f87171}.dark-theme .empty-state{background-color:var(--color-background)!important;border-color:var(--color-border)!important}.dark-theme .empty-state h3{color:var(--color-text-primary)!important}.dark-theme .empty-state p{color:var(--color-text-secondary)!important}.dark-theme .empty-icon{opacity:.6}.dark-theme .reports-table-page,.dark-theme .report-section{background-color:var(--color-background);color:var(--color-text-primary)}.dark-theme .reports-table-page .income-amount{color:#4ade80!important}.dark-theme .reports-table-page .tax-amount{color:#c084fc!important}.dark-theme .reports-table-page .income-summary{color:#4ade80!important}.dark-theme .reports-table-page .tax-summary{color:#c084fc!important}.dark-theme .reports-table-page .total-item{color:#c084fc!important;background-color:transparent!important}.dark-theme .reports-table-page .submitted-row{background-color:#22c55e26}.dark-theme .reports-table-page .pending-row{background-color:#fbbf2426}.dark-theme .reports-table-page .overdue-row{background-color:#ef444426;border-left-color:#f87171}.dark-theme .reports-table-page .status-submitted{background-color:#22c55e33;color:#4ade80;border-color:#22c55e66}.dark-theme .reports-table-page .status-pending{background-color:#fbbf2433;color:#fbbf24;border-color:#fbbf2466}.dark-theme .reports-table-page .status-overdue{background-color:#ef444433;color:#f87171;border-color:#ef444466}.dark-theme .reports-table-page .status-count{background-color:#a855f733;color:#c084fc;border-color:#a855f766}.dark-theme .reports-table-page .reports-table .quarter-cell,.dark-theme .reports-table-page .reports-table td.quarter-cell,.dark-theme .reports-table-page tbody .quarter-cell,.dark-theme .reports-table-page .reports-table .date-cell,.dark-theme .reports-table-page .reports-table td.date-cell,.dark-theme .reports-table-page tbody .date-cell{color:#e5e7eb!important}.dark-theme .income-table-page .cash-indicator.cash,.dark-theme .expense-table-page .cash-indicator.cash{background-color:#22c55e33;color:#4ade80;border-color:#22c55e66}.dark-theme .income-table-page .cash-indicator.non-cash,.dark-theme .expense-table-page .cash-indicator.non-cash{background-color:#3b82f633;color:#60a5fa;border-color:#3b82f666}.dark-theme .tax-report-page,.dark-theme .report-section{background-color:var(--color-background);color:var(--color-text-primary)}.dark-theme .report-header{background-color:var(--color-background-secondary);border-color:var(--color-border)}.dark-theme .action-button:not(.primary):not(.danger):not(.success){background-color:var(--color-background-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.dark-theme .action-button:not(.primary):not(.danger):not(.success):hover{background-color:var(--color-background-secondary)}.dark-theme .add-button{background-color:#60a5fa!important;color:#fff!important;box-shadow:0 2px 4px #60a5fa4d}.dark-theme .add-button:hover{background-color:#3b82f6!important;box-shadow:0 4px 8px #60a5fa66}.dark-theme .card,.dark-theme .panel{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 2px 8px #0000004d}.dark-theme .card-header,.dark-theme .panel-header{background-color:var(--color-background-tertiary);border-bottom-color:var(--color-border);color:var(--color-text-primary)}.dark-theme .multiselect-dropdown,.dark-theme .filter-dropdown{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 4px 12px #0006}.dark-theme .multiselect-option,.dark-theme .filter-option{color:var(--color-text-primary)}.dark-theme .multiselect-option:hover,.dark-theme .filter-option:hover{background-color:var(--color-background-tertiary)}.dark-theme .multiselect-option.selected,.dark-theme .filter-option.selected{background-color:var(--color-link);color:#fff}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px;border:2px solid #f1f5f9}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-thumb:active{background:#64748b}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.dark-theme ::-webkit-scrollbar{width:12px;height:12px}.dark-theme ::-webkit-scrollbar-track{background:var(--color-background-secondary);border-radius:6px}.dark-theme ::-webkit-scrollbar-thumb{background:#4b5563;border-radius:6px;border:2px solid var(--color-background-secondary)}.dark-theme ::-webkit-scrollbar-thumb:hover{background:#6b7280;border-color:var(--color-background-secondary)}.dark-theme ::-webkit-scrollbar-thumb:active{background:#9ca3af}.dark-theme *{scrollbar-width:thin;scrollbar-color:#4b5563 var(--color-background-secondary)}.dark-theme code,.dark-theme pre{background-color:var(--color-background-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.dark-theme .tooltip{background-color:var(--color-background-tertiary);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:0 2px 8px #00000080}.dark-theme .pagination{background-color:var(--color-background-secondary)}.dark-theme .pagination-button{background-color:var(--color-background-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.dark-theme .pagination-button:hover:not(.disabled){background-color:var(--color-background)}.dark-theme .pagination-button.active{background-color:var(--color-link);color:#fff}.dark-theme hr,.dark-theme .divider{border-color:var(--color-border)}.dark-theme .empty-state{color:var(--color-text-tertiary)}.dark-theme .text-muted,.dark-theme .text-secondary{color:var(--color-text-tertiary)!important}.dark-theme .text-primary{color:var(--color-link)!important}.dark-theme *{transition-property:background-color,border-color,color,box-shadow;transition-duration:.3s;transition-timing-function:ease}.dark-theme.no-transition *{transition:none!important}.header{background-color:var(--color-background);border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px 0 var(--color-shadow);position:relative;z-index:1010;width:100%;overflow:visible;transition:all .3s ease}.header.mobile-menu-active{z-index:1015}.header-container{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;height:4rem;position:relative;overflow:visible}.header-brand{display:flex;align-items:center}.brand-logo{display:flex;align-items:center;gap:.75rem}.header-icon{width:32px;height:32px;flex-shrink:0;transition:transform .2s ease}.header-icon:hover{transform:scale(1.1)}.brand-link{text-decoration:none;color:inherit;cursor:pointer;transition:opacity .2s ease}.brand-link:hover{opacity:.8;text-decoration:none}.brand-link:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.header-brand h1{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0;white-space:nowrap;display:flex;align-items:center}.page-separator{color:var(--color-text-tertiary);font-weight:400;margin:0 .5rem}.page-name{color:var(--color-text-secondary);font-weight:500;font-size:1.25rem}.header-nav,.desktop-nav{display:flex;align-items:center;gap:1rem}.user-info{display:inline-flex;align-items:center;white-space:nowrap}.welcome-text{color:var(--color-text-secondary);font-size:.875rem;white-space:nowrap;display:inline-flex;align-items:center;gap:.125rem;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:background-color .15s ease}.welcome-text:hover{background-color:var(--color-background-secondary)}.welcome-text .dropdown-arrow{font-size:.625rem;color:#9ca3af;margin-left:.375rem;transition:all .2s ease;transform:translateY(-1px)}.user-dropdown:hover .dropdown-arrow,.user-dropdown:focus-within .dropdown-arrow{color:#6b7280;transform:translateY(-1px) rotate(180deg)}.welcome-text:focus{outline:2px solid #3b82f6;outline-offset:2px}.welcome-text:focus .dropdown-arrow{color:#6b7280;transform:translateY(-1px) rotate(180deg)}.user-dropdown{position:relative;display:inline-block;z-index:1010}.dropdown-content{display:none;position:absolute;right:0;top:100%;background-color:#fff;min-width:160px;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1020;transform:translateY(-10px) scale(.95);opacity:0;transition:all .2s ease-out;pointer-events:none}.dropdown-content button{color:#374151;padding:12px 16px;text-decoration:none;display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s ease;border-radius:.25rem;margin:2px}.dropdown-content button:hover{background-color:#f3f4f6;color:#1f2937}.dropdown-content button:first-child{margin-top:4px}.dropdown-content button:last-child{margin-bottom:4px;color:#ef4444}.dropdown-content button:last-child:hover{background-color:#fef2f2;color:#dc2626}.user-dropdown:hover .dropdown-content,.user-dropdown:focus-within .dropdown-content{display:block;transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.user-roles{display:inline-flex;align-items:center;gap:0;margin-left:.125rem}.role-icon{width:2rem;height:2rem;display:inline-block;border-radius:.25rem;background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}.role-icon:hover{transform:scale(1.1)}.role-icon.admin,.role-icon.manager{background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:inherit}.role-icon.user{background:linear-gradient(135deg,#6b7280,#4b5563);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:#fff}.nav-buttons{display:flex;align-items:center;gap:.75rem;margin-left:.0625rem}.admin-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.375rem;box-shadow:0 2px 4px #10b98133;white-space:nowrap}.admin-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.admin-button:active{transform:translateY(0)}.admin-button:focus{outline:2px solid #10b981;outline-offset:2px}.nav-button{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;border:none;white-space:nowrap;position:relative;z-index:1}.signin-button{background-color:transparent;color:#4b5563;border:1px solid #d1d5db}.signin-button:hover{background-color:#f9fafb;color:#1f2937}.register-button{background-color:#3b82f6;color:#fff}.register-button:hover{background-color:#2563eb}.logout-button{background-color:#ef4444;color:#fff}.logout-button:hover{background-color:#dc2626}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.25rem}.mobile-menu-button:hover{background-color:#f3f4f6}.hamburger{display:flex;flex-direction:column;width:1.5rem;height:1.25rem;position:relative;justify-content:center}.hamburger span{display:block;height:2px;width:100%;background-color:#374151;border-radius:1px;transition:all .3s ease;transform-origin:center;position:absolute}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger span:nth-child(3){bottom:0}.hamburger.open span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:translateY(-50%) scale(0)}.hamburger.open span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.mobile-nav{position:absolute;top:calc(100% + 1px);right:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-width:200px;z-index:1020;transform:translateY(-10px) scale(.95);opacity:0;transition:all .2s ease-out;pointer-events:none;visibility:hidden}.mobile-nav.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;visibility:visible;z-index:1020}.mobile-nav .nav-button{pointer-events:auto!important;position:relative;z-index:1021;display:block;width:100%;text-align:center}.mobile-welcome{color:#4b5563;font-size:.875rem;padding:.5rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:.5rem;position:relative;z-index:1}.mobile-user-roles{display:flex;align-items:center;gap:.25rem;margin-top:.25rem;justify-content:center}.mobile-user-roles .role-icon{width:1rem;height:1rem;font-size:.625rem}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000001a;z-index:1010}@media (min-width: 1200px){.header-container{padding:0 2rem}.header-brand h1{font-size:1.75rem}.welcome-text{font-size:1rem;gap:.1875rem}.user-roles{margin-left:.1875rem;gap:0}.role-icon{width:2.25rem;height:2.25rem;font-size:1.25rem}.user-info{display:inline-flex;align-items:center}.nav-buttons{margin-left:.09375rem}.nav-button{padding:.625rem 1.25rem;font-size:1rem}.admin-button{font-size:.875rem;padding:.625rem 1.25rem}.user-info{flex-direction:row;align-items:center}.nav-buttons{margin-left:1.5rem}}@media (min-width: 769px) and (max-width: 1199px){.user-info{display:inline-flex;align-items:center}.welcome-text{font-size:.875rem;gap:.125rem}.user-roles{margin-left:.125rem;gap:0}.role-icon{width:2rem;height:2rem;font-size:1.125rem}.nav-buttons{margin-left:.0625rem}}@media (max-width: 768px){.desktop-nav{display:none}.mobile-menu-button{display:block;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.header-icon{width:28px;height:28px}.brand-logo{gap:.5rem}.header-brand h1{font-size:1.25rem;flex-direction:column;align-items:flex-start;line-height:1.2}.page-separator{display:none}.page-name{font-size:1rem;font-weight:400;color:#6b7280}.header-container{padding:0 .75rem}.mobile-nav .nav-button{min-height:44px;padding:.75rem 1rem;text-align:center;width:100%;background-clip:padding-box}.mobile-nav .admin-button{background:linear-gradient(135deg,#10b981,#059669);margin-bottom:.5rem}.mobile-nav .admin-button:hover{background:linear-gradient(135deg,#059669,#047857)}}@media (max-width: 480px){.header-brand h1{font-size:1.125rem}.header-icon{width:24px;height:24px}.brand-logo{gap:.4rem}.header-container{height:3.5rem;padding:0 .5rem}.mobile-nav{right:.5rem;left:.5rem;min-width:auto;position:absolute;z-index:1020}}.nav-button:focus,.mobile-menu-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.mobile-nav{animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.dark-theme .dropdown-content{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d}.dark-theme .dropdown-content button{color:var(--color-text-primary)}.dark-theme .dropdown-content button:hover{background-color:var(--color-background-tertiary);color:var(--color-text-primary)}.dark-theme .mobile-nav{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d}.dark-theme .mobile-welcome{color:var(--color-text-secondary);border-color:var(--color-border)}.dark-theme .mobile-menu-button:hover{background-color:var(--color-background-tertiary)}.dark-theme .hamburger span{background-color:var(--color-text-primary)}.dark-theme .mobile-menu-overlay{background-color:#0006}.dark-theme .signin-button{background-color:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.dark-theme .signin-button:hover{background-color:var(--color-background-tertiary);color:var(--color-text-primary)}.resend-confirmation-form{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.resend-confirmation-description{margin:0;padding:1rem;background:var(--info-background, #eff6ff);border-left:4px solid var(--info-color, #3b82f6);border-radius:4px;color:var(--text-secondary, #6b7280);font-size:.9rem;line-height:1.5}.resend-field{display:flex;flex-direction:column;gap:.5rem}.resend-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1f2937)}.resend-input{padding:.75rem 1rem;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:var(--input-background, #ffffff);color:var(--text-primary, #1f2937)}.resend-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.resend-input.has-error{border-color:var(--error-color, #ef4444)}.resend-input.has-error:focus{box-shadow:0 0 0 3px #ef44441a}.resend-input:disabled{background:var(--disabled-background, #f3f4f6);cursor:not-allowed;opacity:.6}.resend-field-error{margin:0;font-size:.875rem;color:var(--error-color, #ef4444)}.resend-actions{display:flex;gap:1rem;margin-top:1rem}.resend-cancel-button,.resend-submit-button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.resend-cancel-button{background:var(--secondary-background, #f3f4f6);color:var(--text-primary, #1f2937)}.resend-cancel-button:hover:not(:disabled){background:var(--secondary-hover, #e5e7eb)}.resend-submit-button{background:var(--primary-color, #3b82f6);color:#fff}.resend-submit-button:hover:not(:disabled){background:var(--primary-hover, #2563eb)}.resend-cancel-button:active:not(:disabled),.resend-submit-button:active:not(:disabled){transform:scale(.98)}.resend-cancel-button:disabled,.resend-submit-button:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.resend-confirmation-description{background:var(--info-background-dark, #1e3a5f);border-left-color:var(--info-color, #3b82f6);color:var(--text-secondary-dark, #d1d5db)}.resend-label{color:var(--text-primary-dark, #f9fafb)}.resend-input{background:var(--input-background-dark, #374151);border-color:var(--border-color-dark, #4b5563);color:var(--text-primary-dark, #f9fafb)}.resend-input:disabled{background:var(--disabled-background-dark, #1f2937)}.resend-cancel-button{background:var(--secondary-background-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.resend-cancel-button:hover:not(:disabled){background:var(--secondary-hover-dark, #4b5563)}}.login-modal-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.login-error-alert{padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(239,68,68,.4);background-color:#ef44441f;color:#b91c1c;font-size:.9rem}.dark-theme .login-error-alert{border-color:#f8717180;background-color:#b91c1c33;color:#fecaca}.login-resend-link-container{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(239,68,68,.2)}.dark-theme .login-resend-link-container{border-top-color:#f871714d}.login-resend-link{border:none;background:none;color:var(--color-link);text-decoration:underline;font-size:.9rem;cursor:pointer;padding:0;transition:color .2s ease;font-weight:500}.login-resend-link:hover{color:var(--color-link-hover)}.login-field{display:flex;flex-direction:column;gap:.35rem}.login-label{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.login-input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-sizing:border-box}.login-input::placeholder{color:var(--color-text-tertiary);transition:color .2s ease}.login-input:-webkit-autofill,.login-input:-webkit-autofill:hover,.login-input:-webkit-autofill:focus,.login-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;-webkit-text-fill-color:var(--color-text-primary)!important;transition:background-color 5000s ease-in-out 0s}.login-input:focus{outline:none;border-color:var(--color-link);box-shadow:0 0 0 3px #646cff33;background-color:var(--color-background)}.login-input.has-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.login-field-error{color:#ef4444;font-size:.85rem;margin:0}.login-forgot{text-align:right}.login-link-button{border:none;background:none;color:var(--color-link);text-decoration:underline;font-size:.9rem;cursor:pointer;padding:0;transition:color .2s ease}.login-link-button:disabled{color:var(--color-text-tertiary);cursor:not-allowed;text-decoration:none}.login-link-button:hover:not(:disabled){color:var(--color-link-hover)}.login-submit-button{width:100%;padding:.85rem 1rem;border-radius:10px;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 10px 15px -3px #2563eb4d}.login-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #2563eb59}.login-submit-button:disabled{background:var(--color-border);color:var(--color-text-secondary);box-shadow:none;cursor:not-allowed}.login-modal-footer{text-align:center;border-top:1px solid var(--color-border);padding-top:.75rem;font-size:.9rem;color:var(--color-text-secondary)}.login-modal-footer span{margin-right:.25rem}.login-modal-footer .login-link-button{font-weight:600}.login-muted-text{color:var(--color-text-tertiary);font-size:.85rem}.dark-theme .login-input{background-color:var(--color-background-tertiary)!important;border-color:var(--color-border);color:var(--color-text-primary)}.dark-theme .login-input:focus{background-color:var(--color-background)!important;border-color:var(--color-link);box-shadow:0 0 0 3px #818cf833}.dark-theme .login-input::placeholder{color:var(--color-text-tertiary)}.dark-theme .login-input:-webkit-autofill,.dark-theme .login-input:-webkit-autofill:hover,.dark-theme .login-input:-webkit-autofill:focus,.dark-theme .login-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #2d2d2d inset!important;-webkit-text-fill-color:#f3f4f6!important;border:1px solid var(--color-border)!important;transition:background-color 5000s ease-in-out 0s}.dark-theme .login-field-error{color:#f87171}.dark-theme .login-input.has-error{border-color:#f87171;background-color:var(--color-background-tertiary)}.dark-theme .login-submit-button{box-shadow:0 10px 15px -3px #2563eb73}.register-modal-form{display:flex;flex-direction:column;gap:1.25rem}.register-error-alert{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;animation:shake .5s ease-in-out}.dark-theme .register-error-alert{background-color:#b91c1c33;border-color:#f8717180;color:#fecaca}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.register-field{display:flex;flex-direction:column}.register-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary);font-size:.95rem}.register-input,.register-select{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text-primary)}.register-input::placeholder{color:var(--color-text-tertiary)}.register-input:focus,.register-select:focus{border-color:var(--color-link);box-shadow:0 0 0 3px #646cff1a}.register-input.error,.register-select.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.register-input:disabled,.register-select:disabled{opacity:.6;cursor:not-allowed}.register-input:-webkit-autofill,.register-input:-webkit-autofill:hover,.register-input:-webkit-autofill:focus,.register-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;-webkit-text-fill-color:var(--color-text-primary)!important;transition:background-color 5000s ease-in-out 0s}.dark-theme .register-input:-webkit-autofill,.dark-theme .register-input:-webkit-autofill:hover,.dark-theme .register-input:-webkit-autofill:focus,.dark-theme .register-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #1a1a1a inset!important;-webkit-text-fill-color:#f3f4f6!important;border:1px solid var(--color-border)!important}.register-field-error{color:#ef4444;font-size:.875rem;margin:.25rem 0 0}.dark-theme .register-field-error{color:#f87171}.password-requirements{padding:.75rem;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-background-secondary);transition:all .3s ease}.password-requirements.all-met{background-color:#f0fdf4;border-color:#86efac}.dark-theme .password-requirements.all-met{background-color:#16a34a26;border-color:#86efac4d}.password-requirements-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.password-requirement{display:flex;align-items:center;font-size:.75rem;gap:.375rem;margin-bottom:.25rem}.password-requirement-text{color:var(--color-text-tertiary)}.password-requirement-warning{color:#dc2626}.dark-theme .password-requirement-warning{color:#f87171}.password-requirements-success{display:flex;align-items:center;font-size:.875rem;gap:.5rem}.password-requirements-success-text{color:#16a34a;font-weight:600}.dark-theme .password-requirements-success-text{color:#86efac}.fop-settings{padding:1.25rem;background-color:var(--color-background-secondary);border-radius:8px;border:1px solid var(--color-border);transition:opacity .2s,background-color .3s,border-color .3s}.fop-settings.disabled{opacity:.6}.fop-settings-title{margin:0 0 1rem;color:var(--color-text-primary);font-size:1rem;font-weight:600}.fop-field{margin-bottom:1rem}.fop-field:last-child{margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--color-text-primary)}.checkbox-label.disabled{cursor:not-allowed;opacity:.6}.checkbox-label input[type=checkbox]{margin-right:.25rem;cursor:pointer}.checkbox-label.disabled input[type=checkbox]{cursor:not-allowed}.register-submit-button{width:100%;padding:.75rem 1rem;background-color:#16a34a;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:48px}.register-submit-button:hover:not(:disabled){background-color:#15803d;transform:translateY(-1px)}.register-submit-button:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.dark-theme .register-submit-button:disabled{background-color:var(--color-border);color:var(--color-text-tertiary)}.captcha-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0}.captcha-error{text-align:center;margin-top:.5rem}.dark-theme .captcha-container{filter:brightness(.85) contrast(1.1)}.register-modal-footer{text-align:center;padding-top:.75rem;border-top:1px solid var(--color-border);transition:opacity .2s}.register-modal-footer.disabled{opacity:.6}.register-footer-text{color:var(--color-text-secondary);font-size:.875rem}.register-link-button{background:none;border:none;color:var(--color-link);text-decoration:underline;cursor:pointer;font-size:.875rem;font-weight:600;transition:color .2s}.register-link-button:hover:not(:disabled){color:var(--color-link-hover)}.register-link-button:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.theme-toggle{background-color:transparent;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;width:40px;height:40px;position:relative;z-index:1}.theme-toggle:hover{background-color:#f9fafb;border-color:#9ca3af;transform:scale(1.05)}.theme-toggle:focus{outline:2px solid #3b82f6;outline-offset:2px}.theme-toggle:active{transform:scale(.95)}.theme-icon{font-size:1.25rem;line-height:1;transition:transform .3s ease-in-out;display:inline-block}.theme-toggle:hover .theme-icon{transform:rotate(20deg)}.dark-theme .theme-toggle{border-color:#4b5563;background-color:transparent}.dark-theme .theme-toggle:hover{background-color:#374151;border-color:#6b7280}@media (max-width: 768px){.theme-toggle{width:44px;height:44px;min-width:44px;min-height:44px}}.main-navigation{background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border);box-shadow:0 1px 2px 0 var(--color-shadow);position:relative;z-index:900;width:100%;margin:0;transition:all .3s ease}.nav-container{max-width:1400px;margin:0 auto;padding:0 1rem;position:relative}.nav-menu{display:flex;align-items:stretch;gap:2px;width:100%;flex-wrap:wrap;padding:4px;background-color:var(--color-background-secondary)}.nav-item{position:relative;flex:1;min-width:0;z-index:1;background-color:var(--color-background-secondary);border-radius:6px;overflow:hidden}.nav-item.dropdown-open{z-index:950;overflow:visible}.nav-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem .75rem;margin:0;background:none;border:none;color:var(--color-text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;border-radius:6px;white-space:nowrap;text-decoration:none;width:100%;text-align:center;position:relative}.nav-link:hover{background-color:var(--color-background-tertiary);color:var(--color-text-primary);text-decoration:none}.nav-link.active{color:var(--color-link);background-color:var(--color-background-tertiary);border-bottom-color:var(--color-link)}.dropdown-arrow{font-size:.75rem;transition:transform .2s ease;margin-left:.25rem}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--color-background);border:1px solid var(--color-border);border-top:none;box-shadow:0 4px 6px -1px var(--color-shadow);opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:all .15s ease;z-index:960}.dropdown-menu.open,.nav-item:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;width:100%;padding:.75rem 1rem;color:var(--color-text-secondary);font-size:.875rem;text-align:center;cursor:pointer;transition:all .15s ease;border-bottom:1px solid var(--color-background-secondary);text-decoration:none;background:none;border-left:none;border-right:none}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:var(--color-background-secondary);color:var(--color-text-primary);text-decoration:none}.dropdown-item.active{background-color:var(--color-background-tertiary);color:var(--color-link);font-weight:600}@media (min-width: 1200px){.nav-container{padding:0 2rem}.nav-link{padding:1rem 1.5rem;font-size:1rem}}@media (max-width: 992px){.nav-menu{flex-wrap:wrap}.nav-item{flex:1 1 50%;min-width:200px}.nav-link{padding:.875rem .5rem;font-size:.9rem}}@media (max-width: 768px){.nav-container{padding:0 .75rem}.nav-menu{flex-direction:column;gap:0;padding:0;background-color:transparent}.nav-item{flex:none;width:100%;background-color:transparent;border-radius:0;border-bottom:1px solid var(--color-border);overflow:visible}.nav-item:last-child{border-bottom:none}.nav-link{padding:1rem;margin:0;width:100%;border-radius:0;justify-content:space-between;text-align:left;border-bottom:none;border-right:3px solid transparent}.nav-link.active{border-bottom:none;border-right-color:var(--color-link)}.dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;background-color:var(--color-background-secondary);max-height:0;overflow:hidden;transition:max-height .3s ease}.dropdown-menu.open{max-height:200px}.dropdown-item{padding:.75rem 1.5rem;text-align:left;background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border)}.dropdown-item:hover{background-color:var(--color-background-tertiary)}.dropdown-item.active{background-color:var(--color-background-tertiary);border-right:3px solid var(--color-link)}}@media (max-width: 480px){.nav-container{padding:0 .5rem}.nav-link{padding:.875rem .75rem;font-size:.875rem}.dropdown-item{padding:.625rem 1.25rem;font-size:.8rem}}.nav-link:focus,.dropdown-item:focus{outline:2px solid #0056b3;outline-offset:2px}.main-navigation{position:relative;z-index:900}.dropdown-menu{z-index:960}@media (max-width: 768px){.dropdown-menu{transition:max-height .3s ease-out}.dropdown-menu.open{animation:slideDown .3s ease-out}}@keyframes slideDown{0%{max-height:0;opacity:.8}to{max-height:200px;opacity:1}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;pointer-events:auto;font-size:14px;font-weight:500;line-height:1.5}.toast-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.toast-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.toast-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.toast-icon{flex-shrink:0;font-weight:700;font-size:18px}.toast-success .toast-icon{color:#28a745}.toast-error .toast-icon{color:#dc3545}.toast-info .toast-icon{color:#17a2b8}.toast-message{flex:1;word-break:break-word;overflow-wrap:break-word;max-height:100px;overflow-y:auto}.toast-close{flex-shrink:0;background:none;border:none;font-size:24px;cursor:pointer;padding:0;margin-left:8px;opacity:.7;transition:opacity .2s;color:inherit;line-height:1}.toast-close:hover{opacity:1}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}@media (max-width: 600px){.toast-container{left:12px;right:12px;max-width:none}.toast{font-size:13px;padding:10px 12px}}.home-container{padding:2rem;max-width:1400px;margin:0 auto}.home-title{margin-bottom:.5rem}.home-subtitle{margin-bottom:2rem}.feature-cards-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.feature-card{padding:1.5rem;border-radius:8px;border:1px solid;transition:background-color .3s,border-color .3s,transform .2s}.feature-card:hover{transform:translateY(-2px)}.feature-card h3{margin-top:0;margin-bottom:.75rem}.feature-card p{margin:0}.feature-card-blue{background-color:#e3f2fd;border-color:#2196f3}.feature-card-pink{background-color:#fce4ec;border-color:#e91e63}.feature-card-orange{background-color:#fff3e0;border-color:#ff9800}.feature-card-green{background-color:#e8f5e8;border-color:#4caf50}.content-section{margin-top:3rem;padding:2rem;border-radius:8px;transition:background-color .3s,border-color .3s}.content-section h2{margin-top:0;margin-bottom:1rem}.section-gray{background-color:#f8f9fa;border:1px solid #e5e7eb}.section-white{background-color:#fff;border:1px solid #e5e7eb}.section-orange-light{background-color:#fff7ed;border:1px solid #fed7aa}.section-blue-light{background-color:#f0f9ff;border:1px solid #bae6fd}.section-red-light{background-color:#fef3f2;border:1px solid #fecaca}.section-purple-light{background-color:#f5f3ff;border:1px solid #c4b5fd}.section-green-light{background-color:#ecfdf5;border:1px solid #86efac}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:1.5rem}.feature-item h4{margin-top:0;margin-bottom:.5rem}.feature-item p{margin:0}.steps-list{margin-top:1.5rem}.step-item{margin-bottom:1.5rem}.step-item:last-child{margin-bottom:0}.step-item h4{margin-top:0;margin-bottom:.5rem}.step-item p{margin:0}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.benefit-item{text-align:center}.benefit-icon{font-size:3rem;margin-bottom:.5rem}.benefit-item h4{margin-top:0;margin-bottom:.5rem}.benefit-item p{margin:0}.tax-deadlines{margin-top:1rem;padding-left:1.5rem}.tax-deadlines li{margin-bottom:.5rem}.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.support-card{padding:1rem;background-color:#fff;border-radius:6px;transition:background-color .3s}.support-card h5{margin-top:0;margin-bottom:.5rem}.support-card p{margin:0}.cta-section{text-align:center}.cta-description{font-size:1.1rem;margin-bottom:2rem}.cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.cta-button{padding:.75rem 1.5rem;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:opacity .2s,transform .2s}.cta-button:hover{opacity:.9;transform:translateY(-1px)}.cta-button:active{transform:translateY(0)}.cta-button-blue{background-color:#3b82f6}.cta-button-green{background-color:#10b981}.home-footer{margin-top:4rem;padding:2rem 0;border-top:1px solid #e5e7eb;text-align:center;color:#6b7280;transition:border-color .3s,color .3s}.home-footer p{margin:0}.footer-tagline{font-size:.875rem;margin-top:.5rem}.dark-theme .feature-card-blue{background-color:#2196f326;border-color:#2196f366}.dark-theme .feature-card-pink{background-color:#e91e6326;border-color:#e91e6366}.dark-theme .feature-card-orange{background-color:#ff980026;border-color:#ff980066}.dark-theme .feature-card-green{background-color:#4caf5026;border-color:#4caf5066}.dark-theme .section-gray,.dark-theme .section-white{background-color:var(--color-background-secondary);border-color:var(--color-border)}.dark-theme .section-orange-light{background-color:#ff98001a;border-color:#fed7aa4d}.dark-theme .section-blue-light{background-color:#3b82f61a;border-color:#bae6fd4d}.dark-theme .section-red-light{background-color:#ef44441a;border-color:#fecaca4d}.dark-theme .section-purple-light{background-color:#a855f71a;border-color:#c4b5fd4d}.dark-theme .section-green-light{background-color:#10b9811a;border-color:#86efac4d}.dark-theme .support-card{background-color:var(--color-background-tertiary);border:1px solid var(--color-border)}.dark-theme .cta-button-blue{background-color:#3b82f6}.dark-theme .cta-button-green{background-color:#10b981}.dark-theme .cta-button:hover{opacity:.85}.dark-theme .home-footer{border-top-color:var(--color-border);color:var(--color-text-secondary)}.multi-select-filter{position:relative;display:inline-block;min-width:160px;z-index:1;flex-shrink:0}.multi-select-dropdown{position:relative;display:block;width:100%;background-color:var(--color-background);border-radius:6px;overflow:visible;transition:all .3s ease}.multi-select-button{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding:.375rem .625rem;margin:0;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;height:36px}.multi-select-button:hover{border-color:#3b82f6;background-color:var(--color-background-secondary);color:var(--color-text-primary)}.multi-select-button:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.multi-select-options{position:absolute;top:100%;left:0;right:0;background-color:var(--color-background);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px var(--color-shadow);z-index:1000;max-height:200px;overflow-y:auto;opacity:1;visibility:visible;transform:translateY(0);transition:all .2s ease;min-width:100%}.select-all-option{padding:.375rem .625rem;background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border);transition:background-color .15s ease;white-space:nowrap}.select-all-option:hover{background-color:var(--color-background-tertiary)}.select-option{padding:.375rem .625rem;transition:background-color .15s ease;border-bottom:1px solid var(--color-border);white-space:nowrap}.select-all-option label,.select-option label{display:inline-flex;align-items:center;gap:.375rem;margin:0;color:var(--color-text-primary);font-size:.8rem;cursor:pointer;width:100%;transition:color .15s ease;white-space:nowrap}.select-all-option input[type=checkbox],.select-option input[type=checkbox]{margin:0;cursor:pointer;accent-color:#3b82f6;flex-shrink:0}.select-all-option span{font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.select-option span{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.multi-select-button:focus,.select-all-option label:focus-within,.select-option label:focus-within{outline:2px solid #3b82f6;outline-offset:2px}@media (min-width: 1200px){.multi-select-filter{min-width:200px;max-width:300px}.multi-select-button{padding:.4rem .875rem;font-size:.85rem;height:38px}.select-all-option,.select-option{padding:.4rem .875rem}.select-all-option label,.select-option label{font-size:.85rem}}@media (min-width: 992px) and (max-width: 1199px){.multi-select-filter{min-width:180px;max-width:250px}.multi-select-button{padding:.375rem .75rem;font-size:.8rem;height:36px}}@media (min-width: 768px) and (max-width: 991px){.multi-select-filter{min-width:160px;max-width:220px;flex:1 1 auto}.multi-select-button{padding:.5rem .75rem;font-size:.85rem}.select-all-option,.select-option{padding:.5rem .75rem}.select-all-option label,.select-option label{font-size:.85rem}}@media (min-width: 480px) and (max-width: 767px){.multi-select-filter{min-width:140px;max-width:200px;flex:1 1 auto}.multi-select-button{padding:.5rem .625rem;font-size:.8rem}.multi-select-options{max-height:180px;border-radius:0 0 4px 4px}.select-all-option,.select-option{padding:.5rem .625rem}.select-all-option label,.select-option label{font-size:.8rem;gap:.375rem}.dropdown-arrow{font-size:.7rem;margin-left:.375rem}}@media (max-width: 479px){.multi-select-filter{min-width:120px;max-width:180px;flex:1 1 auto}.multi-select-button{padding:.45rem .5rem;font-size:.75rem}.multi-select-options{max-height:150px;border-radius:0 0 3px 3px}.select-all-option,.select-option{padding:.45rem .5rem}.select-all-option label,.select-option label{font-size:.75rem;gap:.25rem}.dropdown-arrow{font-size:.65rem;margin-left:.25rem}}@media (min-width: 770px) and (max-width: 1030px){.multi-select-filter{width:400px!important;min-width:400px!important;max-width:400px!important;flex:none!important;margin:0!important;padding:0!important;position:relative}.multi-select-dropdown{width:400px!important;min-width:400px!important;max-width:400px!important;position:relative}.multi-select-button{width:400px!important;min-width:400px!important;max-width:400px!important;justify-content:space-between;padding:.5rem .75rem;font-size:.85rem;box-sizing:border-box;margin:0!important;display:flex!important}}@media (max-width: 769px){.multi-select-filter{width:100%!important;min-width:100%!important;max-width:100%!important;flex:none!important}.multi-select-dropdown{width:100%!important;min-width:100%!important;max-width:100%!important}.multi-select-button{width:100%!important;min-width:100%!important;max-width:100%!important;justify-content:space-between;box-sizing:border-box}}@media (max-width: 768px){.multi-select-filter{width:100%!important;min-width:100%!important;max-width:100%!important;position:relative;flex:none!important}.multi-select-dropdown{width:100%!important;min-width:100%!important;max-width:100%!important}.multi-select-button{width:100%!important;min-width:100%!important;max-width:100%!important;justify-content:space-between;box-sizing:border-box}}.filters-container .filter-group{display:inline-block;margin-right:1rem;vertical-align:top}.filters-container .filter-group:last-child{margin-right:0}.filters-container{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}@media (max-width: 767px){.filters-container{gap:.75rem}.filters-container .filter-group{margin-right:0;flex:1 1 auto;min-width:120px}}@media (max-width: 479px){.filters-container{gap:.5rem}.filters-container .filter-group{min-width:100px}}.multi-select-options{animation:slideDown .2s ease-out}.multi-select-filter{z-index:1;vertical-align:top}.multi-select-options{z-index:1000}.single-select-filter{position:relative;display:inline-block;min-width:160px;z-index:1;flex-shrink:0}.single-select-dropdown{position:relative;display:block;width:100%;background-color:var(--color-background);border-radius:6px;overflow:visible;transition:all .3s ease}.single-select-button{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding:.375rem .625rem;margin:0;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;height:36px}.single-select-button:hover{border-color:#3b82f6;background-color:var(--color-background-secondary);color:var(--color-text-primary)}.single-select-button:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dropdown-arrow{font-size:.75rem;color:#6b7280;margin-left:.5rem;transition:transform .2s ease;flex-shrink:0}.dropdown-arrow.open{transform:rotate(180deg)}.single-select-options{position:absolute;top:100%;left:0;right:0;background-color:var(--color-background);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px var(--color-shadow);z-index:1000;max-height:200px;overflow-y:auto;opacity:1;visibility:visible;transform:translateY(0);transition:all .2s ease;min-width:100%}.select-option{padding:.375rem .625rem;transition:background-color .15s ease;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.select-option:last-child{border-bottom:none}.select-option:hover{background-color:var(--color-background-secondary)}.select-option.selected{background-color:var(--color-background-tertiary);color:var(--color-link);font-weight:600}.select-option span{color:var(--color-text-primary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.select-option.selected span{color:var(--color-link)}.selected-indicator{color:#0277bd;font-weight:700;font-size:.875rem}.single-select-button:focus,.select-option:focus{outline:2px solid #3b82f6;outline-offset:2px}.single-select-options{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1200px){.single-select-filter{min-width:200px;max-width:300px}.single-select-button{padding:.4rem .875rem;font-size:.85rem;height:38px}.select-option{padding:.4rem .875rem}.select-option span{font-size:.85rem}}@media (min-width: 992px) and (max-width: 1199px){.single-select-filter{min-width:180px;max-width:250px}.single-select-button{padding:.375rem .75rem;font-size:.8rem;height:36px}}@media (min-width: 768px) and (max-width: 991px){.single-select-filter{min-width:160px;max-width:220px;flex:1 1 auto}.single-select-button{padding:.5rem .75rem;font-size:.85rem}.select-option{padding:.5rem .75rem}.select-option span{font-size:.85rem}}@media (min-width: 770px) and (max-width: 1030px){.single-select-filter{width:400px!important;min-width:400px!important;max-width:400px!important;flex:none!important;margin:0!important;padding:0!important;position:relative}.single-select-dropdown{width:400px!important;min-width:400px!important;max-width:400px!important;position:relative}.single-select-button{width:400px!important;min-width:400px!important;max-width:400px!important;justify-content:space-between;padding:.5rem .75rem;font-size:.85rem;box-sizing:border-box;margin:0!important;display:flex!important}}@media (max-width: 769px){.single-select-filter{width:100%!important;min-width:100%!important;max-width:100%!important;flex:none!important}.single-select-dropdown{width:100%!important;min-width:100%!important;max-width:100%!important}.single-select-button{width:100%!important;min-width:100%!important;max-width:100%!important;justify-content:space-between;box-sizing:border-box}}@media (max-width: 768px){.single-select-filter{width:100%!important;min-width:100%!important;max-width:100%!important;position:relative;flex:none!important}.single-select-dropdown{width:100%!important;min-width:100%!important;max-width:100%!important}.single-select-button{width:100%!important;min-width:100%!important;max-width:100%!important;justify-content:space-between;box-sizing:border-box}}.single-select-filter{z-index:1;vertical-align:top}.single-select-options{z-index:1000}.filter-summary{display:flex;flex-direction:column;gap:.3rem;min-width:250px;max-width:350px}.summary-item{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:.3rem .6rem;border-radius:12px;white-space:nowrap;border:1px solid transparent;transition:all .2s ease}.summary-label{font-weight:500;color:var(--color-text-secondary)}.summary-value{font-weight:600;margin-left:.5rem}.results-count{background-color:#e5e7eb!important;color:#374151!important;border-color:#d1d5db!important}.results-count .summary-value{color:#6b7280!important}.currency-total{background-color:#dcfce7!important;color:#059669!important;border-color:#bbf7d0!important}.currency-total .summary-label{color:#047857!important}.currency-total .summary-value{color:#059669!important}.income-total{background-color:#dcfce7!important;color:#16a34a!important;border-color:#bbf7d0!important;box-shadow:0 1px 3px #22c55e1a}.income-total .summary-label{color:#15803d!important}.income-total .summary-value{color:#16a34a!important}.expense-total{background-color:#fef3c7!important;color:#d97706!important;border-color:#fde68a!important;box-shadow:0 1px 3px #d977061a}.expense-total .summary-label{color:#b45309!important}.expense-total .summary-value{color:#d97706!important}.tax-total{background-color:#ede9fe!important;color:#7c3aed!important;border-color:#ddd6fe!important;box-shadow:0 1px 3px #7c3aed1a}.tax-total .summary-label{color:#6d28d9!important}.tax-total .summary-value{color:#7c3aed!important}.total-amount{background-color:#e5e7eb!important;color:#374151!important;border-color:#d1d5db!important}.total-amount .summary-label{color:#4b5563!important}.total-amount .summary-value{color:#6b7280!important}.summary-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.income-total:hover{background-color:#bbf7d0!important;box-shadow:0 2px 8px #22c55e33}.expense-total:hover{background-color:#fde68a!important;box-shadow:0 2px 8px #d9770633}.tax-total:hover{background-color:#ddd6fe!important;box-shadow:0 2px 8px #7c3aed33}.currency-total:hover{background-color:#bbf7d0!important;box-shadow:0 2px 8px #05966933}@media (min-width: 770px) and (max-width: 1030px){.filter-summary{width:400px!important;min-width:400px!important;max-width:400px!important;text-align:center;margin:0 auto}.summary-item{justify-content:center;text-align:center}}@media (max-width: 769px){.filter-summary{width:100%!important;min-width:100%!important;max-width:100%!important;text-align:center}.summary-item{justify-content:center;text-align:center}}@media (max-width: 768px){.filter-summary{width:100%!important;min-width:100%!important;max-width:100%!important;text-align:center}.summary-item{font-size:.7rem;padding:.2rem .4rem;justify-content:center;text-align:center}}@media (max-width: 480px){.filter-summary{min-width:90px}.summary-item{font-size:.65rem;padding:.15rem .35rem}}.table-legend{background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:8px;padding:.75rem 1rem;box-shadow:0 1px 3px var(--color-shadow);min-width:200px;flex-shrink:0;transition:all .3s ease}.legend-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em;transition:color .3s ease}.legend-items{display:flex;flex-direction:column;gap:.3rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:18px;height:14px;border-radius:4px;border:1px solid var(--color-border);flex-shrink:0;transition:all .3s ease}.legend-label{font-size:.72rem;color:var(--color-text-secondary);font-weight:500;white-space:nowrap;transition:color .3s ease}.legend-paid{background-color:#3b82f61a;border-color:#3b82f64d}.legend-unpaid{background-color:#fbbf241a;border-color:#fbbf244d}.legend-submitted{background-color:#22c55e1a;border-color:#22c55e4d}.legend-pending{background-color:#fbbf241a;border-color:#fbbf244d}.legend-overdue{background-color:#ef44441a;border-color:#ef44444d;position:relative}.legend-overdue:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:3px;height:100%;background-color:#ef4444;border-radius:0 2px 2px 0}@media (max-width: 1030px){.table-legend{min-width:180px}.legend-color{width:16px;height:12px}.legend-label{font-size:.7rem}}@media (max-width: 768px){.table-legend{padding:.5rem .75rem;min-width:160px}.legend-title{font-size:.7rem;margin-bottom:.375rem}.legend-color{width:14px;height:10px}.legend-label{font-size:.65rem}.legend-items{gap:.25rem}}@media (max-width: 480px){.table-legend{padding:.4rem .6rem;min-width:140px}.legend-title{font-size:.65rem;margin-bottom:.3rem}.legend-color{width:12px;height:8px}.legend-label{font-size:.6rem}.legend-items{gap:.2rem}}.filters-section{background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem;transition:all .3s ease}.results-count-header{font-size:.875rem;color:var(--color-text-secondary);font-weight:500;padding:.5rem 1rem;background-color:var(--color-background-tertiary);border-radius:20px;text-align:center;margin-bottom:1rem;white-space:nowrap;transition:all .3s ease}.filters-container{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:2rem;align-items:flex-start}.filter-group{display:flex;align-items:center;min-width:250px}.filter-group.year-filter .multi-select-filter,.filter-group.month-filter .multi-select-filter,.filter-group.year-filter .multi-select-button,.filter-group.month-filter .multi-select-button{min-width:250px;width:250px}.filter-group.year-filter{grid-column:1;grid-row:1;z-index:102}.filter-group.month-filter{grid-column:1;grid-row:2;z-index:101}.filter-group .multi-select-filter.dropdown-open{z-index:1000}.filter-group .multi-select-options{z-index:1001}.filter-summary{grid-column:2;grid-row:1 / span 2;justify-self:center;align-self:center;min-width:250px;max-width:350px}.legend-container{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center}.filter-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-left:auto;grid-column:3;grid-row:1 / span 2;align-self:center;min-width:180px}.filter-group.grouping-filter{width:100%;display:flex;justify-content:center}.filter-group.grouping-filter .single-select-filter{width:100%!important;min-width:180px!important;max-width:none!important}.filter-group.grouping-filter .single-select-dropdown{width:100%!important;min-width:180px!important}.filter-group.grouping-filter .single-select-button{width:100%!important;min-width:180px!important;text-align:center;box-sizing:border-box!important}.add-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b82f633;white-space:nowrap;overflow:hidden;width:100%;min-width:180px}.add-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.plus-icon{font-size:1.2rem;font-weight:700}@media (min-width: 770px) and (max-width: 1030px){.results-count-header{font-size:.8rem;padding:.4rem .8rem;text-align:center;width:400px!important;min-width:400px!important;max-width:400px!important;margin:0 auto 1rem!important;box-sizing:border-box}.filters-container{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;justify-items:center;gap:1rem;width:100%;max-width:400px;margin:0 auto;padding:0}.filter-group.year-filter{grid-column:1;grid-row:2;width:100%;max-width:400px;display:flex;justify-content:center;align-items:center;z-index:103;margin:0 auto;padding:0}.filter-group.month-filter{grid-column:1;grid-row:3;width:100%;max-width:400px;display:flex;justify-content:center;align-items:center;z-index:102;margin:0 auto;padding:0}.filter-group.year-filter .multi-select-filter,.filter-group.month-filter .multi-select-filter{width:400px!important;min-width:400px!important;max-width:400px!important;flex:none!important;margin:0!important;padding:0!important}.filter-group.year-filter .multi-select-dropdown,.filter-group.month-filter .multi-select-dropdown{width:400px!important;min-width:400px!important;max-width:400px!important}.filter-group.year-filter .multi-select-button,.filter-group.month-filter .multi-select-button{width:400px!important;min-width:400px!important;max-width:400px!important;margin:0!important;padding:.5rem .75rem!important}.filter-summary{grid-column:1;grid-row:1;justify-self:center;width:400px!important;min-width:400px!important;max-width:400px!important;text-align:center;margin:0 auto;padding:0}.legend-container{grid-column:1;grid-row:4;justify-self:center;width:400px!important;min-width:400px!important;max-width:400px!important;margin:0 auto;padding:0}.filter-actions{grid-column:1;grid-row:4;margin:0 auto;justify-content:center;width:400px!important;min-width:400px!important;max-width:400px!important;flex-direction:column;gap:1rem;align-items:center;padding:0}.filter-group.grouping-filter{width:400px;max-width:400px;display:flex;justify-content:center;align-items:center;margin:0 auto;padding:0}.filter-group.grouping-filter .single-select-filter{width:400px!important;min-width:400px!important;max-width:400px!important;flex:none!important}.filter-group.grouping-filter .single-select-dropdown,.filter-group.grouping-filter .single-select-button{width:400px!important;min-width:400px!important;max-width:400px!important}.add-button{width:400px!important;min-width:400px!important;max-width:400px!important;margin:0 auto!important}}@media (max-width: 769px){.results-count-header{font-size:.75rem;padding:.375rem .75rem}.filters-container{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;justify-items:center;gap:1rem;width:100%;max-width:none;margin:0 auto}.filter-group.year-filter{grid-column:1;grid-row:2;width:100%;display:flex;justify-content:center;align-items:center;z-index:103}.filter-group.month-filter{grid-column:1;grid-row:3;width:100%;display:flex;justify-content:center;align-items:center;z-index:102}.filter-group.year-filter .multi-select-filter,.filter-group.month-filter .multi-select-filter,.filter-group.year-filter .multi-select-button,.filter-group.month-filter .multi-select-button{width:100%!important;min-width:100%!important;max-width:100%!important}.filter-summary{grid-column:1;grid-row:1;justify-self:center;width:100%!important;min-width:100%!important;max-width:100%!important;text-align:center}.legend-container{grid-column:1;grid-row:4;justify-self:center;width:100%!important;min-width:100%!important;max-width:100%!important}.filter-actions{grid-column:1;grid-row:4;margin-left:0;justify-content:center;width:100%!important;min-width:100%!important;max-width:100%!important;flex-direction:column;gap:1rem;align-items:stretch}.filter-group.grouping-filter{width:100%;display:flex;justify-content:center;align-items:center}.filter-group.grouping-filter .single-select-filter,.filter-group.grouping-filter .single-select-button,.add-button{width:100%!important;min-width:100%!important;max-width:100%!important}}@media (max-width: 480px){.add-button{font-size:.85rem;padding:.6rem 1rem}}@media (min-width: 481px){.add-button{font-size:1rem;padding:.75rem 1.5rem}}@media (max-width: 768px){.filters-section{padding:.75rem 1rem}.results-count-header{font-size:.75rem;padding:.375rem .75rem;margin-bottom:.75rem}.filters-container{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;justify-items:center;gap:1rem;width:100%;max-width:none;margin:0 auto}.filter-group.year-filter{grid-column:1;grid-row:2;width:100%;display:flex;justify-content:center;align-items:center;position:relative;z-index:103}.filter-group.month-filter{grid-column:1;grid-row:3;width:100%;display:flex;justify-content:center;align-items:center;position:relative;z-index:102}.filter-group.year-filter .multi-select-filter,.filter-group.month-filter .multi-select-filter,.filter-group.year-filter .multi-select-button,.filter-group.month-filter .multi-select-button{width:100%!important;min-width:100%!important;max-width:100%!important}.filter-summary{grid-column:1;grid-row:1;justify-self:center;width:100%!important;min-width:100%!important;max-width:100%!important;text-align:center}.legend-container{grid-column:1;grid-row:4;justify-self:center;width:100%!important;min-width:100%!important;max-width:100%!important}.filter-actions{grid-column:1;grid-row:4;justify-content:center;margin-left:0;width:100%!important;min-width:100%!important;max-width:100%!important;z-index:99;flex-direction:column;gap:1rem;align-items:stretch}.filter-group.grouping-filter{width:100%;display:flex;justify-content:center;align-items:center;position:relative;z-index:100}.filter-group.grouping-filter .single-select-filter,.filter-group.grouping-filter .single-select-button{width:100%!important;min-width:100%!important;max-width:100%!important}.add-button{width:100%!important;min-width:100%!important;max-width:100%!important;justify-content:center;font-size:.9rem;padding:.65rem 1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;transition:background-color .3s ease}.modal-content{background:var(--color-background);border-radius:12px;box-shadow:0 20px 25px -5px var(--color-shadow),0 10px 10px -5px var(--color-shadow);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;overflow-x:hidden;animation:modalSlideIn .3s ease-out;border:1px solid var(--color-border);transition:all .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--color-border);transition:border-color .3s ease}.modal-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0;transition:color .3s ease}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:var(--color-background-tertiary);color:var(--color-text-secondary);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:1.1rem}.modal-close:hover{background-color:var(--color-background-secondary);color:var(--color-text-primary)}.modal-form{padding:1.5rem;box-sizing:border-box;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;width:100%;box-sizing:border-box}.form-group{margin-bottom:1rem;width:100%;box-sizing:border-box}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.5rem;transition:color .3s ease}.form-input{width:100%;max-width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-background);transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:var(--color-background)}.form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.amount-input-wrapper{position:relative;display:flex;align-items:center;width:100%;max-width:100%}.currency-symbol{position:absolute;right:2rem;color:var(--color-text-secondary);font-weight:500;z-index:1;pointer-events:none;transition:color .3s ease}.amount-input{padding-right:3.5rem;width:100%;box-sizing:border-box}.comment-input{resize:vertical;min-height:80px;font-family:inherit}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;transition:all .2s ease;background-color:var(--color-background)}.checkbox-label:hover{background-color:var(--color-background-secondary);border-color:var(--color-text-tertiary)}.checkbox-input{margin:0;cursor:pointer;accent-color:#3b82f6}.checkbox-text{font-size:.875rem;font-weight:500;color:var(--color-text-primary);transition:color .3s ease}.no-activity-checkbox{background-color:#fbbf2426;border-color:#fbbf2466}.no-activity-checkbox:hover{background-color:#fbbf2440;border-color:#fbbf2499}.no-activity-checkbox .checkbox-text{color:#d97706}.error-message{display:block;font-size:.75rem;color:#ef4444;margin-top:.25rem;font-weight:500}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border);transition:border-color .3s ease}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:100px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--color-background-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-background-secondary)}.btn-primary{background-color:#3b82f6;color:#fff;box-shadow:0 2px 4px #3b82f633}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}@media (max-width: 640px){.modal-overlay{padding:.5rem}.modal-content{border-radius:8px;max-height:95vh}.modal-header,.modal-form{padding:1rem}.form-row{grid-template-columns:1fr;gap:.75rem}.modal-actions{flex-direction:column-reverse}.btn{width:100%}.modal-title{font-size:1.125rem}}.btn:disabled .loading-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}.demo-banner{padding:.75rem 1.5rem;margin-bottom:1.5rem;border-radius:.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500;font-size:.95rem;transition:all .2s ease}.demo-banner__icon{font-size:1.2rem;flex-shrink:0}.demo-banner__message{flex:1}.demo-banner--warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;box-shadow:0 2px 4px #f59e0b33;border:1px solid rgba(245,158,11,.3)}.demo-banner--info{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#1e40af;box-shadow:0 2px 4px #3b82f633;border:1px solid rgba(59,130,246,.3)}.demo-banner--success{background:linear-gradient(135deg,#34d399,#10b981);color:#065f46;box-shadow:0 2px 4px #10b98133;border:1px solid rgba(16,185,129,.3)}.demo-banner--error{background:linear-gradient(135deg,#f87171,#ef4444);color:#991b1b;box-shadow:0 2px 4px #ef444433;border:1px solid rgba(239,68,68,.3)}.demo-banner:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.demo-banner--warning:hover{box-shadow:0 4px 8px #f59e0b4d}.demo-banner--info:hover{box-shadow:0 4px 8px #3b82f64d}.demo-banner--success:hover{box-shadow:0 4px 8px #10b9814d}.demo-banner--error:hover{box-shadow:0 4px 8px #ef44444d}@media (max-width: 768px){.demo-banner{padding:.625rem 1rem;margin-bottom:1rem;font-size:.875rem}.demo-banner__icon{font-size:1rem}}@media (max-width: 480px){.demo-banner{padding:.5rem .75rem;margin-bottom:.75rem;font-size:.8rem;gap:.5rem}.demo-banner__icon{font-size:.9rem}}@media print{.demo-banner{display:none}}@keyframes demo-banner-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.demo-banner{animation:demo-banner-slide-in .3s ease-out}.demo-banner:focus-within{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast: high){.demo-banner{border-width:2px}.demo-banner--warning{background:#fef3c7;color:#92400e;border-color:#f59e0b}.demo-banner--info{background:#dbeafe;color:#1e40af;border-color:#3b82f6}.demo-banner--success{background:#d1fae5;color:#065f46;border-color:#10b981}.demo-banner--error{background:#fee2e2;color:#991b1b;border-color:#ef4444}}@media (prefers-reduced-motion: reduce){.demo-banner{animation:none;transition:none}.demo-banner:hover{transform:none}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;min-height:300px;background-color:var(--color-background-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 2px 8px var(--color-shadow);transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.loading-spinner{margin-bottom:1.5rem;color:var(--color-text-primary)}.loading-icon{font-size:3rem;animation:spin 2s linear infinite;display:inline-block;color:var(--color-link)}.loading-content{max-width:400px}.loading-message{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;margin:0 0 .5rem;line-height:1.3}.loading-description{color:var(--color-text-secondary);font-size:1rem;margin:0;line-height:1.5}.loading-state.small{padding:2rem 1rem;min-height:200px}.loading-state.small .loading-icon{font-size:2rem}.loading-state.small .loading-message{font-size:1.25rem}.loading-state.small .loading-description{font-size:.875rem}.loading-state.large{padding:6rem 2rem;min-height:400px}.loading-state.large .loading-icon{font-size:4rem}.loading-state.large .loading-message{font-size:1.75rem}.loading-state.large .loading-description{font-size:1.125rem}.loading-icon{animation:spin 2s linear infinite;transform-origin:center;will-change:transform}@media (max-width: 768px){.loading-state{padding:3rem 1rem;min-height:250px}.loading-icon{font-size:2.5rem}.loading-message{font-size:1.25rem}.loading-description{font-size:.875rem}.loading-state.large .loading-icon{font-size:3rem}.loading-state.large .loading-message{font-size:1.5rem}}@media (max-width: 480px){.loading-state{padding:2rem .75rem;min-height:200px}.loading-icon{font-size:2rem}.loading-message{font-size:1.125rem}.loading-description{font-size:.8rem}}@media (prefers-color-scheme: dark){.loading-state{background-color:var(--color-background-secondary);border-color:var(--color-border);box-shadow:0 2px 8px var(--color-shadow)}.loading-message{color:var(--color-text-primary)}.loading-description{color:var(--color-text-secondary)}}@media (prefers-contrast: high){.loading-message{color:#000;font-weight:700}.loading-description{color:#333}}@media (prefers-reduced-motion: reduce){.loading-icon{animation:none}.loading-icon:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background-color:var(--color-link);margin-left:8px;animation:blink 1.5s infinite}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.expenses-table-page{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--color-background);min-height:calc(100vh - 200px);transition:background-color .3s ease}.expenses-table-page .expenses-table-container{display:flex;flex-direction:column;gap:2rem}.expenses-table-page .month-group{background-color:var(--color-background);border-radius:12px;border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);overflow:hidden;transition:all .3s ease}.expenses-table-page .month-header{background-color:#374151!important;color:#fff;padding:1rem 1.5rem;margin:0;font-size:1.25rem;font-weight:600;text-transform:capitalize;box-shadow:0 2px 4px #37415133}.expenses-table-page .table-wrapper{overflow-x:auto}.expenses-table-page .expenses-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}.expenses-table-page .expenses-table th{background-color:var(--color-background-secondary);color:var(--color-text-primary);font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid var(--color-border);white-space:nowrap;position:relative;transition:all .3s ease}.expenses-table-page .expenses-table th:nth-child(1),.expenses-table-page .expenses-table td:nth-child(1){width:12%;text-align:left}.expenses-table-page .expenses-table th:nth-child(2),.expenses-table-page .expenses-table td:nth-child(2){width:15%;text-align:right}.expenses-table-page .expenses-table th:nth-child(3),.expenses-table-page .expenses-table td:nth-child(3){width:12%;text-align:center}.expenses-table-page .expenses-table th:nth-child(4),.expenses-table-page .expenses-table td:nth-child(4){width:15%;text-align:center}.expenses-table-page .expenses-table th:nth-child(5),.expenses-table-page .expenses-table td:nth-child(5){width:35%;text-align:left}.expenses-table-page .expenses-table th:nth-child(6),.expenses-table-page .expenses-table td:nth-child(6){width:11%;text-align:center}.expenses-table-page .expenses-table th:nth-child(2){text-align:right}.expenses-table-page .expenses-table th:nth-child(3),.expenses-table-page .expenses-table th:nth-child(4),.expenses-table-page .expenses-table th:nth-child(6){text-align:center}.expenses-table-page .expenses-table td{padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary);transition:all .3s ease}.expenses-table-page .expenses-table tbody tr{transition:background-color .2s ease}.expenses-table-page .expenses-table tbody tr:hover{background-color:var(--color-background-secondary)}.expenses-table-page .expenses-table tbody tr:last-child td{border-bottom:none}.expenses-table-page .date-cell{font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.expenses-table-page .amount-cell{font-weight:600;color:#d97706!important;white-space:nowrap;font-variant-numeric:tabular-nums}.expenses-table-page .currency-cell{font-weight:500;color:var(--color-text-tertiary);white-space:nowrap}.expenses-table-page .cash-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;white-space:nowrap}.expenses-table-page .cash-indicator.cash{background-color:#22c55e26;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.expenses-table-page .cash-indicator.non-cash{background-color:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.expenses-table-page .comment-cell{color:var(--color-text-secondary);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.4}.expenses-table-page .actions-cell{white-space:nowrap}.expenses-table-page .action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 .25rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;background-color:transparent}.expenses-table-page .modify-btn{color:#3b82f6;background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.expenses-table-page .modify-btn:hover{background-color:#3b82f633;border-color:#3b82f680;transform:scale(1.1)}.expenses-table-page .delete-btn{color:#ef4444;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3)}.expenses-table-page .delete-btn:hover{background-color:#ef444433;border-color:#ef444480;transform:scale(1.1)}.expenses-table-page .month-summary{padding:1rem 1.5rem;background-color:var(--color-background-secondary);border-top:1px solid var(--color-border);transition:all .3s ease}.expenses-table-page .summary-stats{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.expenses-table-page .records-count{color:var(--color-text-tertiary);font-weight:500}.expenses-table-page .total-amount{color:#d97706!important;font-weight:600;font-size:1rem}.expenses-table-page .empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-background-secondary);border-radius:12px;border:2px dashed var(--color-border);transition:all .3s ease}.expenses-table-page .empty-icon{font-size:4rem;margin-bottom:1rem}.expenses-table-page .empty-state h3{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.5rem}.expenses-table-page .empty-state p{color:var(--color-text-tertiary);font-size:1rem;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.expenses-table-page .add-first-expense-btn{padding:.75rem 2rem;background-color:#374151!important;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.expenses-table-page .add-first-expense-btn:hover{background-color:#1f2937!important;transform:translateY(-2px);box-shadow:0 4px 12px #3741514d}.expenses-table-page .add-button{background-color:#374151!important;box-shadow:0 2px 4px #37415133!important}.expenses-table-page .add-button:hover{background-color:#1f2937!important;box-shadow:0 4px 8px #3741514d!important}@media (max-width: 1024px){.expenses-table-page{padding:1.5rem}.expenses-table-page .summary-stats{flex-direction:column;gap:.5rem;align-items:center}}@media (max-width: 768px){.expenses-table-page{padding:1rem}.expenses-table-page .expenses-table{font-size:.875rem}.expenses-table-page .expenses-table th,.expenses-table-page .expenses-table td{padding:.75rem .5rem}.expenses-table-page .expenses-table th:nth-child(1),.expenses-table-page .expenses-table td:nth-child(1){width:15%}.expenses-table-page .expenses-table th:nth-child(2),.expenses-table-page .expenses-table td:nth-child(2){width:18%}.expenses-table-page .expenses-table th:nth-child(4),.expenses-table-page .expenses-table td:nth-child(4){width:18%}.expenses-table-page .expenses-table th:nth-child(5),.expenses-table-page .expenses-table td:nth-child(5){width:30%}.expenses-table-page .expenses-table th:nth-child(6),.expenses-table-page .expenses-table td:nth-child(6){width:14%}.expenses-table-page .comment-cell{font-size:.8rem;line-height:1.3}.expenses-table-page .action-btn{width:32px;height:32px;font-size:.875rem}.expenses-table-page .month-header{padding:.75rem 1rem;font-size:1.125rem}}@media (max-width: 640px){.expenses-table-page .expenses-table th:nth-child(3),.expenses-table-page .expenses-table td:nth-child(3){display:none}.expenses-table-page .expenses-table th:nth-child(1),.expenses-table-page .expenses-table td:nth-child(1){width:18%}.expenses-table-page .expenses-table th:nth-child(2),.expenses-table-page .expenses-table td:nth-child(2){width:22%}.expenses-table-page .expenses-table th:nth-child(4),.expenses-table-page .expenses-table td:nth-child(4){width:20%}.expenses-table-page .expenses-table th:nth-child(5),.expenses-table-page .expenses-table td:nth-child(5){width:25%}.expenses-table-page .expenses-table th:nth-child(6),.expenses-table-page .expenses-table td:nth-child(6){width:15%}.expenses-table-page .cash-indicator{font-size:.75rem;padding:.125rem .5rem}.expenses-table-page .amount-cell{font-size:.875rem}}@media print{.expenses-table-page{padding:0}.expenses-table-page .add-expense-btn,.expenses-table-page .actions-cell,.expenses-table-page .action-btn{display:none}.expenses-table-page .month-group{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.expenses-table-page .expenses-table{font-size:.8rem}.expenses-table-page .expenses-table th,.expenses-table-page .expenses-table td{padding:.5rem}}.taxes-table-page{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--color-background);min-height:calc(100vh - 200px);transition:background-color .3s ease}.taxes-table-page .taxes-table-container{display:flex;flex-direction:column;gap:2rem}.taxes-table-page .quarter-group{background-color:var(--color-background);border-radius:12px;border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);overflow:hidden;transition:all .3s ease}.taxes-table-page .quarter-header{background-color:#7c3aed!important;color:#fff;padding:1rem 1.5rem;margin:0;font-size:1.25rem;font-weight:600;text-transform:capitalize;box-shadow:0 2px 4px #7c3aed33}.taxes-table-page .table-wrapper{overflow-x:auto}.taxes-table-page .taxes-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}.taxes-table-page .taxes-table th{background-color:var(--color-background-secondary);color:var(--color-text-primary);font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid var(--color-border);white-space:nowrap;position:relative;transition:all .3s ease}.taxes-table-page .taxes-table th:nth-child(3),.taxes-table-page .taxes-table th:nth-child(4),.taxes-table-page .taxes-table th:nth-child(5),.taxes-table-page .taxes-table th:nth-child(6),.taxes-table-page .taxes-table th:nth-child(7),.taxes-table-page .taxes-table th:nth-child(8){text-align:center}.taxes-table-page .taxes-table td{padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary);transition:all .3s ease}.taxes-table-page .taxes-table tbody tr{transition:background-color .2s ease}.taxes-table-page .taxes-table tbody tr:hover{background-color:var(--color-background-secondary)}.taxes-table-page .taxes-table tbody tr:last-child td{border-bottom:none}.taxes-table-page .paid-row{background-color:#3b82f61a}.taxes-table-page .unpaid-row{background-color:#fbbf241a}.taxes-table-page .month-cell{font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.taxes-table-page .amount-cell{font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.taxes-table-page .income-amount{color:#16a34a!important}.taxes-table-page .expense-amount{color:var(--color-text-secondary)}.taxes-table-page .tax-amount{color:#7c3aed!important}.taxes-table-page .quarter-summary-row{background-color:var(--color-background-tertiary)!important;border-top:2px solid #7c3aed;font-weight:600}.taxes-table-page .quarter-summary-row:hover{background-color:var(--color-background-tertiary)!important}.taxes-table-page .summary-cell{padding:1rem;border-bottom:none!important;text-align:right;vertical-align:middle}.taxes-table-page .summary-label{text-align:left!important;color:var(--color-text-primary)}.taxes-table-page .income-summary{color:#16a34a!important}.taxes-table-page .expense-summary{color:var(--color-text-secondary)}.taxes-table-page .tax-summary{color:#7c3aed!important}.taxes-table-page .paid-count{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background-color:#7c3aed26;color:#7c3aed;border:1px solid rgba(124,58,237,.3);border-radius:12px;font-size:.75rem;font-weight:600}.taxes-table-page .actions-cell{text-align:center;white-space:nowrap}.taxes-table-page .action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 .25rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;background-color:transparent}.taxes-table-page .pay-btn{color:#16a34a;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.taxes-table-page .pay-btn:hover{background-color:#22c55e33;border-color:#22c55e80;transform:scale(1.1)}.taxes-table-page .cancel-btn{color:#ea580c;background-color:#ea580c1a;border:1px solid rgba(234,88,12,.3)}.taxes-table-page .cancel-btn:hover{background-color:#ea580c33;border-color:#ea580c80;transform:scale(1.1)}.taxes-table-page .quarter-summary{padding:1rem 1.5rem;background-color:var(--color-background-secondary);border-top:1px solid var(--color-border);transition:all .3s ease}.taxes-table-page .summary-stats{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;flex-wrap:wrap;gap:1rem}.taxes-table-page .records-count{color:var(--color-text-tertiary);font-weight:500}.taxes-table-page .quarter-totals{display:flex;gap:1.5rem;flex-wrap:wrap}.taxes-table-page .total-item{color:#7c3aed!important;font-weight:600;font-size:.875rem}.taxes-table-page .empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-background-secondary);border-radius:12px;border:2px dashed var(--color-border);transition:all .3s ease}.taxes-table-page .empty-icon{font-size:4rem;margin-bottom:1rem}.taxes-table-page .empty-state h3{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.5rem}.taxes-table-page .empty-state p{color:var(--color-text-tertiary);font-size:1rem;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.taxes-table-page .add-first-tax-btn{padding:.75rem 2rem;background-color:#7c3aed!important;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.taxes-table-page .add-first-tax-btn:hover{background-color:#6d28d9!important;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.taxes-table-page .add-button{background-color:#7c3aed!important;box-shadow:0 2px 4px #7c3aed33!important}.taxes-table-page .add-button:hover{background-color:#6d28d9!important;box-shadow:0 4px 8px #7c3aed4d!important}@media (max-width: 1024px){.taxes-table-page{padding:1.5rem}.taxes-table-page .summary-stats{flex-direction:column;gap:.5rem;align-items:center}.taxes-table-page .quarter-totals{justify-content:center}}@media (max-width: 768px){.taxes-table-page{padding:1rem}.taxes-table-page .taxes-table{font-size:.875rem}.taxes-table-page .taxes-table th,.taxes-table-page .taxes-table td{padding:.75rem .5rem}.taxes-table-page .action-btn{width:32px;height:32px;font-size:.875rem}.taxes-table-page .quarter-header{padding:.75rem 1rem;font-size:1.125rem}}@media (max-width: 640px){.taxes-table-page .taxes-table th:nth-child(3),.taxes-table-page .taxes-table td:nth-child(3){display:none}.taxes-table-page .taxes-table th:nth-child(7),.taxes-table-page .taxes-table td:nth-child(7){display:none}.taxes-table-page .quarter-totals{flex-direction:column;align-items:center}.taxes-table-page .total-item{font-size:.8rem}}@media print{.taxes-table-page{padding:0}.taxes-table-page .add-button,.taxes-table-page .actions-cell,.taxes-table-page .action-btn{display:none}.taxes-table-page .quarter-group{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.taxes-table-page .taxes-table{font-size:.8rem}.taxes-table-page .taxes-table th,.taxes-table-page .taxes-table td{padding:.5rem}}.reports-table-page{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--color-background);min-height:calc(100vh - 200px);transition:background-color .3s ease}.reports-table-page .demo-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;padding:.75rem 1.5rem;margin-bottom:1.5rem;border-radius:.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:0 2px 4px #f59e0b33}.reports-table-page .demo-icon{font-size:1.2rem}.reports-table-page .loading-state{text-align:center;padding:4rem 2rem;background-color:var(--color-background-secondary);border-radius:12px;border:1px solid var(--color-border);transition:all .3s ease}.reports-table-page .loading-spinner{font-size:3rem;margin-bottom:1rem;animation:spin 1s linear infinite}.reports-table-page .loading-state h3{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.5rem;transition:color .3s ease}.reports-table-page .loading-state p{color:var(--color-text-secondary);font-size:1rem;margin:0;transition:color .3s ease}.reports-table-page .error-state{text-align:center;padding:4rem 2rem;background-color:#fef2f2;border-radius:12px;border:1px solid #fecaca}.reports-table-page .error-icon{font-size:3rem;margin-bottom:1rem}.reports-table-page .error-state h3{color:#dc2626;font-size:1.5rem;margin-bottom:.5rem}.reports-table-page .error-state p{color:#7f1d1d;font-size:1rem;margin-bottom:2rem}.reports-table-page .retry-btn{background-color:#dc2626;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.reports-table-page .retry-btn:hover{background-color:#b91c1c}.reports-table-page .days-left{font-size:.75rem;color:#16a34a;font-weight:500;margin-top:.25rem}.reports-table-page .reports-table-container{display:flex;flex-direction:column;gap:2rem}.reports-table-page .year-group{background-color:var(--color-background);border-radius:12px;border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);overflow:hidden;transition:all .3s ease}.reports-table-page .year-header{background-color:#7c3aed!important;color:#fff;padding:1rem 1.5rem;margin:0;font-size:1.25rem;font-weight:600;text-transform:capitalize}.reports-table-page .table-wrapper{overflow-x:auto}.reports-table-page .reports-table{width:100%;border-collapse:collapse;font-size:.95rem}.reports-table-page .reports-table th{background-color:var(--color-background-secondary);color:var(--color-text-primary);font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid var(--color-border);white-space:nowrap;position:relative;transition:all .3s ease}.reports-table-page .reports-table th:nth-child(1){text-align:left;width:120px}.reports-table-page .reports-table th:nth-child(2),.reports-table-page .reports-table th:nth-child(3){text-align:right;width:130px}.reports-table-page .reports-table th:nth-child(4),.reports-table-page .reports-table th:nth-child(5),.reports-table-page .reports-table th:nth-child(6),.reports-table-page .reports-table th:nth-child(7){text-align:right;width:110px}.reports-table-page .reports-table th:nth-child(8){text-align:center;width:120px}.reports-table-page .reports-table th:nth-child(9){text-align:center;width:150px}.reports-table-page .reports-table th:nth-child(10){text-align:center;width:90px}.reports-table-page .reports-table td{padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary);transition:all .3s ease}.reports-table-page .reports-table tbody tr{transition:background-color .2s ease}.reports-table-page .reports-table tbody tr:hover{background-color:var(--color-background-secondary)}.reports-table-page .reports-table tbody tr:last-child td{border-bottom:none}.reports-table-page .submitted-row{background-color:#22c55e1a}.reports-table-page .pending-row{background-color:#fbbf241a}.reports-table-page .overdue-row{background-color:#ef44441a;border-left:3px solid #ef4444}.reports-table-page .quarter-cell{font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.reports-table-page .amount-cell{font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.reports-table-page .income-amount{color:#16a34a!important}.reports-table-page .expense-amount{color:var(--color-text-secondary)}.reports-table-page .tax-amount{color:#7c3aed!important}.reports-table-page .date-cell{font-weight:500;color:var(--color-text-secondary);text-align:center;white-space:nowrap}.reports-table-page .overdue-date{color:#dc2626!important;font-weight:600}.reports-table-page .status-cell{text-align:center;white-space:nowrap}.reports-table-page .status-submitted{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background-color:#22c55e26;color:#16a34a;border:1px solid rgba(34,197,94,.3);border-radius:12px;font-size:.75rem;font-weight:600}.reports-table-page .status-pending{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background-color:#fbbf2426;color:#d97706;border:1px solid rgba(251,191,36,.3);border-radius:12px;font-size:.75rem;font-weight:600}.reports-table-page .status-overdue{background-color:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.reports-table-page .year-summary-row{background-color:var(--color-background-tertiary)!important;border-top:2px solid #7c3aed;font-weight:600}.reports-table-page .year-summary-row:hover{background-color:var(--color-background-tertiary)!important}.reports-table-page .summary-cell{padding:1rem;border-bottom:none!important;text-align:right;vertical-align:middle}.reports-table-page .summary-label{text-align:left!important;color:var(--color-text-primary)}.reports-table-page .income-summary{color:#16a34a!important}.reports-table-page .expense-summary{color:var(--color-text-secondary)}.reports-table-page .tax-summary{color:#7c3aed!important}.reports-table-page .status-count{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background-color:#7c3aed26;color:#7c3aed;border:1px solid rgba(124,58,237,.3);border-radius:12px;font-size:.75rem;font-weight:600}.reports-table-page .actions-cell{text-align:center;white-space:nowrap}.reports-table-page .action-buttons{display:flex;justify-content:center;gap:.25rem}.reports-table-page .action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 .25rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;background-color:transparent}.reports-table-page .submit-btn{color:#16a34a;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.reports-table-page .submit-btn:hover{background-color:#22c55e33;border-color:#22c55e80;transform:scale(1.1)}.reports-table-page .cancel-btn{color:#ea580c;background-color:#ea580c1a;border:1px solid rgba(234,88,12,.3)}.reports-table-page .cancel-btn:hover{background-color:#ea580c33;border-color:#ea580c80;transform:scale(1.1)}.reports-table-page .details-btn{color:#3b82f6;background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.reports-table-page .details-btn:hover{background-color:#3b82f633;border-color:#3b82f680;transform:scale(1.1)}.reports-table-page .year-summary{padding:1rem 1.5rem;background-color:var(--color-background-secondary);border-top:1px solid var(--color-border);transition:all .3s ease}.reports-table-page .summary-stats{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;flex-wrap:wrap;gap:1rem}.reports-table-page .records-count{color:var(--color-text-tertiary);font-weight:500}.reports-table-page .year-totals{display:flex;gap:1.5rem;flex-wrap:wrap}.reports-table-page .total-item{color:#7c3aed!important;font-weight:600;font-size:.875rem}.reports-table-page .empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-background-secondary);border-radius:12px;border:2px dashed var(--color-border);transition:all .3s ease}.reports-table-page .empty-icon{font-size:4rem;margin-bottom:1rem}.reports-table-page .empty-state h3{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.5rem}.reports-table-page .empty-state p{color:var(--color-text-tertiary);font-size:1rem;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}@media (max-width: 1024px){.reports-table-page{padding:1.5rem}.reports-table-page .summary-stats{flex-direction:column;gap:.5rem;align-items:center}.reports-table-page .year-totals{justify-content:center}}@media (max-width: 768px){.reports-table-page{padding:1rem}.reports-table-page .reports-table{font-size:.875rem}.reports-table-page .reports-table th,.reports-table-page .reports-table td{padding:.75rem .5rem}.reports-table-page .action-btn{width:28px;height:28px;font-size:.75rem}.reports-table-page .year-header{padding:.75rem 1rem;font-size:1.125rem}.reports-table-page .action-buttons{flex-direction:column;gap:.125rem}}@media (max-width: 640px){.reports-table-page .reports-table th:nth-child(3),.reports-table-page .reports-table td:nth-child(3){display:none}.reports-table-page .reports-table th:nth-child(7),.reports-table-page .reports-table td:nth-child(7){display:none}.reports-table-page .year-totals{flex-direction:column;align-items:center}.reports-table-page .total-item{font-size:.8rem}}@media print{.reports-table-page{padding:0}.reports-table-page .actions-cell,.reports-table-page .action-btn{display:none}.reports-table-page .year-group{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.reports-table-page .reports-table{font-size:.8rem}.reports-table-page .reports-table th,.reports-table-page .reports-table td{padding:.5rem}}.income-table-page{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--color-background);min-height:calc(100vh - 200px);transition:background-color .3s ease}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;min-height:300px}.loading-spinner{font-size:2rem;margin-bottom:1rem;animation:spin 2s linear infinite}.retry-button{margin-top:1rem;padding:.75rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.demo-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;padding:.75rem 1.5rem;margin-bottom:1.5rem;border-radius:.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:0 2px 4px #f59e0b33}.demo-icon{font-size:1.2rem}.income-table-page .income-table-container{display:flex;flex-direction:column;gap:2rem}.income-table-page .month-group{background-color:var(--color-background);border-radius:12px;border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);overflow:hidden;transition:all .3s ease}.income-table-page .month-header{background-color:#3b82f6!important;color:#fff;padding:1rem 1.5rem;margin:0;font-size:1.25rem;font-weight:600;text-transform:capitalize;box-shadow:0 2px 4px #3b82f633}.income-table-page .table-wrapper{overflow-x:auto}.income-table-page .income-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}.income-table-page .income-table th{background-color:var(--color-background-secondary);color:var(--color-text-primary);font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid var(--color-border);white-space:nowrap;position:relative;transition:all .3s ease}.income-table-page .income-table th:nth-child(1),.income-table-page .income-table td:nth-child(1){width:12%;text-align:left}.income-table-page .income-table th:nth-child(2),.income-table-page .income-table td:nth-child(2){width:15%;text-align:right}.income-table-page .income-table th:nth-child(3),.income-table-page .income-table td:nth-child(3){width:12%;text-align:center}.income-table-page .income-table th:nth-child(4),.income-table-page .income-table td:nth-child(4){width:15%;text-align:center}.income-table-page .income-table th:nth-child(5),.income-table-page .income-table td:nth-child(5){width:35%;text-align:left}.income-table-page .income-table th:nth-child(6),.income-table-page .income-table td:nth-child(6){width:11%;text-align:center}.income-table-page .income-table th:nth-child(2){text-align:right}.income-table-page .income-table th:nth-child(3),.income-table-page .income-table th:nth-child(4),.income-table-page .income-table th:nth-child(6){text-align:center}.income-table-page .income-table td{padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary);transition:all .3s ease}.income-table-page .income-table tbody tr{transition:background-color .2s ease}.income-table-page .income-table tbody tr:hover{background-color:var(--color-background-secondary)}.income-table-page .income-table tbody tr:last-child td{border-bottom:none}.income-table-page .date-cell{font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.income-table-page .amount-cell{font-weight:600;color:#16a34a!important;white-space:nowrap;font-variant-numeric:tabular-nums}.income-table-page .currency-cell{font-weight:500;color:var(--color-text-tertiary);white-space:nowrap}.income-table-page .cash-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;white-space:nowrap}.income-table-page .cash-indicator.cash{background-color:#22c55e26;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.income-table-page .cash-indicator.non-cash{background-color:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.income-table-page .comment-cell{color:var(--color-text-secondary);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.4}.income-table-page .actions-cell{white-space:nowrap}.income-table-page .action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 .25rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;background-color:transparent}.income-table-page .modify-btn{color:#3b82f6;background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.income-table-page .modify-btn:hover{background-color:#3b82f633;border-color:#3b82f680;transform:scale(1.1)}.income-table-page .delete-btn{color:#ef4444;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3)}.income-table-page .delete-btn:hover{background-color:#ef444433;border-color:#ef444480;transform:scale(1.1)}.income-table-page .month-summary{padding:1rem 1.5rem;background-color:var(--color-background-secondary);border-top:1px solid var(--color-border);transition:all .3s ease}.income-table-page .summary-stats{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.income-table-page .records-count{color:var(--color-text-tertiary);font-weight:500}.income-table-page .total-amount{color:#16a34a!important;font-weight:600;font-size:1rem}.income-table-page .empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-background-secondary);border-radius:12px;border:2px dashed var(--color-border);transition:all .3s ease}.income-table-page .empty-icon{font-size:4rem;margin-bottom:1rem}.income-table-page .empty-state h3{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.5rem}.income-table-page .empty-state p{color:var(--color-text-tertiary);font-size:1rem;margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.income-table-page .add-first-income-btn{padding:.75rem 2rem;background-color:#10b981!important;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.income-table-page .add-first-income-btn:hover{background-color:#059669!important;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}@media (max-width: 1024px){.income-table-page{padding:1.5rem}.income-table-page .summary-stats{flex-direction:column;gap:.5rem;align-items:center}}@media (max-width: 768px){.income-table-page{padding:1rem}.income-table-page .income-table{font-size:.875rem}.income-table-page .income-table th,.income-table-page .income-table td{padding:.75rem .5rem}.income-table-page .income-table th:nth-child(1),.income-table-page .income-table td:nth-child(1){width:15%}.income-table-page .income-table th:nth-child(2),.income-table-page .income-table td:nth-child(2){width:18%}.income-table-page .income-table th:nth-child(4),.income-table-page .income-table td:nth-child(4){width:18%}.income-table-page .income-table th:nth-child(5),.income-table-page .income-table td:nth-child(5){width:30%}.income-table-page .income-table th:nth-child(6),.income-table-page .income-table td:nth-child(6){width:14%}.income-table-page .comment-cell{font-size:.8rem;line-height:1.3}.income-table-page .action-btn{width:32px;height:32px;font-size:.875rem}.income-table-page .month-header{padding:.75rem 1rem;font-size:1.125rem}}@media (max-width: 640px){.income-table-page .income-table th:nth-child(3),.income-table-page .income-table td:nth-child(3){display:none}.income-table-page .income-table th:nth-child(1),.income-table-page .income-table td:nth-child(1){width:18%}.income-table-page .income-table th:nth-child(2),.income-table-page .income-table td:nth-child(2){width:22%}.income-table-page .income-table th:nth-child(4),.income-table-page .income-table td:nth-child(4){width:20%}.income-table-page .income-table th:nth-child(5),.income-table-page .income-table td:nth-child(5){width:25%}.income-table-page .income-table th:nth-child(6),.income-table-page .income-table td:nth-child(6){width:15%}.income-table-page .cash-indicator{font-size:.75rem;padding:.125rem .5rem}.income-table-page .amount-cell{font-size:.875rem}}@media print{.income-table-page{padding:0}.income-table-page .add-income-btn,.income-table-page .actions-cell,.income-table-page .action-btn{display:none}.income-table-page .month-group{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.income-table-page .income-table{font-size:.8rem}.income-table-page .income-table th,.income-table-page .income-table td{padding:.5rem}}.admin-page{padding:2rem;background-color:#f8fafc;min-height:100vh;transition:background-color .3s ease}.dark-theme .admin-page{background-color:var(--color-background)}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.dark-theme .admin-header{background:var(--color-background-secondary);box-shadow:0 1px 3px #0000004d}.admin-header h1{color:#1e293b;margin:0;font-size:1.875rem;font-weight:700;transition:color .3s ease}.dark-theme .admin-header h1{color:var(--color-text-primary)}.admin-stats{display:flex;gap:2rem;align-items:center}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-label{font-size:.875rem;color:#64748b;margin-bottom:.25rem;transition:color .3s ease}.dark-theme .stat-label{color:var(--color-text-secondary)}.stat-value{font-size:1.125rem;font-weight:600;color:#1e293b;transition:color .3s ease}.dark-theme .stat-value{color:var(--color-text-primary)}.refresh-button{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.add-new-button{padding:.75rem 1.5rem;background:#059669;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.header-actions{display:flex;gap:1rem;align-items:center}.refresh-button:hover{background:#2563eb;transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.add-new-button:hover{background:#047857;transform:translateY(-1px)}.add-new-button:disabled,.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:900px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;color:#1e293b;font-size:1.25rem;font-weight:600}.close-button{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-section{grid-column:1 / -1;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#f9fafb}.form-section h3{margin:0 0 1rem;color:#1e293b;font-size:1rem;font-weight:600;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.form-section .form-group{margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#374151;font-size:.875rem}.form-group input{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-button{padding:.75rem 1.5rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background:#4b5563}.submit-button{padding:.75rem 1.5rem;background:#059669;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.submit-button:hover{background:#047857}.cancel-button:disabled,.submit-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.form-grid{grid-template-columns:1fr}.modal-header,.modal-body,.modal-footer{padding:1rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-container h2{color:#dc2626;margin:0 0 1rem;font-size:1.5rem}.error-container p{color:#64748b;margin:0;max-width:400px}.admin-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.empty-state{padding:4rem;text-align:center;color:#64748b}.govsums-table-container{overflow-x:auto}.govsums-table{width:100%;border-collapse:collapse;font-size:.875rem}.govsums-table th{background:#f8fafc;padding:1rem .75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10;vertical-align:middle}.govsums-table th.group-header{text-align:center;background:#e2e8f0;color:#1e293b;font-weight:700;font-size:.9rem;border-left:1px solid #cbd5e1;border-right:1px solid #cbd5e1}.govsums-table th.sub-header{background:#f1f5f9;color:#475569;font-weight:500;font-size:.8rem;text-align:center;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;padding:.75rem .5rem}.govsums-table td:nth-child(9){border-left:2px solid #3b82f6}.govsums-table td:nth-child(12){border-right:2px solid #3b82f6}.govsums-table td:nth-child(13){border-left:2px solid #dc2626}.govsums-table td:nth-child(14){border-right:2px solid #dc2626}.govsums-table td{padding:1rem .75rem;border-bottom:1px solid #e5e7eb;transition:background-color .2s}.govsums-table tr:hover{background-color:#f9fafb}.govsums-table tr.active-period{background-color:#dbeafe!important;border-left:4px solid #3b82f6}.govsums-table tr.active-period:hover{background-color:#bfdbfe!important}.actions-header{width:60px;text-align:center;background:#e2e8f0!important;font-weight:700;color:#1e293b;border-right:2px solid #cbd5e1}.actions-cell{width:60px;text-align:center;padding:.75rem .5rem;border-right:2px solid #e5e7eb}.govsums-table tr.active-period .actions-cell{background-color:inherit}.edit-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;position:relative}.edit-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f64d}.edit-button:active{transform:translateY(0)}.edit-button:hover:after,.edit-button:focus:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:1000;margin-bottom:.25rem;opacity:0;animation:fadeIn .2s ease-in-out .3s forwards}.edit-button:hover:before,.edit-button:focus:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #1e293b;z-index:1000;margin-bottom:.25rem;opacity:0;animation:fadeIn .2s ease-in-out .3s forwards}.edit-button:focus{outline:2px solid #3b82f6;outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-2px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.date-cell{font-weight:500;color:#1e293b;position:relative;min-width:150px}.active-badge{display:inline-block;background:#10b981;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;margin-left:.5rem;font-weight:500}.currency-cell{text-align:right;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#059669;font-weight:500}.percentage-cell{text-align:right;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#7c3aed;font-weight:500}.current-rates-summary{margin-bottom:1.5rem;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border-bottom:3px solid #e5e7eb}.current-rates-summary h3{margin:0 0 1rem;color:#1e293b;font-size:1.125rem;font-weight:600}.rates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.rate-item{display:flex;flex-direction:column;gap:.5rem}.rate-item label{font-weight:600;color:#374151;font-size:.875rem}.limits-info,.military-tax-info{display:flex;flex-direction:column;gap:.25rem}.limits-info span,.military-tax-info span{padding:.5rem;background:#f3f4f6;border-radius:6px;font-size:.875rem;color:#374151}.rate-item>span{padding:.5rem;background:#fef3c7;border-radius:6px;font-size:.875rem;color:#92400e;font-weight:500}.govsums-table-container{margin-top:1.5rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}@media (max-width: 1024px){.admin-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-stats{justify-content:space-around}.rates-grid{grid-template-columns:1fr}}@media (max-width: 768px){.admin-page{padding:1rem}.admin-header h1{font-size:1.5rem}.admin-stats{flex-direction:column;gap:1rem}.current-rates-summary{padding:1rem;margin-bottom:1rem}.current-rates-summary h3{font-size:1rem}.rates-grid{grid-template-columns:1fr;gap:1rem}.govsums-table-container{margin-top:1rem}.govsums-table{font-size:.75rem}.govsums-table th,.govsums-table td{padding:.5rem .375rem}.actions-cell{width:50px;padding:.5rem .25rem}.edit-button{width:28px;height:28px;font-size:.75rem}}@media (max-width: 480px){.actions-cell{width:45px}.edit-button{width:24px;height:24px;font-size:.6875rem}}.dark-theme .refresh-button,.dark-theme .add-new-button{box-shadow:0 1px 3px #0006}.dark-theme .refresh-button:hover{background:#1d4ed8}.dark-theme .add-new-button:hover{background:#065f46}.dark-theme .modal-overlay{background:#000000bf}.dark-theme .modal-content{background:var(--color-background-secondary);box-shadow:0 20px 25px -5px #00000080}.dark-theme .modal-header{border-bottom:1px solid var(--color-border)}.dark-theme .modal-header h2{color:var(--color-text-primary)}.dark-theme .close-button{color:var(--color-text-secondary)}.dark-theme .close-button:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.dark-theme .modal-footer{border-top:1px solid var(--color-border);background:var(--color-background)}.dark-theme .form-section{border:1px solid var(--color-border);background:var(--color-background-tertiary)}.dark-theme .form-section h3{color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.dark-theme .form-group label{color:var(--color-text-secondary)}.dark-theme .form-group input{background:var(--color-background);color:var(--color-text-primary);border:1px solid var(--color-border)}.dark-theme .form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.dark-theme .cancel-button{background:#4b5563}.dark-theme .cancel-button:hover{background:#374151}.dark-theme .submit-button{background:#047857}.dark-theme .submit-button:hover{background:#065f46}.dark-theme .loading-container,.dark-theme .error-container{background:var(--color-background-secondary);box-shadow:0 1px 3px #0000004d}.dark-theme .error-container h2{color:#f87171}.dark-theme .error-container p{color:var(--color-text-secondary)}.dark-theme .admin-content{background:var(--color-background-secondary);box-shadow:0 1px 3px #0000004d}.dark-theme .empty-state{color:var(--color-text-secondary)}.dark-theme .govsums-table th{background:var(--color-background-tertiary);color:var(--color-text-primary);border-bottom:2px solid var(--color-border)}.dark-theme .govsums-table th.group-header{background:#374151;color:var(--color-text-primary);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.dark-theme .govsums-table th.sub-header{background:var(--color-background);color:var(--color-text-secondary);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.dark-theme .govsums-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.dark-theme .govsums-table tr:hover{background-color:var(--color-background)}.dark-theme .govsums-table tr.active-period{background-color:#3b82f633!important;border-left:4px solid #3b82f6}.dark-theme .govsums-table tr.active-period:hover{background-color:#3b82f64d!important}.dark-theme .actions-header{background:#374151!important;color:var(--color-text-primary);border-right:2px solid var(--color-border)}.dark-theme .actions-cell{border-right:2px solid var(--color-border)}.dark-theme .edit-button{background:#2563eb}.dark-theme .edit-button:hover{background:#1d4ed8;box-shadow:0 2px 4px #2563eb80}.dark-theme .edit-button:hover:after,.dark-theme .edit-button:focus:after{background:#0f172a}.dark-theme .edit-button:hover:before,.dark-theme .edit-button:focus:before{border-top-color:#0f172a}.dark-theme .date-cell{color:var(--color-text-primary)}.dark-theme .active-badge{background:#059669}.dark-theme .currency-cell{color:#10b981}.dark-theme .percentage-cell{color:#a78bfa}.dark-theme .current-rates-summary{background:var(--color-background-secondary);box-shadow:0 1px 3px #0000004d;border-bottom:3px solid var(--color-border)}.dark-theme .current-rates-summary h3{color:var(--color-text-primary)}.dark-theme .rate-item label{color:var(--color-text-secondary)}.dark-theme .limits-info span,.dark-theme .military-tax-info span{background:var(--color-background-tertiary);color:var(--color-text-primary)}.dark-theme .rate-item>span{background:#92400e;color:#fef3c7}.dark-theme .govsums-table-container{background:var(--color-background-secondary);box-shadow:0 1px 3px #0000004d}.tax-report-details-container{width:100%;min-height:100vh;background-color:#f5f5f5;transition:background-color .3s ease}.dark-theme .tax-report-details-container{background-color:#1a1a1a}.report-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100;transition:background-color .3s ease,border-color .3s ease}.dark-theme .report-actions-bar{background:var(--color-background-secondary);border-bottom:1px solid var(--color-border);box-shadow:0 2px 4px #0000004d}.actions-left,.actions-right{display:flex;gap:.5rem;min-width:200px}.actions-center{flex:1;text-align:center}.report-title{margin:0;font-size:1.2rem;color:#333;font-weight:600;transition:color .3s ease}.dark-theme .report-title{color:var(--color-text-primary)}.action-btn{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s ease;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.dark-theme .action-btn{background:var(--color-background-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.action-btn:hover{background:#f8f9fa;border-color:#007bff;color:#007bff}.dark-theme .action-btn:hover{background:var(--color-background);border-color:#3b82f6;color:#3b82f6}.back-btn{border-color:#6c757d;color:#6c757d}.back-btn:hover{background:#6c757d;color:#fff}.dark-theme .back-btn{border-color:#9ca3af;color:#9ca3af}.dark-theme .back-btn:hover{background:#6b7280;color:#fff;border-color:#6b7280}.save-btn{border-color:#28a745;color:#28a745}.save-btn:hover{background:#28a745;color:#fff}.dark-theme .save-btn{border-color:#22c55e;color:#22c55e}.dark-theme .save-btn:hover{background:#16a34a;color:#fff;border-color:#16a34a}.print-btn{border-color:#17a2b8;color:#17a2b8}.print-btn:hover{background:#17a2b8;color:#fff}.dark-theme .print-btn{border-color:#06b6d4;color:#06b6d4}.dark-theme .print-btn:hover{background:#0891b2;color:#fff;border-color:#0891b2}.tax-report-loading,.tax-report-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.loading-spinner{font-size:3rem;margin-bottom:1rem;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon{font-size:3rem;margin-bottom:1rem}.error-actions{display:flex;gap:1rem;margin-top:1rem}.go-back-btn,.retry-btn{padding:.75rem 1.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:all .2s ease}.go-back-btn:hover{background:#6c757d;color:#fff;border-color:#6c757d}.retry-btn:hover{background:#007bff;color:#fff;border-color:#007bff}.report-summary{margin:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.dark-theme .report-summary{background:var(--color-background-secondary);box-shadow:0 2px 8px #0000004d}.report-summary h3{margin:0 0 1rem;color:#333;border-bottom:2px solid #007bff;padding-bottom:.5rem;transition:color .3s ease,border-color .3s ease}.dark-theme .report-summary h3{color:var(--color-text-primary);border-bottom:2px solid #3b82f6}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:4px;border-left:4px solid #007bff;transition:background-color .3s ease,border-color .3s ease}.dark-theme .summary-item{background:var(--color-background-tertiary);border-left:4px solid #3b82f6}.summary-item label{font-weight:500;color:#495057;transition:color .3s ease}.dark-theme .summary-item label{color:var(--color-text-secondary)}.summary-item span{font-weight:600;color:#212529;transition:color .3s ease}.dark-theme .summary-item span{color:var(--color-text-primary)}@media print{.report-actions-bar,.report-summary,.no-print{display:none!important}.tax-report-details-container{background:#fff}.a4-page{margin:0;box-shadow:none}}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem}.loading-state h3,.error-state h3{margin:1rem 0 .5rem;color:#333;transition:color .3s ease}.dark-theme .loading-state h3,.dark-theme .error-state h3{color:var(--color-text-primary)}.loading-state p,.error-state p{color:#666;margin-bottom:1rem;transition:color .3s ease}.dark-theme .loading-state p,.dark-theme .error-state p{color:var(--color-text-secondary)}.retry-btn{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.dark-theme .retry-btn{background:#3b82f6}.retry-btn:hover{background:#0056b3}.dark-theme .retry-btn:hover{background:#2563eb}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn:disabled:hover{background:#fff;border-color:#ddd;color:#333}.dark-theme .action-btn:disabled:hover{background:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}.a4-page{width:210mm;min-height:297mm;margin:2rem auto;padding:2mm;background:#fff!important;box-shadow:0 0 10px #0000001a;font-family:Times New Roman,serif;font-size:11px;line-height:1.2;color:#000!important;box-sizing:border-box}.dark-theme .a4-page{box-shadow:0 0 20px #00000080}.dark-theme .a4-page,.dark-theme .a4-page *,.dark-theme .a4-page table,.dark-theme .a4-page td,.dark-theme .a4-page th,.dark-theme .a4-page input,.dark-theme .a4-page select,.dark-theme .a4-page textarea{color:#000!important;background-color:#fff!important;border-color:#000!important}@media print{.a4-page{width:210mm;min-height:297mm;margin:0;padding:2mm;box-shadow:none;page-break-after:always}body{margin:0;padding:0}}#report{width:100%;max-width:206mm}#report-01-nested-table{border-spacing:0!important;border-collapse:collapse!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important}#report-01-nested-table td{margin:0!important;border-collapse:collapse!important}#report table{width:100%;border-collapse:collapse;margin:2mm 0;font-size:9px;table-layout:fixed}#report td,#report th{border:1px solid #000;padding:1mm;text-align:center;vertical-align:middle;word-wrap:break-word;overflow-wrap:break-word}#report-01,#report-02,#report-03,#report-04,#report-05,#report-06,#report-07,#report-08,#report-09{width:100%}#report-01 td:nth-child(1){width:8%}#report-01 td:nth-child(2){width:60%}#report-01 td:nth-child(3){width:32%}#report-02 td:nth-child(1){width:8%}#report-02 td:nth-child(2){width:92%}#report-03 td:nth-child(1){width:8%}#report-03 td:nth-child(2){width:92%}#report-04 td:nth-child(1){width:8%}#report-04 td:nth-child(2){width:92%}#report-05 td:nth-child(1){width:8%}#report-05 td:nth-child(2){width:92%}#report-06 td:nth-child(1){width:8%}#report-06 td:nth-child(2){width:92%}#report-07 td:nth-child(1){width:8%}#report-07 td:nth-child(2){width:62%}#report-07 td:nth-child(3){width:30%}#report-08 td:nth-child(1){width:8%}#report-08 td:nth-child(2){width:65%}#report-08 td:nth-child(3){width:27%}#report-09 td:nth-child(1){width:8%}#report-09 td:nth-child(2){width:92%}#II-chapter-data td:nth-child(1){width:70%}#II-chapter-data td:nth-child(2){width:8%}#II-chapter-data td:nth-child(3){width:22%}#III-chapter-data td:nth-child(1){width:70%}#III-chapter-data td:nth-child(2){width:8%}#III-chapter-data td:nth-child(3){width:22%}#IV-chapter-data td:nth-child(1){width:70%}#IV-chapter-data td:nth-child(2){width:8%}#IV-chapter-data td:nth-child(3){width:22%}#V-chapter-data td:nth-child(1){width:70%}#V-chapter-data td:nth-child(2){width:8%}#V-chapter-data td:nth-child(3){width:22%}#VI-chapter-data td:nth-child(1){width:70%}#VI-chapter-data td:nth-child(2){width:8%}#VI-chapter-data td:nth-child(3){width:22%}.quarter-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0;width:100%}.quarter-grid td{border:1px solid #000;text-align:center;padding:1mm}.section-header{text-align:center;font-weight:700;background-color:#f0f0f0;padding:2mm}input[type=radio],input[type=checkbox]{width:3mm;height:3mm;margin:0 1mm}.data-value{color:#00f;font-weight:700;font-size:10px}.footnotes{font-size:8px;line-height:1.3;margin-top:5mm;text-align:justify}.signature-section{margin-top:10mm;font-size:10px}.signature-line{border-bottom:1px solid #000;display:inline-block;width:50mm;margin:0 2mm}h6{margin:1mm 0;font-size:11px;font-weight:700;text-align:center}.spacer-row{height:2mm;border:none}.spacer-row td{border:none;padding:0}.details-content{font-family:Times New Roman,serif;margin:20px;background-color:#f9f9f9;font-size:12px;line-height:1.2}.header-report-details{display:flex;justify-content:space-between;margin-bottom:20px}.receipt-mark{width:200px;border:1px solid #000;padding:10px;text-align:center;height:80px;font-size:10px}.approval{text-align:right;width:300px;font-size:10px}.title{text-align:center;font-size:14px;font-weight:700;margin:20px 0}.form-section{margin:15px 0}.form-type{float:right;margin:10px 0;font-size:10px}.form-type .checkbox-item{margin:5px 0}.section{margin:15px 0;clear:both}.section-title{font-weight:700;margin:10px 0 5px}.field-row{margin:8px 0;display:flex;align-items:center}.field-label{min-width:200px;margin-right:10px}.field-input{border-bottom:1px solid #000;min-width:300px;height:20px;margin-right:10px}.checkbox-group{display:flex;gap:15px;margin:8px 0;flex-wrap:wrap}.checkbox-item{display:flex;align-items:center;gap:5px}.checkbox-item input{width:15px;height:15px}.month-input-group{display:flex;align-items:center;gap:5px;margin-left:auto}.month-field{width:80px!important;display:inline-block;text-align:center;border:1px solid #ccc;border-radius:3px;padding:2px 5px}.table-header{background-color:#f0f0f0;font-weight:700}.input-cell{background-color:#fff;min-height:18px}.row-label{text-align:left;padding-left:5px;background-color:#f8f8f8}.code-column{width:60px}.amount-column{width:100px}.note{font-size:8px;margin-top:3px;font-style:italic}.quarter-table{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin:10px 0;font-size:9px}.quarter-cell{border:1px solid #000;padding:5px;text-align:center;background-color:#f0f0f0}.tax-form-container{font-family:Times New Roman,serif;margin:20px;background-color:#f9f9f9;font-size:12px;line-height:1.2;min-height:100vh}.email-confirmation-page{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.confirmation-container{max-width:500px;width:100%;text-align:center}.confirmation-loading,.confirmation-success,.confirmation-error{background:var(--card-background, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:3rem 2rem;box-shadow:0 4px 6px #0000000d}.confirmation-loading h2,.confirmation-success h2,.confirmation-error h2{margin:1.5rem 0 1rem;font-size:1.75rem;font-weight:600;color:var(--text-primary, #1f2937)}.confirmation-loading p,.confirmation-success p,.confirmation-error p{margin:.5rem 0;font-size:1rem;color:var(--text-secondary, #6b7280);line-height:1.6}.spinner{margin:0 auto;width:50px;height:50px;border:4px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:#10b981;color:#fff;border-radius:50%;font-size:3rem;font-weight:700}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:#ef4444;color:#fff;border-radius:50%;font-size:3rem;font-weight:700}.redirect-message{margin-top:1rem;font-style:italic;color:var(--text-tertiary, #9ca3af)}.home-button{margin-top:2rem;padding:.75rem 2rem;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.home-button:hover{background:var(--primary-hover, #2563eb)}.home-button:active{transform:scale(.98)}@media (prefers-color-scheme: dark){.confirmation-loading,.confirmation-success,.confirmation-error{background:var(--card-background-dark, #1f2937);border-color:var(--border-color-dark, #374151)}.confirmation-loading h2,.confirmation-success h2,.confirmation-error h2{color:var(--text-primary-dark, #f9fafb)}.confirmation-loading p,.confirmation-success p,.confirmation-error p{color:var(--text-secondary-dark, #d1d5db)}.redirect-message{color:var(--text-tertiary-dark, #9ca3af)}.spinner{border-color:var(--border-color-dark, #374151);border-top-color:var(--primary-color, #3b82f6)}}
