body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;padding:0 1rem;width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:768px){.navbar-brand{font-size:1.5rem}}.dashboard-container{padding:1rem}@media (min-width:768px){.dashboard-container{padding:2rem}}.dashboard-header{margin-bottom:1.5rem}.dashboard-title{font-size:1.5rem}@media (min-width:768px){.dashboard-title{font-size:2rem}}.dashboard-stats{grid-gap:1rem;gap:1rem;grid-template-columns:1fr;margin-bottom:1.5rem}@media (min-width:640px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}}.dashboard-recent-invoices{-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}@media (min-width:768px){.dashboard-recent-invoices{margin:0;padding:0}}.dashboard-recent-invoices table{min-width:100%}.dashboard-recent-invoices td,.dashboard-recent-invoices th{padding:.75rem .5rem;white-space:nowrap}@media (min-width:768px){.dashboard-recent-invoices td,.dashboard-recent-invoices th{padding:1rem}}.invoice-card{margin-bottom:1rem;padding:1.25rem}@media (min-width:768px){.invoice-card{margin-bottom:1.5rem;padding:2.5rem}}.invoice-container{margin:1rem auto;padding:1rem}@media (min-width:768px){.invoice-container{margin:2rem auto;padding:1.5rem}}.invoice-grid{grid-gap:1rem;gap:1rem}@media (min-width:768px){.invoice-grid{gap:1.5rem}}@media (min-width:1024px){.invoice-grid{gap:2rem;grid-template-columns:1fr 1fr}}.btn{font-size:.875rem;padding:.5rem 1rem}@media (min-width:768px){.btn{font-size:1rem;padding:.625rem 1.25rem}}.form-container{padding:1rem}@media (min-width:768px){.form-container{padding:2rem 1rem}}.form-section{margin-bottom:1rem;padding:1rem}@media (min-width:768px){.form-section{margin-bottom:2rem;padding:1.5rem}}.form-grid{grid-gap:1rem;gap:1rem}@media (min-width:768px){.form-grid{gap:1.25rem;grid-template-columns:1fr 1fr}}.auth-card{padding:1.5rem;width:90%}@media (min-width:640px){.auth-card{max-width:450px;padding:2.5rem}}.user-management-container{padding:1rem}@media (min-width:768px){.user-management-container{padding:2rem 1rem}}.auth-button,.btn,.form-input,.form-select,.navbar-mobile-link,.navbar-mobile-logout{min-height:4px}@media (max-width:640px){.dashboard-recent-invoices td:nth-child(4),.dashboard-recent-invoices th:nth-child(4),.invoices-table td:nth-child(4),.invoices-table th:nth-child(4){display:none}}@media (max-width:480px){.dashboard-recent-invoices td:nth-child(2),.dashboard-recent-invoices th:nth-child(2),.invoices-table td:nth-child(2),.invoices-table th:nth-child(2){display:none}}.modal{max-width:500px;padding:1.5rem;width:90%}@media (min-width:640px){.modal{padding:2rem}}.dashboard-invoice-status,.invoice-status,.status-badge{font-size:.75rem;padding:.25rem .5rem}@media (min-width:640px){.dashboard-invoice-status,.invoice-status,.status-badge{font-size:.875rem;padding:.375rem .75rem}}.action-btn,.dashboard-action-btn{font-size:.75rem;padding:.25rem .5rem}@media (min-width:640px){.action-btn,.dashboard-action-btn{font-size:.875rem;padding:.375rem .625rem}}@media (max-width:640px){.dashboard-title,.form-title,.invoice-title,.user-management-title{font-size:1.5rem}.dashboard-section-title,.form-section-title,.invoice-section-title{font-size:1.125rem}body{font-size:.875rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.invoice-card{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 20px -1px #0000001a,0 2px 10px -1px #0000000f;margin-bottom:1.5rem;padding:2.5rem;transition:box-shadow .3s ease}.invoice-card:hover{box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.invoice-container{background-color:#f9fafb;border-radius:.75rem;margin:2rem auto;max-width:1024px;min-height:calc(100vh - 4rem);padding:1.5rem}.invoice-header{border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;margin-bottom:2.5rem;padding-bottom:1.5rem}@media (min-width:768px){.invoice-header{align-items:flex-start;flex-direction:row;justify-content:space-between}}.invoice-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.invoice-date{color:#6b7280;font-size:1rem;margin-bottom:1.5rem}.invoice-actions{flex-wrap:wrap;margin-top:1rem}@media (min-width:768px){.invoice-actions{margin-top:0}}.status-badge{align-items:center;border-radius:9999px;box-shadow:0 1px 2px #0000000d;display:inline-flex;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;padding:.625rem 1.25rem}.status-badge-dot{border-radius:9999px;height:.75rem;margin-right:.5rem;width:.75rem}.status-paid{background-color:#ecfdf5}.status-paid-dot{background-color:#10b981}.status-pending{background-color:#fffbeb}.status-pending-dot{background-color:#f59e0b}.status-overdue{background-color:#fef2f2}.status-overdue-dot{background-color:#ef4444}.status-partial{background-color:#e0f2fe;color:#0369a1}.status-partial-dot{background-color:#0369a1}.btn{align-items:center;border:none;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;padding:.625rem 1.25rem;transition:all .2s ease}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-secondary{background-color:#4b5563;color:#fff}.btn-secondary:hover{background-color:#374151;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-icon{height:1.25rem;margin-right:.5rem;width:1.25rem}.invoice-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:1024px){.invoice-grid{grid-template-columns:1fr 1fr}}.invoice-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.invoice-section:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.invoice-section-title{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.invoice-details{margin-bottom:2.5rem}.invoice-detail-row{display:flex;margin-bottom:.5rem}.invoice-detail-label{font-weight:500;width:8rem}.invoice-notes{background-color:#f9fafb;border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.invoice-items{margin-top:1rem}.invoice-items-header{color:#4b5563;font-weight:500;padding:.5rem}.invoice-item,.invoice-items-header{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:6fr 2fr 3fr 1fr}.invoice-item{align-items:center;margin-bottom:.75rem}.invoice-total{font-size:1.25rem;font-weight:700;margin-top:1rem;text-align:right}.form-group{margin-bottom:1rem}.form-input{border:1px solid #d1d5db;border-radius:.375rem;outline:none;padding:.5rem .75rem;width:100%}.form-input:focus{ring:2px;ring-color:#3b82f6;outline:none}.form-textarea{border:1px solid #d1d5db;border-radius:.375rem;outline:none;padding:.5rem .75rem;width:100%}.form-textarea:focus{ring:2px;ring-color:#3b82f6;outline:none}.form-select{border:1px solid #d1d5db;border-radius:.375rem;outline:none;padding:.5rem .75rem;width:100%}.form-select:focus{ring:2px;ring-color:#3b82f6;outline:none}.form-footer{justify-content:space-between;padding-top:1rem}.loading-spinner{animation:spin 1s linear infinite;display:inline-block;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media print{.print\:hidden{display:none!important}.print\:mt-16{margin-top:4rem!important}.invoice-container{background-color:#fff;padding:0}.invoice-card{box-shadow:none;padding:0}@page{margin:1cm}}.auth-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-card{animation:auth-card-in .4s ease-out;background-color:#fff;border-radius:.75rem;box-shadow:0 10px 25px #0000001a;margin:0 auto;max-width:450px;padding:2.5rem;width:100%}@keyframes auth-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}}.auth-logo{margin-bottom:2rem;text-align:center}.auth-logo-badge{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:1rem;box-shadow:0 8px 20px -4px #2563eb80;color:#fff;display:flex;height:3.5rem;justify-content:center;margin:0 auto 1rem;width:3.5rem}.auth-logo-badge svg{height:1.75rem;width:1.75rem}.auth-logo-title{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0}.auth-logo-subtitle{color:#6b7280;font-size:.875rem;margin:.375rem 0 0}.auth-title{color:#1f2937;font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.auth-form{margin-top:1.5rem;width:100%}.auth-input-group{margin-bottom:1.25rem;width:100%}.auth-label{color:#4b5563;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;text-align:left}.auth-input{border:1px solid #d1d5db;border-radius:.5rem;box-sizing:border-box;font-size:1rem;padding:.75rem 1rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.auth-input-wrap{position:relative}.auth-input-wrap>svg{color:#9ca3af;height:1.125rem;left:.875rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color .15s ease;width:1.125rem}.auth-input-wrap:focus-within>svg{color:#3b82f6}.auth-input-wrap .auth-input{padding-left:2.5rem}.auth-input-wrap .auth-input.auth-input--password{padding-right:3rem}.auth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640;outline:none}.auth-password-toggle{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#9ca3af;cursor:pointer;display:flex;height:2.25rem;justify-content:center;padding:0;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .15s ease,background-color .15s ease;width:2.25rem}.auth-password-toggle:hover{background-color:#f3f4f6;color:#4b5563}.auth-password-toggle:focus{box-shadow:0 0 0 3px #3b82f640;outline:none}.auth-password-toggle svg{height:1.125rem;width:1.125rem}.auth-button{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}.auth-button:hover:not(:disabled){background-color:#1d4ed8;box-shadow:0 4px 8px -2px #2563eb66}.auth-button:active:not(:disabled){transform:translateY(1px)}.auth-button:disabled{background-color:#93c5fd;cursor:not-allowed}.auth-button-spinner{animation:spin .6s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:1rem;width:1rem}.auth-error{align-items:flex-start;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;color:#b91c1c;display:flex;font-size:.875rem;gap:.625rem;margin-bottom:1.5rem;padding:.75rem 1rem}.auth-error svg{flex-shrink:0;height:1.125rem;margin-top:.0625rem;width:1.125rem}.auth-warning{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:.5rem;color:#856404;font-size:.875rem;margin-bottom:1.5rem;padding:.75rem}.auth-link{color:#2563eb;font-weight:500;text-decoration:none;transition:color .15s ease}.auth-link:hover{color:#1d4ed8;text-decoration:underline}.auth-footer{color:#6b7280;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}@media (max-width:640px){.auth-card{padding:1.5rem;width:90%}}.dashboard-container{margin:0 auto;max-width:1200px;padding:2rem 1rem}.dashboard-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.dashboard-section-title{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.view-all-link{border-radius:.375rem;color:#2563eb;font-size:.875rem;font-weight:500;padding:.375rem .75rem;text-decoration:none;transition:all .2s ease}.view-all-link:hover{background-color:#eff6ff;color:#1d4ed8}.dashboard-header{margin-bottom:2rem}.dashboard-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.dashboard-subtitle{color:#6b7280}.dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2.5rem}.stat-card{background-color:#fff;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-5px)}.stat-title{color:#6b7280;font-size:1rem;font-weight:600;margin-bottom:.5rem}.stat-value{color:#1f2937;font-size:2rem;font-weight:700}.stat-paid{color:#10b981}.stat-pending{color:#f59e0b}.dashboard-empty-state{border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-top:1rem;padding:2rem;text-align:center}.dashboard-empty-state p{color:#6b7280;margin-bottom:1rem}.dashboard-empty-state a{color:#2563eb;font-weight:500;text-decoration:none;transition:color .2s ease}.dashboard-empty-state a:hover{color:#1d4ed8;text-decoration:underline}.not-found{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;justify-content:center;min-height:100vh;text-align:center}.not-found-code{color:#2563eb;font-size:8rem;font-weight:800;line-height:1;margin-bottom:1rem}.not-found-message{color:#4b5563;font-size:1.5rem;margin-bottom:2rem}.not-found-button{background-color:#2563eb;border-radius:.5rem;color:#fff;display:inline-block;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .15s ease}.navbar{background-color:#1e40af;box-shadow:0 2px 4px #0000001a}.navbar-container{margin:0 auto;max-width:1200px;padding:0 1rem}.navbar-content{align-items:center;display:flex;height:4rem;justify-content:space-between}.navbar-brand{font-size:1.5rem}.navbar-brand:hover{color:#ffffffe6}.navbar-menu-button{background-color:initial;padding:.5rem}.navbar-menu-button:hover{background-color:#ffffff1a}.navbar-links{align-items:center;display:flex;gap:1.5rem}.navbar-link{border-radius:.375rem;color:#fffc;padding:.5rem .75rem;transition:all .2s ease}.navbar-link:hover{background-color:#ffffff1a}.navbar-link.active{background-color:#ffffff26}.navbar-button{background-color:initial;border:none;border-radius:.375rem;color:#fffc;padding:.5rem .75rem;transition:all .2s ease}.navbar-button:hover{background-color:#ffffff1a}.navbar-mobile{background-color:#1e3a8a;border-top:1px solid #ffffff1a;box-shadow:0 4px 6px -1px #0000001a;left:0;right:0;top:4rem;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease;z-index:50}.navbar-mobile-link{border-radius:.375rem;color:#fffc;padding:.75rem 1rem;transition:all .2s ease}.navbar-mobile-link:hover{background-color:#ffffff1a;color:#fff}.navbar-mobile-logout{border-radius:.375rem;color:#fecaca;margin-top:.5rem;padding:.75rem 1rem;transition:all .2s ease}.navbar-mobile-logout:hover{background-color:#ef444433;color:#fff}@media (min-width:769px){.navbar-menu-button{display:none}.navbar-mobile{display:none!important}}.invoices-container{margin:0 auto;max-width:1200px;padding:2rem 1rem}.invoices-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.invoices-title{color:#1f2937;font-size:2rem;font-weight:700}.create-invoice-btn{align-items:center;background-color:#2563eb;border-radius:.5rem;color:#fff;display:inline-flex;font-weight:600;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .2s ease}.create-invoice-btn:hover{background-color:#1d4ed8}.create-invoice-btn svg{height:1.25rem;margin-right:.5rem;width:1.25rem}.invoices-table-container{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow-x:auto}.invoices-table{border-collapse:initial;border-spacing:0;width:100%}.invoices-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#4b5563;font-weight:600;padding:1rem;text-align:left}.invoices-table th:first-child{border-top-left-radius:.75rem}.invoices-table th:last-child{border-top-right-radius:.75rem}.invoices-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;padding:1rem}.invoices-table tr:last-child td{border-bottom:none}.invoices-table tr:last-child td:first-child{border-bottom-left-radius:.75rem}.invoices-table tr:last-child td:last-child{border-bottom-right-radius:.75rem}.invoices-table tr:hover{background-color:#f9fafb}.invoice-id{color:#2563eb}.invoice-amount,.invoice-id{font-weight:600}.invoice-status{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:500;padding:.375rem .75rem;text-transform:capitalize}.status-paid{background-color:#d1fae5;color:#065f46}.status-pending{background-color:#fef3c7;color:#92400e}.status-overdue{background-color:#fee2e2;color:#b91c1c}.invoice-actions{display:flex;gap:.75rem}.action-btn{align-items:center;border-radius:.375rem;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem .75rem;text-decoration:none;transition:background-color .2s ease}.view-btn{background-color:#e0f2fe;color:#0369a1}.view-btn:hover{background-color:#bae6fd}.edit-btn{background-color:#d1fae5;color:#047857}.edit-btn:hover{background-color:#a7f3d0}.delete-btn{background-color:#fee2e2;color:#b91c1c}.delete-btn:hover{background-color:#fecaca}.empty-state{background-color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:3rem 1rem;text-align:center}.empty-state-icon{color:#9ca3af;margin-bottom:1.5rem}.empty-state-text{color:#4b5563;font-size:1.125rem;margin-bottom:1.5rem}.empty-state-btn{align-items:center;background-color:#2563eb;border-radius:.5rem;color:#fff;display:inline-flex;font-weight:600;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .2s ease}.empty-state-btn:hover{background-color:#1d4ed8}.loading-container{align-items:center;display:flex;justify-content:center;min-height:300px}.loading-spinner{animation:spinner .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:3rem;width:3rem}@keyframes spinner{to{transform:rotate(1turn)}}@media (max-width:768px){.invoices-header{align-items:flex-start;flex-direction:column;gap:1rem}.invoices-table td:nth-child(4),.invoices-table th:nth-child(4){display:none}}@media (max-width:640px){.invoices-table td:nth-child(2),.invoices-table th:nth-child(2){display:none}}.form-container{padding:2rem 1rem}.form-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.form-section{margin-bottom:2rem;overflow:hidden}.form-section-title{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.75rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:.5rem}@media (min-width:768px){.form-grid{gap:2rem;grid-template-columns:1fr 1fr}}.form-grid-full{grid-column:1/-1}.form-group{margin-bottom:.5rem;position:relative}.form-input,.form-select,.form-textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;box-sizing:border-box;color:#1f2937;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640;outline:none}.form-textarea{min-height:100px;resize:vertical}.items-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.items-container{border:1px solid #e5e7eb;overflow:hidden}.items-grid-header{grid-gap:1rem;gap:1rem;grid-template-columns:1fr 80px 100px 40px;padding:.75rem 1rem}@media (min-width:640px){.items-grid-header{grid-template-columns:6fr 2fr 3fr 40px}}.item-row{grid-gap:1rem;border-bottom:1px solid #e5e7eb;gap:1rem;grid-template-columns:1fr 80px 100px 40px;padding:.75rem 1rem}@media (min-width:640px){.item-row{grid-template-columns:6fr 2fr 3fr 40px}}.item-row:last-child{border-bottom:none}.item-input{box-sizing:border-box;padding:.625rem .75rem}.item-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640;outline:none}.add-item-btn{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;color:#4b5563;font-weight:500;transition:all .2s ease}.add-item-btn:hover{background-color:#e5e7eb;color:#1f2937}.item-remove-btn{border:none;border-radius:.375rem;color:#b91c1c;font-size:16px;font-weight:700;height:36px;transition:all .2s ease;width:36px}.item-remove-btn:hover:not(:disabled){background-color:#fecaca}.item-remove-btn:disabled{opacity:.5}.items-total{color:#1f2937;font-size:1.25rem;font-weight:700;margin-top:1.5rem;padding-right:1rem;text-align:right}.logo-upload-container{margin-top:.5rem}.submit-btn:disabled{opacity:.7}@media (max-width:640px){.item-row,.items-grid{grid-template-columns:5fr 2fr 2fr 1fr}}.user-management-container{margin:0 auto;max-width:1200px;padding:2rem 1rem}.user-management-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:2rem}.user-table-container{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow-x:auto}.user-table{border-collapse:initial;border-spacing:0;width:100%}.user-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#4b5563;font-weight:600;padding:1rem;text-align:left}.user-table th:first-child{border-top-left-radius:.75rem}.user-table th:last-child{border-top-right-radius:.75rem}.user-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;padding:1rem}.user-table tr:last-child td{border-bottom:none}.user-table tr:last-child td:first-child{border-bottom-left-radius:.75rem}.user-table tr:last-child td:last-child{border-bottom-right-radius:.75rem}.user-table tr:hover{background-color:#f9fafb}.user-actions{display:flex;gap:.75rem}.user-action-btn{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem .75rem;text-decoration:none;transition:all .2s ease}.user-edit-btn{background-color:#3b82f6;color:#fff}.user-edit-btn:hover{background-color:#2563eb}.user-delete-btn{background-color:#ef4444;color:#fff}.user-delete-btn:hover{background-color:#dc2626}.user-save-btn{background-color:#10b981;color:#fff}.user-save-btn:hover{background-color:#059669}.user-role-badge{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.role-admin{background-color:#dbeafe;color:#1e40af}.role-user{background-color:#e0f2fe;color:#0369a1}.password-field{position:relative}.password-input{padding-right:2.5rem}.password-toggle{background:none;border:none;color:#6b7280;cursor:pointer;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:#4b5563}.add-user-btn{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;margin-bottom:1.5rem;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .2s ease}.add-user-btn:hover{background-color:#1d4ed8}.add-user-btn svg{height:1.25rem;margin-right:.5rem;width:1.25rem}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-title{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem}.modal-content{padding:1.5rem}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-btn{border-radius:.375rem;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.modal-btn-primary{background-color:#3b82f6;border:none;color:#fff}.modal-btn-primary:hover{background-color:#2563eb}.modal-btn-secondary{background-color:#fff;border:1px solid #d1d5db;color:#4b5563}.modal-btn-secondary:hover{background-color:#f9fafb}.modal-form-group{margin-bottom:1.5rem}.modal-label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.modal-input{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.5rem .75rem;width:100%}.modal-input:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.payment-method-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.payment-method-option{align-items:center;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;display:flex;padding:.75rem;transition:all .2s}.payment-method-option:hover{background-color:#f0f9ff;border-color:#3b82f6}.payment-method-option.selected{background-color:#eff6ff;border-color:#3b82f6}.payment-method-option-icon{color:#6b7280;margin-right:.5rem}.payment-method-option.selected .payment-method-option-icon{color:#3b82f6}.pdf-preview-container{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:1.5rem;padding:1.5rem}.pdf-preview-title{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.logo-upload-container{display:flex;flex-direction:column;gap:1rem}.logo-upload-btn{font-weight:500;padding:.75rem 1rem}.logo-preview{align-items:center;background-color:#f9fafb;display:flex;justify-content:center;max-width:100%;overflow:hidden}.logo-preview img{max-height:150px;max-width:100%;object-fit:contain}.dashboard-recent-invoices{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-top:1rem;overflow-x:auto}.dashboard-recent-invoices table{border-collapse:initial;border-spacing:0;width:100%}.dashboard-recent-invoices th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#4b5563;font-weight:600;padding:1rem;text-align:left}.dashboard-recent-invoices th:first-child{border-top-left-radius:.5rem}.dashboard-recent-invoices th:last-child{border-top-right-radius:.5rem}.dashboard-recent-invoices td{border-bottom:1px solid #e5e7eb;color:#1f2937;padding:1rem}.dashboard-recent-invoices tr:last-child td{border-bottom:none}.dashboard-recent-invoices tr:hover{background-color:#f9fafb}.dashboard-invoice-id{color:#2563eb;font-weight:600}.dashboard-invoice-amount{font-weight:600}.dashboard-invoice-status{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:500;padding:.375rem .75rem;text-transform:capitalize}.dashboard-invoice-actions{display:flex;gap:.75rem}.dashboard-action-btn{align-items:center;border-radius:.375rem;display:inline-flex;font-size:.875rem;font-weight:500;padding:.375rem .625rem;text-decoration:none;transition:background-color .2s ease}.dashboard-view-btn{background-color:#e0f2fe;color:#0369a1}.dashboard-view-btn:hover{background-color:#bae6fd}.dashboard-edit-btn{background-color:#f3f4f6;color:#4b5563}.dashboard-edit-btn:hover{background-color:#e5e7eb}.hamburger-container{align-items:center;display:flex;gap:6px}.hamburger-icon{display:flex;flex-direction:column;height:18px;justify-content:space-between;width:24px}.hamburger-line{transition:all .3s ease}.dropdown-indicator{color:#fff;display:inline-block;font-size:12px;transition:transform .3s ease}.dropdown-indicator.open{transform:rotate(180deg)}.hamburger-line.open:first-child{transform:translateY(8px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.navbar-menu-button{background-color:#ffffff1a;border:none;border-radius:.375rem;padding:.75rem}.navbar-menu-button:hover{background-color:#fff3}.form-input,.form-select,.form-textarea,.item-input{background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#1f2937;font-size:1rem;padding:.75rem 1rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease;width:100%;z-index:1}.form-input:focus,.form-select:focus,.form-textarea:focus,.item-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640;outline:none;z-index:2}.form-section{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.5rem;position:relative;z-index:1}.form-container{margin:0 auto;max-width:1024px;padding:1.5rem 1rem;position:relative;z-index:0}.item-row{grid-gap:.5rem;gap:.5rem;grid-template-columns:1fr 1fr 1fr 24px;padding:.5rem 0}@media (min-width:640px){.item-row{gap:1rem;grid-template-columns:6fr 2fr 3fr 24px;padding:.75rem .5rem}}.items-grid-header{grid-gap:.5rem;background-color:#f3f4f6;border-radius:.5rem .5rem 0 0;color:#4b5563;font-weight:500;gap:.5rem;grid-template-columns:1fr 1fr 1fr 24px;padding:.75rem .5rem}@media (min-width:640px){.items-grid-header{gap:1rem;grid-template-columns:6fr 2fr 3fr 24px}}.bg-gray-50{background-color:#f9fafb;border-radius:.5rem;margin-top:1rem;padding:1rem;position:relative;z-index:0}.form-label{color:#4b5563;display:block;font-weight:500;margin-bottom:.5rem;position:relative;z-index:1}@media (max-width:640px){.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.form-section{padding:1rem}.item-row,.items-grid-header{grid-template-columns:3fr 1fr 1fr 24px}}.items-container{background-color:#f9fafb;border-radius:.5rem}.pwa-install-prompt{border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;flex-direction:column;gap:1rem;margin:0 auto;max-width:500px;padding:1.25rem}@media (min-width:640px){.pwa-install-prompt{align-items:center;flex-direction:row;justify-content:space-between;left:50%;padding:1.5rem;transform:translateX(-50%);width:90%}}.pwa-install-prompt strong{color:#1f2937;display:block;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.pwa-install-prompt p{color:#4b5563;font-size:.875rem;margin:0}.pwa-install-prompt-buttons{display:flex;gap:.75rem;justify-content:flex-end}.pwa-install-prompt-accept,.pwa-install-prompt-decline{border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;min-height:44px;padding:.625rem 1.25rem;transition:all .2s ease}.pwa-install-prompt-accept{background-color:#2563eb;border:none;box-shadow:0 1px 2px #0000000d;color:#fff}.pwa-install-prompt-accept:hover{background-color:#1d4ed8;transform:translateY(-1px)}.pwa-install-prompt-decline{background-color:initial;border:1px solid #d1d5db;color:#4b5563}.pwa-install-prompt-decline:hover{background-color:#f3f4f6}.item-input{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.625rem .875rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}@media (min-width:768px){.item-input{font-size:1rem;padding:.75rem 1rem}}.logo-upload-container{position:relative;z-index:1}.logo-upload-btn{align-items:center;background-color:#f3f4f6;border:1px dashed #d1d5db;border-radius:.375rem;color:#4b5563;cursor:pointer;display:inline-flex;justify-content:center;padding:.5rem 1rem;transition:all .2s ease}.logo-upload-btn:hover{background-color:#e5e7eb;color:#1f2937}.logo-preview{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;margin-top:.75rem;padding:.5rem}.form-footer{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;position:relative;z-index:1}.submit-btn{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;min-height:44px;padding:.75rem 1.5rem;transition:background-color .2s ease}.submit-btn:hover:not(:disabled){background-color:#1d4ed8}.submit-btn:disabled{background-color:#93c5fd;cursor:not-allowed}.offline-notification{background-color:#f97316;color:#fff;font-weight:500;left:0;padding:.5rem;position:fixed;right:0;text-align:center;top:0;z-index:1000}.pwa-install-prompt{align-items:center;background-color:#fff;border-radius:.5rem;bottom:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;justify-content:space-between;left:1rem;padding:1rem;position:fixed;right:1rem;z-index:1000}.success-message{background-color:#d1fae5;border-left:4px solid #10b981;color:#065f46}.error-message,.success-message{border-radius:.375rem;margin-bottom:1.5rem;padding:1rem}.error-message{background-color:#fee2e2;border-left:4px solid #ef4444;color:#b91c1c}.invoice-payment-history{margin-bottom:2rem;margin-top:2rem}.payment-history-table{border-collapse:collapse;margin-top:1rem;width:100%}.payment-history-table td,.payment-history-table th{border-bottom:1px solid #e2e8f0;padding:.75rem;text-align:left}.payment-history-table th{background-color:#f8fafc;color:#64748b;font-size:.875rem;font-weight:600}.payment-history-table tr:hover{background-color:#f1f5f9}@media print{.payment-history-table th{background-color:#fff;color:#000}}body{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed}.navbar{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 1px 3px #00000014,0 10px 24px -10px #2563eb80;position:sticky;top:0;z-index:100}.navbar-brand{align-items:center;color:#fff;display:flex;font-size:1.25rem;font-weight:700;gap:.625rem;text-decoration:none;transition:opacity .15s ease}.navbar-brand:hover{color:#fff;opacity:.9}.navbar-brand-icon{align-items:center;background:#ffffff29;border-radius:.625rem;box-shadow:inset 0 0 0 1px #fff3;display:flex;height:2.25rem;justify-content:center;width:2.25rem}.navbar-brand-icon svg{height:1.25rem;width:1.25rem}.navbar-link{border-radius:.5rem;color:#ffffffd9;font-weight:500;padding:.5rem .875rem;text-decoration:none;transition:color .15s ease,background-color .15s ease}.navbar-link:hover{background-color:#ffffff1f;color:#fff}.navbar-link.active{background-color:#fff3;box-shadow:inset 0 0 0 1px #ffffff2e;color:#fff}.navbar-button{background-color:#ffffff14;border:1px solid #ffffff40;border-radius:.5rem;color:#ffffffe6;cursor:pointer;font-weight:500;padding:.5rem .875rem;transition:all .15s ease}.navbar-button:hover{background-color:#ef444440;border-color:#ef444473;color:#fff}.navbar-menu-button{align-items:center;background-color:#ffffff29;border:1px solid #fff3;border-radius:.75rem;color:#fff;cursor:pointer;display:flex;height:2.75rem;justify-content:center;padding:0;transition:background-color .15s ease,transform .15s ease;width:2.75rem}.navbar-menu-button.open,.navbar-menu-button:hover{background-color:#ffffff42}.navbar-menu-button:active{transform:scale(.94)}.navbar-menu-button:focus-visible{box-shadow:0 0 0 3px #fff6;outline:none}.hamburger-icon{height:14px;position:relative;width:20px}.hamburger-line{background-color:#fff;border-radius:2px;display:block;height:2px;left:0;position:absolute;transition:top .25s ease,transform .25s ease,opacity .2s ease;width:100%}.hamburger-line:first-child{top:0}.hamburger-line:nth-child(2){top:6px}.hamburger-line:nth-child(3){top:12px}.navbar-menu-button.open .hamburger-line:first-child{top:6px;transform:rotate(45deg)}.navbar-menu-button.open .hamburger-line:nth-child(2){opacity:0}.navbar-menu-button.open .hamburger-line:nth-child(3){top:6px;transform:rotate(-45deg)}.navbar-mobile{border-radius:.75rem;box-shadow:0 20px 40px -12px #1e293b4d;display:none;left:.75rem;opacity:0;padding:.5rem;right:.75rem;top:calc(100% + .5rem);transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease;z-index:90}.navbar-mobile,.navbar-mobile:before{background-color:#fff;position:absolute}.navbar-mobile:before{border-top-left-radius:2px;box-shadow:-2px -2px 4px #1e293b0f;content:"";height:12px;right:2rem;top:-6px;transform:rotate(45deg);width:12px}.navbar-mobile.open{display:block;opacity:1;transform:translateY(0)}.navbar-mobile-link{border-radius:.5rem;box-sizing:border-box;color:#374151;display:block;font-size:1rem;font-weight:500;opacity:0;padding:.75rem .875rem;text-align:left;text-decoration:none;transform:translateY(-4px);transition:background-color .15s ease,color .15s ease,opacity .2s ease,transform .2s ease;width:100%}.navbar-mobile.open .navbar-mobile-link{opacity:1;transform:translateY(0)}.navbar-mobile.open .navbar-mobile-link:first-child{transition-delay:.05s}.navbar-mobile.open .navbar-mobile-link:nth-child(2){transition-delay:.08s}.navbar-mobile.open .navbar-mobile-link:nth-child(3){transition-delay:.11s}.navbar-mobile.open .navbar-mobile-link:nth-child(4){transition-delay:.14s}.navbar-mobile.open .navbar-mobile-link:nth-child(5){transition-delay:.17s}.navbar-mobile-link.active,.navbar-mobile-link:hover{background-color:#eff6ff;color:#1d4ed8}.navbar-mobile-logout{background-color:initial;border:none;border-radius:.5rem;border-top:1px solid #f3f4f6;box-sizing:border-box;color:#dc2626;cursor:pointer;display:block;font-size:1rem;font-weight:500;margin-top:.25rem;opacity:0;padding:.75rem .875rem;text-align:left;transform:translateY(-4px);transition:background-color .15s ease,color .15s ease,opacity .2s ease,transform .2s ease;width:100%}.navbar-mobile.open .navbar-mobile-logout{opacity:1;transform:translateY(0);transition-delay:.2s}.navbar-mobile-logout:hover{background-color:#fef2f2;color:#b91c1c}@media (max-width:768px){.navbar-links{display:none}.navbar-menu-button{display:flex}}@media (min-width:769px){.navbar-menu-button,.navbar-mobile{display:none!important}}.dashboard-container{background:#0000}.stat-card{border:1px solid #fff9;border-radius:.75rem;box-shadow:0 10px 25px #00000014}.stat-card-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.stat-card-icon{align-items:center;border-radius:.75rem;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.stat-card-icon svg{height:1.25rem;width:1.25rem}.stat-card-icon-blue{background-color:#eff6ff;color:#2563eb}.stat-card-icon-amber{background-color:#fffbeb;color:#f59e0b}.stat-card-icon-green{background-color:#ecfdf5;color:#10b981}.stat-title{margin-bottom:0}.dashboard-panel{background-color:#fff;border:1px solid #fff9;border-radius:.75rem;box-shadow:0 10px 25px #00000014;padding:1.25rem}.dashboard-section-header{border-bottom:1px solid #e5e7eb;margin-bottom:.5rem;padding-bottom:.75rem}.dashboard-empty-state{background-color:#fff;border:1px dashed #d1d5db;border-radius:.5rem;box-shadow:none}@media (prefers-reduced-motion:reduce){.navbar-mobile{transition:none}}.items-container{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.5rem;padding:.75rem;position:relative;z-index:1}.items-grid-header{grid-gap:.75rem;background:#0000;border-radius:0;color:#6b7280;display:grid;font-size:.6875rem;font-weight:600;gap:.75rem;grid-template-columns:minmax(0,1fr) 110px 130px 130px 44px;letter-spacing:.06em;padding:.25rem .75rem 0;position:relative;text-transform:uppercase;z-index:1}.items-grid-header .text-right{text-align:right}.item-row{grid-gap:.75rem;align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:.625rem;box-shadow:0 1px 2px #0000000a;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) 110px 130px 130px 44px;padding:.625rem .75rem;position:relative;transition:border-color .15s ease,box-shadow .15s ease;z-index:1}.item-row:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.item-input{min-width:0}.item-amount{font-feature-settings:"tnum";color:#1f2937;font-variant-numeric:tabular-nums;font-weight:600;padding-right:.25rem;text-align:right;white-space:nowrap}.item-remove-btn{align-items:center;background-color:#fee2e2;border:1px solid #fecaca;border-radius:9999px;color:#dc2626;cursor:pointer;display:flex;height:2.25rem;justify-content:center;margin:0 auto;padding:0;touch-action:manipulation;transition:all .15s ease;width:2.25rem}.item-remove-btn svg{height:1rem;width:1rem}.item-remove-btn:hover:not(:disabled){background-color:#ef4444;border-color:#ef4444;box-shadow:0 4px 8px -2px #ef444466;color:#fff}.item-remove-btn:disabled{cursor:not-allowed;opacity:.4}.add-item-btn{align-items:center;background-color:#eff6ff;border:1px dashed #93c5fd;border-radius:.5rem;color:#2563eb;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;min-height:44px;padding:.5rem 1rem;transition:all .15s ease}.add-item-btn:hover{background-color:#2563eb;border-color:#2563eb;box-shadow:0 4px 8px -2px #2563eb66;color:#fff}.items-total{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:.75rem;margin-left:auto;margin-top:1rem;max-width:340px;padding:1rem 1.25rem;position:relative;width:100%;z-index:1}.items-total-row{color:#4b5563;display:flex;font-size:.9375rem;justify-content:space-between;padding:.3rem 0}.items-total-row--grand{border-top:1px solid #d1d5db;color:#1f2937;font-size:1.125rem;font-weight:700;margin-top:.5rem;padding-top:.75rem}.items-total-row--grand span:last-child{color:#2563eb}@media (max-width:640px){.items-grid-header{display:none}.item-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr;padding:2.75rem .75rem .75rem}.item-input--description{grid-column:1/-1;padding-right:2.5rem}.item-remove-btn{margin:0;position:absolute;right:.75rem;top:.75rem}.items-total{max-width:100%}}.form-container,.invoice-container,.invoices-container,.user-management-container{background:#0000}.form-section,.invoices-table-container,.pdf-preview-container,.user-table-container{border:1px solid #fff9;box-shadow:0 10px 25px #00000014}.invoice-section{background-color:#f8fafc;border:1px solid #e2e8f0}.invoice-section,.pdf-preview-container{border-radius:.75rem}.dashboard-title,.form-title,.invoices-title,.user-management-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#60a5fa);-webkit-background-clip:text;background-clip:text}.form-section-title,.invoice-section-title,.pdf-preview-title{border-left:4px solid #2563eb;padding-left:.75rem}.empty-state{border:1px dashed #d1d5db;border-radius:.75rem;box-shadow:none}.empty-state-icon svg{color:#93c5fd}.btn-primary:hover,.create-invoice-btn:hover,.empty-state-btn:hover,.modal-btn-primary:hover,.pwa-install-prompt-accept:hover,.submit-btn:hover:not(:disabled),.user-edit-btn:hover{box-shadow:0 4px 8px -2px #2563eb66;transform:translateY(-1px)}.modal-overlay{animation:modal-fade-in .15s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#1e293b80}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-container{animation:modal-pop-in .18s ease-out;border-radius:.75rem;box-shadow:0 25px 50px -12px #1e293b73}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{align-items:center;display:inline-flex}.modal-title:before{background:linear-gradient(180deg,#2563eb,#60a5fa);border-radius:999px;content:"";display:inline-block;height:1.25rem;margin-right:.625rem;width:4px}.modal-close-btn{align-items:center;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2rem;justify-content:center;line-height:1;transition:background-color .15s ease,color .15s ease;width:2rem}.modal-close-btn:hover{background-color:#f3f4f6;color:#1f2937}.modal-btn{align-items:center;border-radius:.5rem;display:inline-flex;justify-content:center;min-height:44px;padding:.625rem 1.125rem;transition:background-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.modal-btn-primary{background-color:#2563eb}.modal-btn-primary:hover{background-color:#1d4ed8}.modal-btn-secondary:hover{background-color:#f3f4f6}.modal-input{border-radius:.5rem;padding:.75rem 1rem}.modal-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.payment-method-option{border-radius:.625rem}.payment-method-option.selected{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f626}.payment-method-option.selected .payment-method-option-icon{color:#2563eb}.user-action-btn{border-radius:.5rem;min-height:44px}.user-edit-btn{background-color:#2563eb}.user-edit-btn:hover{background-color:#1d4ed8}.not-found{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.not-found-code{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#60a5fa);-webkit-background-clip:text;background-clip:text}.not-found-button{align-items:center;box-shadow:0 1px 3px #0000001a;display:inline-flex;gap:.5rem;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.not-found-button:hover{background-color:#1d4ed8;box-shadow:0 8px 16px -4px #2563eb80;transform:translateY(-1px)}.install-guide{margin:0 auto;max-width:820px;padding:2rem 1rem}.install-guide .form-title{text-align:left}.install-card{background-color:#fff;border:1px solid #fff9;border-radius:.75rem;box-shadow:0 10px 25px #00000014;padding:1.5rem}.install-card,.install-subsection{margin-bottom:1.25rem}.install-subtitle{color:#374151;font-size:1rem;font-weight:600;margin-bottom:.5rem}.install-list{margin:.5rem 0;padding-left:1.5rem}.install-list li{color:#4b5563;line-height:1.5;margin-bottom:.5rem}.install-list li::marker{color:#2563eb}.install-step-badge{align-items:center;background-color:#eff6ff;border-radius:.375rem;color:#2563eb;display:inline-flex;font-weight:700;height:1.5rem;justify-content:center;margin:0 .25rem;vertical-align:middle;width:1.5rem}.install-text{color:#4b5563;line-height:1.5;margin-bottom:1rem}.install-back{margin-top:1.5rem}@media (prefers-reduced-motion:reduce){.modal-container,.modal-overlay{animation:none}}@media (max-width:640px){.dashboard-recent-invoices table,.dashboard-recent-invoices table tbody,.invoices-table,.invoices-table tbody,.payment-history-table,.payment-history-table tbody,.user-table,.user-table tbody{display:block;width:100%}.dashboard-recent-invoices thead,.invoices-table thead,.payment-history-table thead,.user-table thead{display:none}.dashboard-recent-invoices tr,.invoices-table tr,.payment-history-table tr,.user-table tr{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px #0000000a;display:block;margin-bottom:.75rem;padding:.5rem .875rem}.dashboard-recent-invoices td,.invoices-table td,.payment-history-table td,.user-table td{align-items:center;border:none;display:flex;gap:.75rem;justify-content:space-between;padding:.45rem 0;text-align:right;white-space:normal}.dashboard-recent-invoices td:nth-child(2),.dashboard-recent-invoices td:nth-child(4),.invoices-table td:nth-child(2),.invoices-table td:nth-child(4){display:flex}.dashboard-recent-invoices td:before,.invoices-table td:before,.payment-history-table td:before,.user-table td:before{color:#6b7280;content:attr(data-label);flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}.responsive-actions-cell{border-top:1px solid #f3f4f6;justify-content:flex-end!important;margin-top:.25rem;padding-top:.75rem!important}.responsive-actions-cell:before{display:none}.dashboard-invoice-actions,.invoice-actions,.user-actions{flex-wrap:wrap}.user-table td .form-input,.user-table td .form-select,.user-table td .password-field{flex:1 1;min-width:0;width:auto}.user-table td .password-field{display:flex}.user-table td .password-field .form-input{flex:1 1;min-width:0}.user-actions{margin-left:auto}}@media (max-width:480px){.form-container,.install-guide,.invoice-container,.invoices-container,.user-management-container{padding-left:.875rem;padding-right:.875rem}.create-invoice-btn{justify-content:center;width:100%}.items-header{align-items:stretch;flex-direction:column}.add-item-btn{width:100%}.form-footer{flex-direction:column;gap:.75rem}.form-footer .btn,.form-footer .submit-btn{margin:0;width:100%}.invoice-actions .btn{flex:1 1;min-width:120px}.items-total{padding:.875rem 1rem}.modal-container{max-width:94vw}.modal-content{padding:1.25rem}.modal-footer{flex-direction:column-reverse}.modal-footer .modal-btn{width:100%}.payment-method-options{grid-template-columns:1fr}}body,html{max-width:100%;overflow-x:hidden}*,:after,:before{box-sizing:border-box}img{max-width:100%}.dashboard-invoice-id,.invoice-detail-row,.invoice-item,.invoice-items-header,.item-row>*,.navbar-brand,.to-from{min-width:0}.dashboard-invoice-status,.invoice-detail-row,.invoice-item>div,.invoice-notes,.invoice-status,.items-total-row,.items-total-row span,.status-badge{overflow-wrap:anywhere;word-break:break-word}.invoice-header,.invoices-header{flex-wrap:wrap}@media (max-width:640px){.dashboard-recent-invoices{margin:0;overflow:visible;padding:0}.dashboard-recent-invoices table{min-width:100%}}.stat-card-icon-red{background-color:#fef2f2;color:#dc2626}.stat-overdue{color:#dc2626}.action-btn.duplicate-btn{background-color:#eef2ff;border:none;color:#4f46e5;cursor:pointer;font-family:inherit;font-weight:500}.action-btn.duplicate-btn:hover{background-color:#e0e7ff}.action-btn.duplicate-btn:disabled{cursor:default;opacity:.6}.filter-banner{align-items:center;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;color:#1e40af;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;justify-content:space-between;margin-bottom:1rem;padding:.625rem .875rem}.filter-banner-clear{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.8125rem;font-weight:600;text-decoration:underline}.filter-banner-clear:hover{color:#1d4ed8}.client-name{color:#1f2937;font-weight:600}.dashboard-analytics-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr;margin-bottom:1.25rem}@media (min-width:1024px){.dashboard-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-analytics-grid .dashboard-panel{margin-bottom:0}.dashboard-chart{align-items:flex-end;display:flex;gap:.5rem;height:12rem;padding-top:1rem}.dashboard-chart-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.375rem;height:100%;min-width:0}.dashboard-chart-track{align-items:flex-end;background-color:#f3f4f6;border-radius:.375rem;display:flex;flex:1 1;overflow:hidden;width:100%}.dashboard-chart-bar{background:linear-gradient(180deg,#60a5fa,#2563eb);border-radius:.375rem .375rem 0 0;min-height:2px;transition:height .3s ease;width:100%}.dashboard-chart-label{color:#6b7280;font-size:.6875rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.dashboard-aging{display:flex;flex-direction:column;gap:.5rem}.dashboard-aging-row{align-items:center;background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;display:flex;font-size:.875rem;justify-content:space-between;padding:.625rem .75rem}.dashboard-aging-row strong{font-feature-settings:"tnum";color:#dc2626;font-variant-numeric:tabular-nums}.dashboard-top-clients{display:flex;flex-direction:column;gap:.5rem}.dashboard-top-client-row{align-items:center;background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:.75rem;padding:.625rem .75rem}.dashboard-top-client-rank{align-items:center;background-color:#eff6ff;border-radius:9999px;color:#2563eb;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.5rem;justify-content:center;width:1.5rem}.dashboard-top-client-name{color:#1f2937;flex:1 1;font-size:.875rem;font-weight:500;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.dashboard-top-client-name:hover{color:#2563eb;text-decoration:underline}.dashboard-top-client-row strong{font-feature-settings:"tnum";font-size:.875rem;font-variant-numeric:tabular-nums}.form-checkbox{align-items:center;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem;-webkit-user-select:none;user-select:none}.form-checkbox-input{accent-color:#2563eb;cursor:pointer;height:1rem;width:1rem}.form-checkbox-input:disabled+span,.form-checkbox:has(.form-checkbox-input:disabled){cursor:not-allowed;opacity:.55}.modal-textarea{font-family:inherit;min-height:4rem;resize:vertical}
/*# sourceMappingURL=main.16fb70a1.css.map*/