.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:#fff;border-radius:8px;width:100%;max-width:400px;padding:2rem;box-shadow:0 4px 6px #0000001a}.dark .login-box{color:#f1f5f9;background:#1e293b}.login-box h1{color:#667eea;text-align:center;margin:0 0 .5rem;font-size:1.75rem}.dark .login-box h1{color:#818cf8}.login-box h2{color:#475569;text-align:center;margin:0 0 1.5rem;font-size:1.25rem}.dark .login-box h2{color:#cbd5e1}.form-group label{color:#334155;margin-bottom:.5rem;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.dark .form-group input{color:#f1f5f9;background:#0f172a;border-color:#475569}.form-group input:focus{border-color:#667eea;outline:none}.error-message{color:#991b1b;background:#fee2e2;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.dark .error-message{color:#fecaca;background:#7f1d1d}button[type=submit]{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:background .2s}button[type=submit]:hover:not(:disabled){background:#5568d3}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background .3s}.dark body{background:#020617}.app{height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#1e293b 0%,#0f172a 100%);border-right:1px solid #ffffff1a;flex-direction:column;width:280px;padding:24px;display:flex;box-shadow:4px 0 24px #0000001a}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;display:flex}.theme-toggle{cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:8px;font-size:1.25rem;line-height:1;transition:all .2s}.theme-toggle:hover{background:#fff3;transform:scale(1.1)}.sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:24px}.user-info{background:#ffffff0d;border-radius:8px;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px;display:flex}.user-info span:first-child{font-size:.9375rem;font-weight:500}.user-email{color:#94a3b8;font-size:.8125rem}.logout-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;width:100%;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.logout-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.sidebar h1{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem;font-weight:700}.sidebar ul{flex-direction:column;gap:4px;list-style:none;display:flex}.sidebar li{margin-bottom:0}.sidebar a{color:#e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:.9375rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.sidebar a:before{content:"";background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);border-radius:4px;width:4px;height:0;transition:height .2s;position:absolute;left:-8px}.sidebar a:hover{color:#fff;background:#ffffff1a}.sidebar a:hover:before{height:24px}.sidebar a.active{color:#60a5fa;background:#3b82f633}.sidebar a.active:before{height:24px}.main-content{background:#f8fafc;flex:1;padding:40px;transition:background .3s;overflow-y:auto}.dark .main-content{background:#020617}h2{color:#0f172a;letter-spacing:-.02em;margin-bottom:28px;font-size:2rem;font-weight:800;transition:color .3s}.dark h2{color:#f1f5f9}h3{color:#1e293b;font-weight:600}.dark h3{color:#e2e8f0}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:24px;padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.dark .card{color:#f1f5f9;background:#1e293b;border-color:#334155;box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.card:hover{transform:translateY(-2px);box-shadow:0 10px 40px #00000014,0 2px 4px #00000008}.dark .card:hover{box-shadow:0 10px 40px #0000004d,0 2px 4px #0003}.btn{cursor:pointer;color:#475569;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 3px #00000014}.btn:hover{color:#1e293b;background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.btn:active{transform:translateY(0);box-shadow:0 2px 8px #00000014}.btn-secondary{color:#3b82f6;background:0 0;border:1.5px solid #3b82f6}.btn-secondary:hover{color:#2563eb;background:#3b82f614;border-color:#2563eb;box-shadow:0 4px 12px #3b82f626}.btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none}.btn-primary:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 4px 12px #3b82f666}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none}.btn-success:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 4px 12px #10b98166}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none}.btn-danger:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);box-shadow:0 4px 12px #ef444466}.btn-ghost{color:#64748b;box-shadow:none;background:0 0;border:none}.btn-ghost:hover{color:#334155;box-shadow:none;background:#64748b1a}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.dark .btn{color:#e2e8f0;background:linear-gradient(135deg,#334155 0%,#1e293b 100%);border-color:#475569}.dark .btn:hover{color:#f8fafc;background:linear-gradient(135deg,#475569 0%,#334155 100%);border-color:#64748b}.dark .btn-secondary{color:#60a5fa;background:0 0;border-color:#60a5fa}.dark .btn-secondary:hover{color:#93c5fd;background:#60a5fa1a;border-color:#93c5fd}.dark .btn-ghost{color:#94a3b8;background:0 0}.dark .btn-ghost:hover{color:#e2e8f0;background:#94a3b81a}table{border-collapse:separate;border-spacing:0 10px;background:0 0;width:100%}.dark table{background:0 0}table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:none;padding:14px 20px;font-size:.6875rem;font-weight:600}.dark table th{color:#94a3b8}table td{text-align:left;color:#1e293b;background:#f8fafc;border:none;padding:20px;font-size:.9375rem;transition:all .2s}.dark table td{color:#e2e8f0;background:#0f172a}table tbody tr{border-radius:10px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #00000014}.dark table tbody tr{box-shadow:0 2px 4px #0000004d}table tbody tr td:first-child{border-radius:10px 0 0 10px;font-weight:500}table tbody tr td:last-child{border-radius:0 10px 10px 0}table tbody tr:hover td{background:#e2e8f0}.dark table tbody tr:hover td{background:#1e293b}table tbody tr:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000001f}.dark table tbody tr:hover{box-shadow:0 8px 16px #0006}.loading{text-align:center;color:#64748b;padding:60px;font-size:1.125rem}.dark .loading{color:#94a3b8}.error{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-radius:12px;margin-bottom:24px;padding:16px 20px;box-shadow:0 4px 12px #ef444433}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:640px;max-height:90vh;padding:32px;animation:.3s slideUp;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dark .modal-content{color:#f1f5f9;background:#1e293b;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.modal-content h3{color:#0f172a;margin-top:0;margin-bottom:24px;font-size:1.5rem;font-weight:700}.dark .modal-content h3{color:#f1f5f9}.form-group{margin-bottom:20px}.form-group label{color:#1e293b;margin-bottom:8px;font-size:.875rem;font-weight:500;display:block}.dark .form-group label{color:#cbd5e1}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.dark .form-group input,.dark .form-group select,.dark .form-group textarea{color:#f1f5f9;background:#0f172a;border-color:#475569}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.dark .form-group input:focus,.dark .form-group select:focus,.dark .form-group textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.form-group input[type=checkbox]{accent-color:#3b82f6;width:auto;margin-right:8px}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;display:grid}.modal-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:24px;display:flex}.dark .modal-actions{border-top-color:#334155}.detail-view{color:#334155}.dark .detail-view{color:#cbd5e1}.detail-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.detail-field strong{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600}.dark .detail-field strong{color:#94a3b8}.detail-field span{color:#0f172a;font-size:.9375rem}.dark .detail-field span{color:#e2e8f0}.detail-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:24px;display:grid}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.dark .login-container{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%)}.login-card{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:48px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.dark .login-card{background:#1e293b;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.login-card h2{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:32px}.dark .login-card h2{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dark .login-card,.dark .login-card h1,.dark .login-card h3,.dark .login-card p,.dark .login-card label{color:#e2e8f0}.dark .login-card input,.dark .login-card select,.dark .login-card textarea{color:#e2e8f0;background:#0f172a;border-color:#334155}.dark .login-card input::placeholder{color:#64748b}.dark .login-card input:focus,.dark .login-card select:focus,.dark .login-card textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.status-badge{border-radius:9999px;align-items:center;padding:6px 12px;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.status-badge:hover{transform:scale(1.05)}.status-draft{color:#64748b;background:#64748b26}.status-sent{color:#3b82f6;background:#3b82f626}.status-paid{color:#10b981;background:#10b98126}.status-cancelled{color:#ef4444;background:#ef444426}.empty-state{text-align:center;color:#64748b;padding:60px 20px}.dark .empty-state{color:#94a3b8}.empty-state-icon{opacity:.5;margin-bottom:20px;font-size:4rem}.empty-state h3{color:#475569;margin-bottom:8px;font-size:1.25rem}.dark .empty-state h3{color:#cbd5e1}.empty-state p{color:#94a3b8;margin-bottom:24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.page-header h2{margin-bottom:0}.page-header-actions{gap:12px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px;display:grid}.stat-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:24px;position:relative;overflow:hidden}.stat-card:before{content:"";background:#ffffff1a;border-radius:50%;width:100%;height:100%;position:absolute;top:-50%;right:-50%}.stat-card h3{opacity:.9;color:#fff;margin-bottom:8px;font-size:.875rem;font-weight:500}.stat-card .value{font-size:2rem;font-weight:700}.stat-card.green{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.stat-card.blue{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.stat-card.orange{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.stat-card.red{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}.dark ::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box content-box;border:2px solid #0000;border-radius:10px}.dark ::-webkit-scrollbar-thumb{background:#475569;border-color:#0000}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dark ::-webkit-scrollbar-thumb:hover{background:#64748b}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-content>*{animation:.3s ease-out fadeInUp}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:24px;right:24px}.toast{color:#fff;cursor:pointer;pointer-events:auto;border-radius:10px;align-items:center;gap:10px;max-width:420px;padding:14px 20px;font-size:.9375rem;font-weight:500;animation:.3s ease-out toastIn,.3s ease-in 3.7s forwards toastOut;display:flex;box-shadow:0 8px 24px #00000026}.toast-icon{flex-shrink:0;font-size:1.1rem}.toast-message{line-height:1.4}.toast-success{background:linear-gradient(135deg,#059669,#10b981)}.toast-error{background:linear-gradient(135deg,#dc2626,#ef4444)}.toast-warning{background:linear-gradient(135deg,#d97706,#f59e0b)}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}
