*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5;color:#333}a{text-decoration:none;color:inherit}:root{--bg-primary: #f0f4f8;--bg-secondary: #ffffff;--bg-sidebar: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);--sidebar-bg-solid: #1a1a2e;--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-muted: #718096;--border-color: #e2e8f0;--shadow-color: rgba(26, 26, 46, .08);--card-bg: #ffffff;--input-bg: #ffffff;--input-border: #cbd5e0;--table-header-bg: #f7fafc;--accent-color: #667eea;--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-hover: #5a67d8;--success-color: #48bb78;--warning-color: #ed8936;--danger-color: #f56565}body.dark-mode{--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-sidebar: linear-gradient(180deg, #0f0f23 0%, #1a1a2e 100%);--sidebar-bg-solid: #0f0f23;--text-primary: #ffffff;--text-secondary: #e2e8f0;--text-muted: #a0aec0;--border-color: #2d3748;--shadow-color: rgba(0, 0, 0, .4);--card-bg: #1a1a2e;--input-bg: #16213e;--input-border: #2d3748;--table-header-bg: #16213e;--accent-color: #667eea;--chart-grid: #2d3748;--chart-text: #ffffff}body.dark-mode{background-color:var(--bg-primary);color:var(--text-primary)}body.dark-mode textarea{background-color:var(--input-bg);color:var(--text-primary);border-color:var(--input-border)}body.dark-mode ::-webkit-scrollbar{width:8px;height:8px}body.dark-mode ::-webkit-scrollbar-track{background:var(--bg-secondary)}body.dark-mode ::-webkit-scrollbar-thumb{background:#444;border-radius:4px}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#555}body.dark-mode .card,body.dark-mode div[class*=card],body.dark-mode [style*="background: #f"]{background-color:var(--card-bg)!important}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background-color:var(--input-bg)!important;color:var(--text-primary)!important;border-color:var(--input-border)!important}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4{color:var(--text-primary)}body.dark-mode label{color:var(--text-secondary)!important}body.dark-mode p,body.dark-mode span:not(.theme-icon):not(.theme-text){color:var(--text-primary)}body.dark-mode [style*="background: #e8f5e9"]{background:#4caf5026!important;border-color:#4caf504d!important}body.dark-mode [style*="background: #ffebee"]{background:#f4433626!important;border-color:#f443364d!important}body.dark-mode [style*="background: #f5f5f5"]{background:var(--table-header-bg)!important}body.dark-mode [style*="background: #fff"]{background:var(--card-bg)!important}body.dark-mode code{color:#81c784}body.dark-mode .recharts-text,body.dark-mode .recharts-cartesian-axis-tick-value{fill:#fff!important}body.dark-mode .recharts-cartesian-grid line{stroke:#444!important}body.dark-mode .recharts-legend-item-text{color:#fff!important}body.dark-mode .recharts-tooltip-wrapper .recharts-default-tooltip{background-color:#2d2d2d!important;border-color:#444!important}body.dark-mode .recharts-tooltip-label{color:#fff!important}body.dark-mode .recharts-tooltip-item{color:#e0e0e0!important}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--text-secondary)}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1976d2,#42a5f5)}body.dark-mode .login-page{background:linear-gradient(135deg,#0f3460,#1a1a2e)}.login-container{background:var(--card-bg);padding:40px;border-radius:12px;box-shadow:0 10px 40px var(--shadow-color);width:100%;max-width:400px}.login-container h1{text-align:center;color:var(--accent-color);margin-bottom:10px}.login-container .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:6px;font-size:14px;transition:border-color .3s;background-color:var(--input-bg);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%;border:none;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 20px #667eea66;transform:translateY(-1px)}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-success{background-color:#4caf50;color:#fff}.btn-success:hover{background-color:#43a047}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#e53935}.btn-secondary{background-color:#757575;color:#fff}.btn-secondary:hover{background-color:#616161}.error-message{color:#f44336;font-size:14px;margin-top:10px;text-align:center}.auth-switch{margin-top:20px;text-align:center;color:#666}.link-button{background:none;border:none;color:#667eea;cursor:pointer;text-decoration:underline;font-size:14px}.link-button:hover{color:#764ba2}.layout{display:flex;min-height:100vh;background-color:var(--bg-primary)}.sidebar{width:280px;background:var(--bg-sidebar);background-color:var(--sidebar-bg-solid);color:#fff;padding:20px 0;position:relative;box-shadow:4px 0 20px #00000026}.top-bar{display:flex;justify-content:flex-end;align-items:center;padding:15px 0;margin-bottom:10px}.theme-switch{display:flex;align-items:center;gap:10px;background:var(--card-bg);padding:8px 16px;border-radius:25px;box-shadow:0 2px 8px var(--shadow-color);border:1px solid var(--border-color)}.theme-switch-label{font-size:13px;color:var(--text-secondary);font-weight:500}.theme-toggle{position:relative;width:50px;height:26px;background:#cbd5e0;border-radius:13px;cursor:pointer;transition:background .3s ease}.theme-toggle.active{background:linear-gradient(135deg,#667eea,#764ba2)}.theme-toggle-slider{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 4px #0003}.theme-toggle.active .theme-toggle-slider{transform:translate(24px)}.sidebar-header{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:24px}.sidebar-header span{font-size:12px;opacity:.8}.sidebar-nav{padding:20px 0}.nav-link{display:flex;align-items:center;gap:14px;padding:16px 24px;color:#ffffffd9;transition:all .3s;font-size:16px;font-weight:500;border-left:3px solid transparent}.nav-link:hover{background:#667eea26;color:#fff;border-left-color:#667eea80}.nav-link.active{background:linear-gradient(90deg,#667eea4d,#764ba21a);color:#fff;border-left-color:#667eea}.sidebar-footer{position:absolute;bottom:0;width:280px;padding:20px;border-top:1px solid rgba(255,255,255,.1)}.user-info{margin-bottom:10px;font-size:14px}.logout-btn{width:100%;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer;transition:all .3s}.logout-btn:hover{background:#fff3}.main-content{flex:1;padding:30px;overflow-y:auto;background-color:var(--bg-primary)}.dashboard h1,.page-header h1{color:var(--text-primary);margin-bottom:30px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:var(--card-bg);padding:25px;border-radius:12px;box-shadow:0 4px 15px var(--shadow-color);border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-color)}.stat-card h3{color:var(--text-secondary);font-size:14px;margin-bottom:10px}.stat-card .value{font-size:32px;font-weight:700;color:var(--text-primary)}.stat-card.warning .value{color:#ed8936}.stat-card.danger .value{color:#f56565}.stat-card.success .value{color:#48bb78}.table-container{background:var(--card-bg);border-radius:10px;box-shadow:0 2px 10px var(--shadow-color);overflow-x:auto}.table-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.table-header h2{color:var(--text-primary)}table{width:100%;border-collapse:collapse;min-width:1200px}th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;color:var(--text-primary)}th{background:var(--table-header-bg);color:var(--text-secondary);font-weight:600;font-size:13px;text-transform:uppercase}td{color:var(--text-primary)}tr:hover{background:var(--table-header-bg)}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;color:#fff!important}.status-active{background:linear-gradient(135deg,#48bb78,#38a169)}.status-expired{background:linear-gradient(135deg,#f56565,#e53e3e)}.status-overdue,.status-pending{background:linear-gradient(135deg,#ed8936,#dd6b20)}.status-paid{background:linear-gradient(135deg,#48bb78,#38a169)}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-btn{padding:6px 14px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:4px;color:#fff!important}.action-btn.edit{background:linear-gradient(135deg,#667eea,#764ba2)}.action-btn.edit:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.action-btn.delete{background:linear-gradient(135deg,#f56565,#e53e3e)}.action-btn.delete:hover{background:linear-gradient(135deg,#fc8181,#f56565);transform:translateY(-1px);box-shadow:0 4px 12px #f5656566}.action-btn.pay{background:linear-gradient(135deg,#48bb78,#38a169)}.action-btn.pay:hover{background:linear-gradient(135deg,#68d391,#48bb78);color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 2px 8px #48bb784d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:var(--card-bg);padding:30px;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:20px;color:var(--text-primary)}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions .btn{flex:1}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{margin-bottom:0}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state h3{margin-bottom:10px;color:var(--text-primary)}.search-select{position:relative}.search-select input{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:6px;font-size:14px;transition:border-color .3s;background-color:var(--input-bg);color:var(--text-primary)}.search-select input:focus{outline:none;border-color:#1976d2}.search-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--input-border);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px var(--shadow-color);z-index:1000}.search-dropdown-item{padding:12px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s;color:var(--text-primary)}.search-dropdown-item:last-child{border-bottom:none}.search-dropdown-item:hover{background-color:var(--table-header-bg)}.search-dropdown-item.no-results{color:var(--text-muted);cursor:default}.search-dropdown-item.no-results:hover{background-color:var(--card-bg)}:root{--chart-text-color: #374151;--chart-grid-color: #e5e7eb;--chart-tooltip-bg: #ffffff;--chart-tooltip-border: #e5e7eb;--chart-legend-text: #4b5563}[data-theme=dark]{--chart-text-color: #e2e8f0;--chart-grid-color: #374151;--chart-tooltip-bg: #1e293b;--chart-tooltip-border: #475569;--chart-legend-text: #cbd5e1}.recharts-cartesian-axis-tick-value,.recharts-cartesian-axis-tick text,.recharts-text{fill:var(--chart-text-color)!important}.recharts-legend-item-text{color:var(--chart-legend-text)!important}.recharts-cartesian-grid line{stroke:var(--chart-grid-color)!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background-color:var(--chart-tooltip-bg)!important;border-color:var(--chart-tooltip-border)!important}.recharts-tooltip-label,.recharts-tooltip-item{color:var(--chart-text-color)!important}.insights-table,.insights-section table{color:var(--text-primary)}.insights-table th,.insights-section table th{color:var(--text-primary);background:var(--table-header-bg)}.insights-table td,.insights-section table td{color:var(--text-primary);border-color:var(--border-color)}.insights-table tr:hover,.insights-section table tr:hover{background:var(--table-hover-bg)}.insights-section h3,.insights-section h4,.insights-section .section-title{color:var(--text-primary)}.insights-section p,.insights-section span,.insights-section label{color:var(--text-secondary)}.chart-container,.insights-chart{background:var(--card-bg);border-radius:12px;padding:20px}.hamburger-btn{display:none;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:20px;line-height:1;padding:8px 12px;cursor:pointer;box-shadow:0 2px 8px var(--shadow-color)}.sidebar-overlay{display:none}@media (max-width: 1024px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1000;overflow-y:auto;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.sidebar-footer{position:static;width:auto}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease}.sidebar-overlay.open{opacity:1;pointer-events:auto}.main-content{padding:20px}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center}.top-bar{justify-content:space-between}}@media (max-width: 768px){.main-content{padding:16px}.dashboard h1,.page-header h1{font-size:22px}.stats-grid{gap:15px}th,td{padding:10px 12px}}@media (max-width: 900px){.login-screen{flex-direction:column!important}.login-branding{flex:none!important;padding:40px 20px!important;min-height:auto!important}.login-branding h1{font-size:30px!important}.login-features{display:none!important}.login-form-panel{width:100%!important;box-shadow:none!important;padding:40px 24px!important}}@media (max-width: 480px){.login-branding{padding:28px 16px!important}.login-branding img{width:120px!important;margin-bottom:16px!important}.login-branding h1{font-size:26px!important}.login-branding p{font-size:14px!important}.login-form-panel{padding:28px 20px!important}}
