@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap);*,:after,:before{box-sizing:border-box}html{min-width:1200px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Open Sans,-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{font-family:Open Sans,Arial,sans-serif;margin-top:50px;text-align:center}.heading{font-size:24px;margin-bottom:20px}.form{display:inline-block;text-align:left;width:300px}.modern-form{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:400px}.input-group{margin-bottom:15px}.label{color:#333;display:block;margin-bottom:5px}.input,.label{font-size:14px}.input{border:1px solid #ccc;border-radius:5px;padding:10px;width:100%}.checkbox-container{align-items:center;display:flex;margin-top:10px}.checkbox{margin-right:5px;width:auto}.checkbox-label{color:#555;font-size:12px}.minimizable-container .button{background-color:#007bff;border:none;border-radius:6px;box-shadow:0 2px 6px #007bff33;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:500;margin:8px auto 0;max-width:250px;padding:8px;transition:background-color .2s,transform .1s;width:100%}.minimizable-container .button:hover:not(:disabled){background-color:#0069d9;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.minimizable-container .button:disabled{background-color:#ccc;box-shadow:none;color:#666;cursor:not-allowed;transform:none}.minimizable-container .button.danger{background-color:#f44336;box-shadow:0 2px 6px #f4433633}.minimizable-container .button.danger:hover:not(:disabled){background-color:#d32f2f;box-shadow:0 4px 12px #f443364d}.button:hover{background-color:#0056b3}.button.danger{background-color:#f44336}.button.danger:hover{background-color:#d32f2f}.button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.error{color:red;margin-top:10px}.link-text{font-size:14px;margin-top:20px}.link{color:#007bff;cursor:pointer;text-decoration:underline}.form-row{display:flex;flex-direction:column;gap:6px;margin:0 auto;max-width:500px}.horizontal-fields-row .form-row{margin:0;max-width:none}@media (max-width:768px){.modern-table td,.modern-table th{font-size:14px;padding:6px 8px}.payment-details-results-box{padding:20px 16px 18px}}.modern-form label{color:#333;font-size:14px;font-weight:500}.modern-form .role-dropdown{-webkit-appearance:none;appearance:none;background:#f8fafc;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:15px;max-width:100%;min-width:100%;padding:10px;transition:border .2s;width:100%}.modern-form .role-dropdown:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.modern-form .input,.modern-form input,.modern-form select{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:15px;max-width:100%;min-width:100%;padding:10px;transition:border .2s;width:100%}.modern-form .input:focus,.modern-form input:focus,.modern-form select:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.modern-form select{box-sizing:border-box!important;max-width:100%!important;min-width:100%!important;width:100%!important}.uniform-form-element{align-items:center;background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;display:flex;font-size:15px;max-width:100%;min-height:42px;min-width:100%;padding:10px;transition:border .2s;width:100%}.uniform-form-element:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.dashboard-root{background:linear-gradient(120deg,#f5f7fa,#c3cfe2);font-family:Open Sans,Arial,sans-serif;min-height:100vh}.dashboard-loading{color:#007bff;font-size:1.2rem;letter-spacing:1px;margin-top:50px;text-align:center}.dashboard-navbar{background:#007bfff2;border-bottom-left-radius:18px;border-bottom-right-radius:18px;box-shadow:0 4px 16px #00000012;height:64px;justify-content:space-between;padding:0 40px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dashboard-navbar-options{align-items:center;gap:24px;margin:0;padding:0}.dashboard-navbar-option{border-radius:7px;color:#f4f5f7;font-size:1rem;font-weight:500;padding:7px 24px;transition:background .15s,color .15s}.dashboard-navbar-option:hover{background:#1f4777;color:#c3d4e6}.dashboard-title{font-size:22px;font-weight:700;letter-spacing:1.5px;text-shadow:0 2px 8px #00000014}.dashboard-logout-btn{background:linear-gradient(90deg,#007bff,#0056b3);border:none;border-radius:6px;box-shadow:0 2px 8px #007bff14;font-size:15px;font-weight:600;padding:9px 26px;transition:background .2s}.dashboard-logout-btn:hover{background:linear-gradient(90deg,#0056b3,#007bff)}.dashboard-main{align-items:stretch;background:#0000;display:flex;min-height:calc(100vh - 64px);width:100%}.dashboard-root .dashboard-main{padding-left:274px}.dashboard-sidebar{background:#fffffff2;border-right:1.5px solid #e3e8ee;box-shadow:2px 0 12px #00000008;display:flex;flex-direction:column;gap:8px;height:calc(100vh - 64px);left:0;padding:36px 0;position:fixed;top:64px;width:250px;z-index:2}.dashboard-sidebar-list{list-style:none;margin:0;padding:0}.dashboard-sidebar-item{background:#0000;border-left:4px solid #0000;border-radius:0;color:#222;cursor:pointer;font-size:1rem;font-weight:400;margin:6px 0;padding:14px 36px;transition:all .18s}.dashboard-sidebar-item.selected,.dashboard-sidebar-item:hover{background:linear-gradient(90deg,#e3f0ff,#f5f7fa);border-left:4px solid #007bff;border-radius:0 18px 18px 0;box-shadow:0 2px 8px #007bff0f;color:#007bff;font-weight:600}.dashboard-content{align-items:stretch;background:#0000;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;min-height:100%;overflow-y:auto;padding:32px 24px;width:100%}.dashboard-section-title{color:#007bff;font-size:1.6rem;letter-spacing:.5px;margin-bottom:24px;text-shadow:0 2px 8px #007bff12}.dashboard-content-box-modify{align-items:center;display:flex;justify-content:center}.dashboard-content-box-modify,.view-data-content-box{background:#fffffffa;border-radius:14px;box-shadow:0 4px 24px #00000012;margin:0 auto;max-width:1400px;min-height:320px;min-width:320px;padding:36px 32px;width:100%}.view-data-content-box{overflow-x:auto}.minimizable-container,.view-data-content-box .minimizable-component,.view-data-content-box .minimizable-section,.view-data-content-box>.minimizable-section{min-width:0}.dashboard-placeholder{color:#888;font-size:18px;text-align:center}.auth-bg{align-items:center;background:linear-gradient(120deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;width:100vw}.auth-card{background:#fffffff7;border-radius:16px;box-shadow:0 4px 32px #00000014;margin:32px 0;max-width:380px;min-width:320px;padding:40px 32px;width:100%}.success{color:#218838;font-weight:500;margin-top:10px;text-align:center}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.minimizable-section{display:flex;flex-direction:column;gap:15px;padding:15px 0;width:100%}.view-data-content-box .minimizable-section{align-items:center;width:100%}.minimizable-container{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 1px 4px #0000000d;transition:box-shadow .2s ease;width:100%}.minimizable-container:hover{box-shadow:0 2px 8px #0000001a}.minimizable-header{align-items:center;background:linear-gradient(180deg,#f8f9fa,#e9ecef);border-bottom:1px solid #ddd;border-radius:8px 8px 0 0;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem 1rem}.minimize-btn{align-items:center;border-radius:4px;color:#495057;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:transform .2s ease;width:32px}.minimize-btn:hover{background:#0000000d;transform:scale(1.1)}.minimize-btn{background:none;border:none;cursor:pointer;padding:5px}.minimizable-content{border-radius:0 0 8px 8px;padding:.75rem;transition:all .3s ease}.minimizable-content.minimized{height:0;overflow:hidden;padding:0 1rem}.modern-table{border-collapse:collapse;margin-top:16px;white-space:nowrap;width:100%}.modern-table td,.modern-table th{border:1px solid #e3e8ee;padding:8px 12px;text-align:left}.modern-table th{background:#f5f7fa;position:-webkit-sticky;position:sticky;top:0}.error-message{margin-top:12px}.no-entries-box{background:#f5f7fa;border:1.5px solid #e3e8ee;border-radius:8px;box-shadow:0 2px 8px #0000000a;color:#555;font-size:1.08rem;padding:18px 24px}.payment-details-results-box{background:#f8fafc;box-shadow:0 2px 12px #0000000a}.remarks-modal-overlay{align-items:center;background:#0000002e;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.remarks-modal{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;max-height:90vh;max-width:90vw;min-width:340px;overflow-y:auto;padding:28px 32px 22px;position:relative;text-align:center}.remarks-modal-header{align-items:center;display:flex;font-weight:700;justify-content:space-between;margin-bottom:12px}.close-modal-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.5em}.remarks-modal-content{color:#333;font-size:1.08em;margin-bottom:8px;word-break:break-word}.quick-actions-container{margin-top:48px}.welcome-message{color:#2d3748;font-size:2.2rem;font-weight:700;margin-bottom:40px;text-align:center}.quick-actions-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);max-width:90vw;width:420px}.quick-action-btn{align-items:center;background:#f5f7fa;border:none;border-radius:18px;box-shadow:0 2px 12px #00000012;cursor:pointer;display:flex;flex-direction:column;font-size:1.25rem;font-weight:600;justify-content:center;min-height:140px;min-width:160px;outline:none;padding:36px 0 28px;transition:background .18s,box-shadow .18s,transform .12s}.quick-action-btn:hover{background:#e3e8ee;box-shadow:0 4px 18px #00000021;transform:translateY(-2px) scale(1.03)}.quick-action-icon{color:#007bff;margin-bottom:18px}.quick-action-btn.input .quick-action-icon{color:#007bff}.quick-action-btn.view .quick-action-icon{color:#38a169}.quick-action-btn.update .quick-action-icon{color:#f6ad55}.quick-action-btn.delete .quick-action-icon{color:#e53e3e}.quick-action-btn.bill .quick-action-icon{color:#805ad5}.quick-action-btn.history .quick-action-icon{color:#319795}.quick-action-btn.latestbill .quick-action-icon{color:#d69e2e}.quick-action-label{font-size:1.18rem;letter-spacing:.5px}@media (max-width:600px){.quick-actions-grid{gap:18px;grid-template-columns:1fr;grid-template-rows:repeat(6,1fr);width:98vw}}.dashboard-home-btn{background:#f5f7fa;border:1.5px solid #e3e8ee;border-radius:7px;color:#007bff;cursor:pointer;font-size:1rem;font-weight:500;margin-right:8px;padding:7px 18px;transition:background .15s,color .15s}.dashboard-home-btn:hover{background:#e3e8ee;color:#0056b3}.loading-register-search-container{background:#fff;border-radius:14px;box-shadow:0 4px 24px #00000012;box-sizing:border-box;margin:36px auto 0;max-width:1400px;padding:32px 32px 28px;width:100%}.loading-register-title{color:#2d3748;font-size:1.7rem;font-weight:700;margin-bottom:28px;text-align:left}.loading-register-search-form{background:#0000;box-shadow:none;display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:700px}.loading-register-form-row{align-items:stretch;display:flex;flex-direction:row;gap:40px;justify-content:center;width:100%}.loading-register-left{gap:18px}.loading-register-left,.loading-register-middle{display:flex;flex:1 1;flex-direction:column;max-width:340px;min-width:220px}.loading-register-middle{align-items:center;justify-content:center}.lr-number-wrapper{display:flex;flex-direction:column;height:100%;justify-content:center;min-height:0;width:100%}.loading-register-left .form-row,.loading-register-middle .form-row{display:flex;flex-direction:column;gap:6px;margin:0;width:100%}.loading-register-btn-row{align-items:center;display:flex;justify-content:center;margin-top:32px;width:100%}.horizontal-fields-row{display:flex;flex-direction:row;gap:24px;justify-content:space-between;margin-top:18px}.horizontal-fields-row .form-row{flex:1 1;min-width:0}.horizontal-fields-row .form-row label{margin-bottom:4px}.horizontal-fields-row .form-row input{box-sizing:border-box;width:100%}@media (max-width:768px){.horizontal-fields-row{flex-direction:column;gap:0;margin-top:12px}.horizontal-fields-row .form-row{flex:none}.modern-table td,.modern-table th{font-size:14px;padding:6px 8px}.payment-details-results-box{padding:20px 16px 18px}.minimizable-container .horizontal-fields-row{flex-direction:column;gap:0;margin-top:12px}.minimizable-container .horizontal-fields-row .form-row{flex:none;margin-bottom:15px}}@media (max-width:700px){.loading-register-form-row{flex-direction:column;gap:0}.loading-register-left,.loading-register-middle{max-width:100%;min-width:0;width:100%}.lr-number-wrapper{margin-bottom:0;margin-top:18px;min-height:0;min-height:auto}.loading-register-btn-row{margin-top:24px}}.date-input-wrapper{align-items:center;display:flex;position:relative}.date-input-wrapper input[type=text]{padding-right:36px}.calendar-btn{align-items:center;background:none;border:none;color:#007bff;cursor:pointer;display:flex;font-size:1.2em;padding:0 4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:2}.calendar-btn:focus-within,.calendar-btn:hover{color:#0056b3;cursor:pointer}.calendar-overlay-input{border:none;cursor:pointer;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:3}.modal-overlay{align-items:center;background:#0000002e;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-popup{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000002e;max-height:90vh;max-width:90vw;min-width:340px;overflow-y:auto;padding:28px 32px 22px;position:relative;text-align:center}.modal-close-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.5em;position:absolute;right:16px;top:10px}.modal-message{color:#b71c1c;font-size:1.08em;font-weight:500;margin-bottom:18px}.modal-timer-bar{background:#ffeaea;border-radius:3px;height:6px;overflow:hidden;width:100%}.modal-timer-bar-inner{background:#f44336;height:100%;transition:width .05s linear}.toast-message{animation:fadeInOutToast 2.5s;background:#e6ffed;border:1px solid #b7eb8f;border-radius:8px;bottom:40px;box-shadow:0 4px 24px #00000021;color:#218838;font-size:1.1rem;font-weight:600;left:50%;padding:14px 32px;position:fixed;transform:translateX(-50%);z-index:99999}@keyframes fadeInOutToast{0%{opacity:0;transform:translateX(-50%) translateY(20px)}10%{opacity:1;transform:translateX(-50%) translateY(0)}25%{transform:translateX(-50%) translateY(0)}35%{transform:translateX(-50%) translateY(-5px)}45%{transform:translateX(-50%) translateY(0)}55%{transform:translateX(-50%) translateY(-3px)}65%{transform:translateX(-50%) translateY(0)}85%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(20px)}}.dashboard-modal-overlay{align-items:center;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.dashboard-modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;height:85vh;max-width:1200px;overflow:auto;padding:0;position:relative;width:90vw}.modal-header{align-items:center;display:flex;font-size:1.2em;font-weight:600;justify-content:space-between;margin-bottom:12px}.user-search-bar{background:#f5f7fa;border-radius:10px;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:column;gap:8px;margin:0 auto 36px;max-width:480px;min-height:72px;padding:18px 22px}.user-search-bar label{color:#007bff;font-size:1.18rem;font-weight:600;margin-bottom:6px}.user-search-bar .react-select__control{background:#fff;border-color:#b3c6e6;border-radius:7px;box-shadow:none;font-size:1.12rem;min-height:52px}.company-search-bar{background:#f5f7fa;border-radius:10px;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:column;gap:8px;margin:0 auto 36px;max-width:480px;min-height:72px;padding:18px 22px}.company-search-bar label{color:#007bff;font-size:1.18rem;font-weight:600;margin-bottom:6px}.company-search-bar .react-select__control{background:#fff;border-color:#b3c6e6;border-radius:7px;box-shadow:none;font-size:1.12rem;min-height:52px}.vehicle-search-bar{background:#f5f7fa;border-radius:10px;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:column;gap:8px;margin:0 auto 36px;max-width:480px;min-height:72px;padding:18px 22px}.vehicle-search-bar label{color:#007bff;font-size:1.18rem;font-weight:600;margin-bottom:6px}.vehicle-search-bar .react-select__control{background:#fff;border-color:#b3c6e6;border-radius:7px;box-shadow:none;font-size:1.12rem;min-height:52px}.vehicle-cards-list{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin:32px auto 0}.vehicle-card.large{align-items:flex-start;background:#fff;border-radius:16px;box-shadow:0 2px 16px #0000001a;display:flex;flex-direction:column;gap:18px;max-width:480px;min-width:340px;padding:32px 36px 28px;position:relative}.vehicle-card-delete.large{background:none;border:none;border-radius:4px;color:#f44336;cursor:pointer;font-size:1.2em;padding:4px;position:absolute;right:24px;top:18px;transition:background-color .2s;z-index:2}.vehicle-card-delete.large:hover{background-color:#f443361a}.vehicle-card-content{color:#222;font-size:1.15em;margin-bottom:18px;width:100%}.vehicle-card-field{display:flex;margin-bottom:12px;word-break:break-word}.vehicle-card-field strong{flex-shrink:0;min-width:140px}.vehicle-card-value{flex:1 1;word-break:break-word}.vehicle-card-edit-btn{align-self:stretch;margin-top:12px;width:100%}.quick-actions-header{align-items:flex-start;background:#0000;display:flex;height:72px;justify-content:flex-end;position:relative;width:100%;z-index:20}.quick-actions-logout-btn.top-right{align-items:center;background:linear-gradient(90deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 2px 8px #007bff14;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;margin:24px 48px 0 0;padding:12px 36px;position:relative;right:0;top:0;transition:background .2s,box-shadow .2s}.quick-actions-logout-btn.top-right:hover{background:linear-gradient(90deg,#0056b3,#007bff);box-shadow:0 4px 16px #007bff21}.quick-actions-container{align-items:center;display:flex;flex-direction:column;margin-top:32px}.bill-number-modal-title{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0 0 18px;text-align:center}.bill-number-modal-body{align-items:center;display:flex;flex-direction:column;gap:12px}.bill-number-current{color:#4a5568;font-size:1.15rem;margin:0}.bill-number-current strong{color:#2d3748;font-size:1.35rem}.bill-number-label{align-self:flex-start;color:#4a5568;font-weight:600}.bill-number-input{border:1.5px solid #e3e8ee;border-radius:8px;box-sizing:border-box;font-size:1.15rem;max-width:320px;padding:10px 12px;width:100%}.bill-number-input:focus{border-color:#007bff;outline:none}.bill-number-error{color:#e53e3e}.bill-number-error,.bill-number-success{font-size:.95rem;margin:0;text-align:center}.bill-number-success{color:#276749}.bill-number-confirm-detail{color:#4a5568;line-height:1.7;margin:16px 0 0;text-align:center}.bill-number-modal-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:20px}.bill-number-modal-actions .button{align-items:center;border-radius:8px;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin:0;max-width:none;min-width:128px;padding:10px 22px;width:auto}.bill-number-modal-actions .button.btn-cancel{background:#fff;border:1.5px solid #cbd5e0;box-shadow:none;color:#4a5568}.bill-number-modal-actions .button.btn-cancel:hover:not(:disabled){background:#edf2f7;border-color:#a0aec0;color:#2d3748}.bill-number-modal-actions .button.btn-confirm{background:#007bff;border:1.5px solid #007bff;box-shadow:0 2px 8px #007bff4d;color:#fff}.bill-number-modal-actions .button.btn-confirm:hover:not(:disabled){background:#0069d9;border-color:#0069d9}.bill-number-modal-actions .button.btn-confirm.loading,.bill-number-modal-actions .button.btn-confirm:disabled{background:#0056b3;border-color:#0056b3;color:#fff;cursor:wait;opacity:1}.bill-number-modal-actions .button.btn-cancel:disabled{background:#f7fafc;border-color:#e2e8f0;color:#a0aec0;cursor:not-allowed}.bill-number-modal-actions .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;flex:0 0 auto;height:16px;width:16px}.bill-number-loading-row{align-items:center;color:#4a5568;display:flex;gap:10px}.bill-number-loading-row .spinner{animation:spin .8s linear infinite;border:3px solid #007bff40;border-radius:50%;border-top-color:#007bff;display:inline-block;flex:0 0 auto;height:20px;width:20px}.delete-entry-btn-row{display:flex;justify-content:center;margin-top:18px}.delete-entry-btn{background:linear-gradient(90deg,#f44336,#d32f2f);border:none;border-radius:6px;box-shadow:0 2px 8px #f4433614;color:#fff;cursor:pointer;font-size:1.08rem;font-weight:600;padding:10px 36px;transition:background .2s}.delete-entry-btn:hover{background:linear-gradient(90deg,#d32f2f,#f44336)}.success-popup{animation:fadeInOut 2s;background:#e6ffed;color:#218838;margin-top:18px;text-align:center}.modern-form input.placeholder-text::placeholder{color:#999;font-style:italic}.company-search-bar .react-select__control,.minimizable-container .react-select__control,.user-search-bar .react-select__control,.vehicle-search-bar .react-select__control{background:#fff;border:1px solid #d0d7de;border-radius:7px;box-shadow:none;font-size:1.12rem;min-height:52px;padding:0 8px}.minimizable-container .react-select__control{background-color:#fff!important;border-color:#d0d7de!important;color:#333!important}.minimizable-container .react-select__control--is-focused{border-color:#007bff!important;box-shadow:0 0 0 2px #007bff40}.minimizable-container .react-select__placeholder{color:#999!important}.minimizable-container .react-select__single-value{color:#333!important}.minimizable-container .react-select__indicator{color:#666!important}.minimizable-container .react-select__indicator:hover{color:#333!important}.minimizable-container .form-row{display:flex;flex-direction:column;gap:4px;margin:0 auto 8px;max-width:100%}.minimizable-container .form-row label{color:#333;font-size:13px;font-weight:500}.minimizable-container .horizontal-fields-row{display:flex;flex-direction:row;gap:16px;justify-content:space-between;margin-top:12px;width:100%}.minimizable-container .horizontal-fields-row .form-row{flex:1 1;margin:0 0 18px;max-width:none;min-width:0}.minimizable-container .horizontal-fields-row .form-row label{margin-bottom:4px}.minimizable-container input[type=date]{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:14px;min-height:36px;padding:8px;transition:border .2s;width:100%}.minimizable-container input[type=date]:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.button.loading{gap:6px;margin:8px auto 0;max-width:250px;padding:8px;width:100%}.minimizable-container .form-row[style*="flex-direction: row"]{align-items:center;flex-direction:row;gap:12px;justify-content:center}.minimizable-container .form-row[style*="flex-direction: row"] .button{margin:16px 0 0;min-width:150px;width:auto}.payment-details-form{margin:0 auto;max-width:340px}.payment-details-form-row{display:flex;flex-direction:column;gap:6px;margin:0 auto 18px;width:100%}.payment-details-input{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:15px;min-height:45px;padding:10px;transition:border .2s;width:100%}.payment-details-input:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.payment-details-select .react-select__control{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-shadow:none;font-size:15px;min-height:45px;padding:0 8px}.payment-details-select .react-select__control--is-focused{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40}.payment-details-textarea{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:15px;min-height:120px;padding:10px;resize:vertical;transition:border .2s;width:100%}.payment-details-textarea:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.payment-details-save-btn{margin:16px auto 0;width:100%}.source-locations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.location-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center;transition:transform .2s,box-shadow .2s}.location-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-3px)}.location-card h4{color:#333;font-size:1.2rem;margin:0 0 10px}.location-card p{color:#666;font-size:.9rem;margin:0 0 15px}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:30px}.loading-container .spinner{margin-bottom:15px}.bill-generation-container{box-sizing:border-box;display:flex;gap:20px;max-width:100%;padding:20px 0;width:100%}.bill-panel{flex:1 1;min-width:0;overflow:hidden}.bill-panel-header{color:#333}.locations-panel{flex:1 1}.locations-container{flex:1 1;min-height:0;overflow-y:auto}.location-option{background:#fff;border:1px solid #e9ecef;border-radius:6px;box-sizing:border-box;cursor:pointer;margin-bottom:10px;padding:12px 15px;transition:all .2s;word-break:break-word}.location-option:hover{background:#e9f7fe;border-color:#007bff}.location-option.selected{background:#007bff;border-color:#007bff;color:#fff}.location-name{font-weight:600;margin-bottom:4px}.location-address{color:#666;font-size:.85rem}.location-option.selected .location-address{color:#e6f0ff}.towns-panel{flex:1 1}.town-input-group{box-sizing:border-box;display:flex;gap:10px;margin-bottom:20px;width:100%}.town-input-field{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;flex:1 1;font-size:1rem;min-height:42px;padding:10px 12px;transition:border .2s}.town-input-field:focus{border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.add-town-button{align-items:center;background:#007bff;border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;justify-content:center;min-height:42px;padding:10px 15px;transition:background .2s}.add-town-button:hover{background:#0069d9}.add-town-button:disabled{background:#6c757d;cursor:not-allowed}.towns-container{flex:1 1;min-height:0;overflow-y:auto}.town-option{background:#fff;border:1px solid #e9ecef;border-radius:6px;box-sizing:border-box;cursor:pointer;margin-bottom:10px;padding:12px 15px;transition:all .2s;word-break:break-word}.town-option:hover{background:#e9f7fe;border-color:#007bff}.town-option.selected{background:#007bff;border-color:#007bff;color:#fff}.mappings-panel{flex:1 1}.mapping-action-area{margin-bottom:20px}.create-mapping-button{background:#28a745;border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;font-weight:600;padding:12px;transition:background .2s;width:100%}.create-mapping-button:hover:not(:disabled){background:#218838}.create-mapping-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.mappings-container{flex:1 1;min-height:0;overflow-y:auto}.mapping-entry{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;word-break:break-word}.mapping-details-group{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.mapping-location-text,.mapping-town-text{flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis}.mapping-separator{color:#007bff;flex-shrink:0;font-weight:700}.remove-mapping-button{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:8px 12px;transition:background .2s}.remove-mapping-button:hover{background:#c82333}.button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:16px;margin:16px auto 0;padding:10px;width:317px}@media (max-width:992px){.bill-generation-container{flex-direction:column;height:auto}.bill-panel{min-height:300px;width:100%}}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox{cursor:pointer}.forgot-password-row{display:flex;font-size:14px;justify-content:flex-end;margin:-8px 0 12px}.form-hint{color:#555;font-size:14px;margin:0 0 15px;text-align:left}.modal-success-message{color:#218838}.auth-card .button,.auth-card .button.loading{gap:8px;margin:16px auto 0;max-width:none;padding:10px;width:317px}@media (max-width:1400px){.dashboard-content{padding:28px 20px}}@media (max-width:1024px){.dashboard-content{padding:24px 16px}}@media (max-width:900px){.dashboard-sidebar{height:auto;position:static;width:100%}.dashboard-root .dashboard-main{padding-left:0}}.button.loading{align-items:center;background-color:#0056b3;color:#fff;cursor:wait;display:flex;font-family:Open Sans,Arial,sans-serif;gap:8px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;height:16px;width:16px}.loading-text{margin-left:8px}.error-toast{align-items:center;animation:errorToastSlideDown .25s ease-out;background:#fff5f5;border:1px solid #fed7d7;border-left:4px solid #e53e3e;border-radius:8px;box-shadow:0 6px 24px #e53e3e2e;color:#c53030;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;left:50%;max-width:90vw;padding:14px 18px;position:fixed;top:24px;transform:translateX(-50%);z-index:100000}.error-toast-text{flex:1 1;word-break:break-word}.error-toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#c53030;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;font-weight:700;height:26px;justify-content:center;line-height:1;padding:0;transition:background-color .2s;width:26px}.error-toast-close:hover{background-color:#e53e3e1f}@keyframes errorToastSlideDown{0%{opacity:0;transform:translateX(-50%) translateY(-12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.dropdown-load-error{background:#fff5f5;border:1px solid #fed7d7;border-left:3px solid #c53030;border-radius:6px;color:#c53030;flex-basis:100%;font-size:13px;line-height:1.4;margin:6px 0 2px;padding:8px 12px;text-align:left;word-break:break-word}.dropdown-load-error+*{opacity:1}.user-details-form{display:flex;flex-direction:column;font-family:Open Sans,Arial,sans-serif;gap:18px;margin:0 auto;max-width:500px}.user-details-form-row{display:flex;flex-direction:column;gap:6px;margin:0;width:100%}.user-details-input{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:14px;min-height:38px;padding:7px;transition:border .2s;width:100%}.user-details-input:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.user-details-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em}.user-details-form label{color:#333;font-size:14px;font-weight:500}.user-details-input.input-error,.user-details-input.input-error:focus{border:1.5px solid #dc3545;box-shadow:0 0 0 2px #dc354540}.error-message{color:#dc3545;font-size:12px;margin-top:4px}.company-details-form{display:flex;flex-direction:column;font-family:Open Sans,Arial,sans-serif;gap:18px;margin:0 auto;max-width:500px}.company-details-form-row{display:flex;flex-direction:column;gap:6px;margin:0;width:100%}.company-details-input{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:14px;min-height:38px;padding:7px;transition:border .2s;width:100%}.company-details-input:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.company-details-form label{color:#333;font-size:14px;font-weight:500}.vehicle-details-form{display:flex;flex-direction:column;font-family:Open Sans,Arial,sans-serif;gap:18px;margin:0 auto;max-width:500px}.vehicle-details-form-row{display:flex;flex-direction:column;gap:6px;margin:0;width:100%}.vehicle-details-input{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;box-sizing:border-box;font-size:14px;min-height:38px;padding:7px;transition:border .2s;width:100%}.vehicle-details-input:focus{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.vehicle-details-select .react-select__control{background:#f8fafc;border:1px solid #d0d7de;border-radius:5px;font-size:14px;min-height:38px;padding:7px;transition:border .2s}.vehicle-details-select .react-select__control--is-focused{background:#fff;border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.vehicle-details-form label{color:#333;font-size:14px;font-weight:500}.error-message-container{cursor:pointer;display:flex;justify-content:center;margin:15px 0;width:100%}.error-message-content{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;box-shadow:0 4px 6px #e53e3e1a;box-sizing:border-box;display:flex;justify-content:space-between;max-width:100%;padding:12px 16px;width:100%}.error-message-text{color:#c53030;flex:1 1;font-size:14px;font-weight:500;margin-right:12px;word-break:break-word}.error-message-close{align-items:center;background:none;border:none;border-radius:50%;color:#c53030;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.error-message-close:hover{background-color:#e53e3e1a}table.modern-table{border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000000d;font-family:Open Sans,Arial,sans-serif;margin-top:16px;overflow:hidden;white-space:nowrap;width:100%}table.modern-table td,table.modern-table th{border:1px solid #e3e8ee;padding:12px 15px;text-align:left}table.modern-table th{background:linear-gradient(180deg,#f8f9fa,#e9ecef);color:#495057;cursor:pointer;font-weight:600;height:50px;position:-webkit-sticky;position:sticky;top:0;transition:background-color .2s;-webkit-user-select:none;user-select:none;vertical-align:middle}table.modern-table th:hover{background:linear-gradient(180deg,#e9ecef,#dee2e6)}table.modern-table tbody tr{transition:background-color .15s}table.modern-table tbody tr:nth-child(2n){background-color:#f8f9fa}table.modern-table tbody tr:hover{background-color:#e9f7fe}table.modern-table td{color:#495057;vertical-align:middle}table.modern-table th.sortable-header{padding:0}.header-content{align-items:center;box-sizing:border-box;display:flex;gap:8px;height:100%;padding:12px 15px;position:relative;white-space:nowrap;width:100%}.sort-icon{color:#adb5bd;flex-shrink:0;font-size:.8em;line-height:1;transition:color .2s}.sort-icon.active{color:#007bff}.payment-details-results-box{background:#fff;border:1.5px solid #e3e8ee;border-radius:14px;box-shadow:0 4px 16px #0000000d;margin-top:24px;max-width:100%;overflow-x:auto;padding:28px 24px 24px}.no-entries-box{background:#f8f9fa;border:1.5px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000008;color:#6c757d;font-size:1.1rem;margin:24px auto;max-width:400px;padding:24px 32px;text-align:center}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:20px}.pagination-btn{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;min-width:40px;padding:8px 12px;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#e9ecef;border-color:#adb5bd}.pagination-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.pagination-btn.active{background-color:#007bff;border-color:#007bff;color:#fff}.pagination-btn.active:hover{background-color:#0069d9;border-color:#0062cc}.view-payments-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background-color .2s}.view-payments-btn:hover{background-color:#0056b3}.payment-details-row{background-color:#f8f9fa!important}.payment-details-container{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:10px;padding:15px}.payment-details-container h4{color:#495057;font-weight:600;margin-bottom:15px;margin-top:0}.payment-details-table{border-collapse:collapse;margin-top:10px;width:100%}.payment-details-table td,.payment-details-table th{border:1px solid #e3e8ee;padding:8px 12px;text-align:left}.payment-details-table th{background-color:#e9ecef;font-weight:600}table.modern-table .registry-group-start{border-top:2px solid #007bff}table.modern-table .registry-group-item{background-color:#f9f9f9!important}@media (max-width:768px){.header-content,table.modern-table td,table.modern-table th{font-size:14px;padding:8px 10px}.sort-icon{font-size:.7em}.payment-details-results-box{padding:20px 16px 18px}.pagination-btn{font-size:14px;min-width:35px;padding:6px 10px}.view-payments-btn{font-size:.8rem;padding:4px 8px}}table.modern-table th.actions-header{cursor:default;text-align:center;width:1%}table.modern-table td.actions-cell{text-align:center;width:1%}.row-delete-btn{align-items:center;background:#fff5f4;border:1px solid #f1c9c6;border-radius:6px;color:#d32f2f;cursor:pointer;display:inline-flex;font-size:14px;height:32px;justify-content:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;width:32px}.row-delete-btn:hover:not(:disabled){background:#fdecea;border-color:#e57373;color:#b71c1c}.row-delete-btn:focus-visible{outline:2px solid #d32f2f;outline-offset:2px}.row-delete-btn:disabled{cursor:not-allowed;opacity:.55}table.modern-table tr.row-deleting td{opacity:.55}.row-delete-spinner{animation:spin .7s linear infinite;border:2px solid #d32f2f;border-radius:50%;border-top-color:#0000;display:inline-block;height:14px;width:14px}.delete-confirm-popup{min-width:380px;text-align:left}.delete-confirm-icon{align-items:center;background:#fdecea;border-radius:50%;color:#d32f2f;display:flex;font-size:19px;height:44px;justify-content:center;margin-bottom:12px;width:44px}.delete-confirm-title{color:#212121;font-size:1.15rem;font-weight:600;margin:0 0 8px}.delete-confirm-message{color:#555;font-size:.9rem;line-height:1.5;margin:0 0 14px}.delete-confirm-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:0 0 14px;padding:12px 14px}.delete-confirm-row{display:flex;font-size:.88rem;gap:16px;justify-content:space-between;padding:3px 0}.delete-confirm-row dt{color:#6c757d;font-weight:500}.delete-confirm-row dd{color:#212121;font-weight:600;margin:0;text-align:right;word-break:break-word}.delete-confirm-warning{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#8d6e00;font-size:.84rem;line-height:1.45;margin-bottom:12px;padding:10px 12px}.delete-confirm-error{background:#fdecea;border:1px solid #f5c2c0;border-radius:6px;color:#b71c1c;font-size:.86rem;margin-bottom:12px;padding:10px 12px}.delete-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.delete-confirm-cancel{background:#fff;border:1px solid #ced4da;color:#495057}.delete-confirm-cancel:hover:not(:disabled){background:#f1f3f5}.delete-confirm-submit{background:#d32f2f;border:1px solid #d32f2f;color:#fff;font-weight:600}.delete-confirm-submit:hover:not(:disabled){background:#b71c1c;border-color:#b71c1c}.delete-confirm-actions .button:disabled{cursor:not-allowed;opacity:.6}.generate-bill-page{background-color:#f5f7fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden}.generate-bill-page .dashboard-content{box-sizing:border-box;margin:0 auto;max-width:100%;padding:20px}.generate-bill-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;box-sizing:border-box;margin:0 auto;max-width:1500px;overflow:hidden;width:100%}.company-selection-section{box-sizing:border-box;max-width:100%;padding:20px}.company-dropdown-container{margin-bottom:20px;max-width:100%}.company-dropdown-label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:8px}.company-select{min-width:300px}.no-company-selected{color:#7f8c8d;font-size:1.2rem;padding:60px 20px;text-align:center}.no-company-selected p{background:#f8f9fa;border:1px dashed #ddd;border-radius:8px;margin:0;padding:20px}.bill-tables-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:20px}.bill-panel,.bill-tables-container{box-sizing:border-box;max-width:100%}.bill-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;padding:20px}.bill-panel-header{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0 0 15px;padding-bottom:10px}.locations-list{flex:1 1;max-height:400px;overflow-y:auto}.location-item:hover{background:#e9f7fe;border-color:#007bff}.location-item.selected{background:#007bff;border-color:#007bff;color:#fff}.location-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;margin-bottom:10px;padding:12px 15px;position:relative;transition:all .2s;word-break:break-word}.location-item.selected:after{color:#fff;content:"✓";font-weight:700;position:absolute;right:10px;top:5px}.town-input-area{display:flex;gap:10px;margin-bottom:20px}.town-input{border:1px solid #ced4da;border-radius:4px;flex:1 1;font-size:1rem;padding:10px 12px;transition:border .2s}.town-input:focus{border:1.5px solid #007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.add-town-btn{align-items:center;background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px 15px;transition:background .2s}.add-town-btn:hover{background:#0069d9}.add-town-btn:disabled{background:#6c757d;cursor:not-allowed}.towns-list{flex:1 1;max-height:400px;overflow-y:auto}.town-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;margin-bottom:10px;padding:12px 15px;position:relative;transition:all .2s}.town-item:hover{background:#e9f7fe;border-color:#007bff}.town-item.selected{background:#007bff;border-color:#007bff;color:#fff}.town-item.selected:after{color:#fff;content:"✓";font-weight:700;position:absolute;right:10px;top:5px}.mapping-controls{margin-bottom:20px}.create-mapping-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:12px;transition:background .2s;width:100%}.create-mapping-btn:hover:not(:disabled){background:#218838}.create-mapping-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.mappings-list{flex:1 1;max-height:400px;overflow-y:auto}.mapping-group{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:15px;padding:15px}.mapping-group-header{border-bottom:1px solid #e9ecef;color:#007bff;font-size:1.1rem;font-weight:600;margin-bottom:12px;padding-bottom:8px}.mapping-items{display:flex;flex-direction:column;gap:10px}.mapping-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px;transition:background .2s}.mapping-item:hover{background:#e9f7fe}.mapping-location{flex:1 1;font-size:.95rem;padding-right:10px;word-break:break-word}.delete-mapping-btn{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px 10px;transition:background .2s}.delete-mapping-btn:hover{background:#c82333}.loading-state{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:30px}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-left-color:#007bff;border-radius:50%;height:30px;margin-bottom:15px;width:30px}@keyframes spin{to{transform:rotate(1turn)}}.error-message{background:#ffe6e6;border:1px solid #fcc;border-radius:4px;color:#c00;font-size:14px;font-weight:500;margin:10px 0;padding:15px;text-align:center}.empty-state{background:#f5f7fa;border:1.5px solid #e3e8ee;border-radius:8px;color:#555;font-size:1.08rem;margin:20px 0;padding:24px;text-align:center}@media (max-width:992px){.bill-tables-container{grid-template-columns:1fr}.company-select{min-width:100%}.dashboard-navbar-options{display:none}}.proceed-button-container{display:flex;justify-content:center;margin-top:30px;padding:0 20px 20px}.proceed-btn{background:#007bff;border-radius:6px;font-weight:600;min-width:150px;transition:background .2s}.proceed-btn:hover:not(:disabled){background:#0069d9}.proceed-btn:disabled{background:#6c757d;opacity:.6}@media (max-width:576px){.dashboard-content{padding:10px}.bill-panel,.company-selection-section{padding:15px}.town-input-area{flex-direction:column}.add-town-btn{width:100%}.proceed-button-container{padding:0 10px 15px}}.location-entry-count{color:#6c757d;font-size:.8rem;margin-top:2px}.bill-column-picker{align-items:stretch;display:flex;gap:20px}.bill-column-picker .available-columns-section,.bill-column-picker .selected-columns-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-width:0;padding:20px}.bill-column-picker .available-columns-section h4,.bill-column-picker .selected-columns-section h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:15px;margin-top:0}.bill-column-picker .columns-list,.bill-column-picker .selected-columns-list{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex:1 1 auto;height:clamp(240px,48vh,520px);overflow-x:hidden;overflow-y:auto;padding:10px}.bill-column-picker .column-item{align-items:center;border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;margin-bottom:5px;padding:10px;transition:background-color .2s}.bill-column-picker .column-item:hover{background-color:#e9f7fe}.bill-column-picker .column-item.selected{background-color:#d1ecf1}.bill-column-picker .column-item input[type=checkbox]{flex-shrink:0;margin-right:10px}.bill-column-picker .column-label{font-size:.95rem;min-width:0;overflow-wrap:anywhere}.bill-column-picker .selected-columns-info{color:#666;font-size:.9rem;margin-bottom:15px}.bill-column-picker .selected-column-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;box-sizing:border-box;cursor:grab;display:flex;gap:8px;margin-bottom:8px;padding:8px}.bill-column-picker .selected-column-item:active{cursor:grabbing}.bill-column-picker .selected-column-item.dragging{background-color:#e2e6ea;opacity:.5}.bill-column-picker .column-order-controls{display:flex;flex-direction:column;flex-shrink:0}.bill-column-picker .order-btn{background:#3498db;border:none;border-radius:3px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.8rem;margin:2px 0;padding:3px 6px}.bill-column-picker .order-btn:disabled{background:#ccc;cursor:not-allowed}.bill-column-picker .column-name{flex:1 1 auto;font-size:.95rem;min-width:0;overflow-wrap:anywhere}.bill-column-picker .remove-column-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:5px 10px;white-space:nowrap}.bill-column-picker .remove-column-btn:hover{background:#c82333}.bill-column-picker .no-columns-selected{color:#666;padding:20px;text-align:center}@media (max-width:768px){.bill-column-picker{flex-direction:column}}.initiate-bill-page{background-color:#f5f7fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden}.initiate-bill-page .dashboard-content{box-sizing:border-box;margin:0 auto;max-width:100%;padding:20px}.initiate-bill-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;box-sizing:border-box;margin:0 auto;max-width:1500px;overflow:hidden;padding:20px;width:100%}.column-selection-section h3{border-bottom:1px solid #e9ecef;color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:15px;padding-bottom:10px}.column-selection-description{color:#666;font-size:1rem;margin-bottom:20px}.additional-columns-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-width:0;padding:20px}.additional-columns-section h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:15px;margin-top:0}.additional-column-input{display:flex;gap:8px;margin-bottom:15px}.additional-column-input input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex:1 1 auto;font-size:.95rem;min-width:0;padding:8px 12px}.add-column-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;padding:8px 14px}.add-column-btn:hover{background:#218838}.additional-columns-list{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex:1 1 auto;height:clamp(240px,48vh,520px);margin-top:15px;overflow-x:hidden;overflow-y:auto;padding:10px}.additional-column-item{align-items:center;background:#e9f7fe;border:1px solid #b3d9ff;border-radius:4px;box-sizing:border-box;display:flex;gap:8px;justify-content:space-between;margin-bottom:5px;padding:8px}.additional-column-item span{min-width:0;overflow-wrap:anywhere}.remove-additional-column-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.8rem;padding:4px 8px;white-space:nowrap}.remove-additional-column-btn:hover{background:#c82333}.proceed-button-container{margin-top:20px;text-align:center}.proceed-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.1rem;padding:12px 30px;transition:background-color .2s}.proceed-btn:hover:not(:disabled){background:#218838}.proceed-btn:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.dashboard-content{padding:10px}.initiate-bill-content{margin:0 auto;max-width:1500px;padding:15px;width:100%}.dashboard-navbar-options{display:none}.additional-column-input{flex-direction:column}.additional-column-input input{margin-bottom:10px}.additional-columns-section{flex:1 1}}.view-bill-entries-page{background-color:#f5f7fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden}.dashboard-navbar{align-items:center;background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;height:60px;padding:0 20px}.dashboard-title{font-size:1.5rem;font-weight:600}.dashboard-navbar-options{display:flex;list-style:none;margin:0 20px}.dashboard-navbar-option{border-radius:4px;cursor:pointer;margin:0 5px;padding:8px 16px;transition:background-color .2s}.dashboard-navbar-option:hover{background-color:#ffffff1a}.dashboard-navbar-right{margin-left:auto}.dashboard-logout-btn{align-items:center;background-color:#3498db;border:1px solid #2980b9;border-radius:4px;color:#fff;cursor:pointer;display:flex;padding:8px 16px;transition:all .2s}.dashboard-logout-btn:hover{background-color:#2980b9;border-color:#21618c}.back-button-container{padding:15px 20px 0}.back-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:flex;font-weight:500;padding:8px 16px;transition:all .2s}.back-btn:hover{background:#e9ecef;border-color:#ccc}.view-bill-entries-page .dashboard-content{box-sizing:border-box;margin:0 auto;max-width:100%;padding:20px}.dashboard-section-title{color:#2c3e50;font-size:1.8rem;font-weight:600;margin-bottom:20px}.view-bill-entries-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;box-sizing:border-box;margin:0 auto;max-width:1500px;overflow:hidden;padding:20px;width:100%}.entries-table-section{width:100%}.table-row:hover{background-color:#e9f7fe}.table-cell{padding:10px 8px}.additional-column-input{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:6px 8px;width:100%}.additional-column-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db40;outline:none}.reset-bill-edits-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-right:10px;padding:10px 20px;transition:background-color .2s}.reset-bill-edits-btn:hover{background-color:#5a6268}.generate-bill-btn,.mark-as-billed-btn{transition:background-color .2s}.mark-as-billed-btn{background-color:#ffc107;border:none;border-radius:4px;color:#212529;cursor:pointer;font-size:1rem;margin-left:10px;padding:10px 20px}.mark-as-billed-btn:hover:not(:disabled){background-color:#e0a800}.mark-as-billed-btn:disabled{background-color:#6c757d;cursor:not-allowed}.confirmation-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}.confirmation-modal{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.confirmation-modal-content{padding:20px}.confirmation-modal-content h3{border-bottom:1px solid #dee2e6;color:#2c3e50;margin-bottom:15px;margin-top:0;padding-bottom:10px}.confirmation-modal-content p{color:#495057;line-height:1.5;margin:10px 0}.warning-text{color:#dc3545;font-weight:500}.confirmation-modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.confirm-btn{background-color:#fd7e14;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s}.confirm-btn:hover{background-color:#e66a02}.cancel-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s}.cancel-btn:hover{background-color:#5a6268}@media (max-width:768px){.dashboard-content{padding:10px}.view-bill-entries-content{margin:0 auto;max-width:1500px;padding:15px;width:100%}.dashboard-navbar-options{display:none}.table-container{font-size:.8rem}.table-cell,.table-header{padding:6px 4px}}.bill-history-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;box-sizing:border-box;max-width:100%;padding:20px}.bill-history-search-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.bill-history-search-form .form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.bill-history-input{border:1px solid #ced4da;border-radius:4px;font-size:.95rem;min-width:220px;padding:8px 10px}.bill-history-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db40;outline:none}.fetch-bill-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin:0;max-width:none;padding:10px 20px;width:auto}.fetch-bill-btn:hover:not(:disabled){background:#0056b3}.bill-history-empty{background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-weight:600;padding:20px;text-align:center}.bill-history-meta{background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px 16px}.bill-history-meta-note{color:#4a5568;font-size:.85rem}.bill-history-custom-columns{background:#f8f9fa;border:1px dashed #adb5bd;border-radius:6px;margin:20px 0;padding:16px}.bill-history-custom-columns h3{color:#495057;font-size:1rem;margin:0 0 12px}.bill-history-custom-row{display:flex;flex-wrap:wrap;gap:10px}.bill-history-custom-row input{border:1px solid #ced4da;border-radius:4px;flex:1 1 240px;font-size:.95rem;padding:8px 10px}.bill-history-custom-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bill-history-custom-chip{align-items:center;background:#fff;border:1px solid #b3d9ff;border-radius:999px;box-sizing:border-box;display:inline-flex;font-size:.9rem;gap:6px;line-height:1.4;max-width:100%;padding:4px 4px 4px 12px}.bill-history-custom-chip-label{color:#2c3e50;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-history-chip-remove{align-items:center;background:#0000;border:none;border-radius:50%;color:#adb5bd;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8rem;height:22px;justify-content:center;padding:0;transition:background-color .15s,color .15s;width:22px}.bill-history-chip-remove:hover{background:#fdecec;color:#dc3545}.bill-history-chip-remove:focus-visible{background:#fdecec;color:#dc3545;outline:2px solid #3498db;outline-offset:1px}.table-container{margin-bottom:20px;overflow-x:auto}.bills-table,.entries-table{border-collapse:collapse;min-width:600px;width:100%}.table-header{background-color:#e9ecef;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px 8px;text-align:left;white-space:nowrap}.table-row:nth-child(2n){background-color:#f8f9fa}.table-cell{border-bottom:1px solid #dee2e6;padding:6px 4px;vertical-align:top}.bill-cell-input{background:#0000;border:1px solid #0000;border-radius:4px;color:inherit;font-family:inherit;font-size:.9rem;min-width:70px;padding:6px 8px;transition:border-color .15s,box-shadow .15s,background-color .15s;width:100%}.bill-cell-input:hover{background:#fff;border-color:#ced4da}.bill-cell-input:focus{background:#fff;border-color:#3498db;box-shadow:0 0 0 2px #3498db40;outline:none}.derived-cell{font-feature-settings:"tnum";background:#f1f3f5;border:1px dashed #ced4da;border-radius:4px;color:#495057;display:block;font-variant-numeric:tabular-nums;font-weight:600;padding:6px 8px;text-align:right}.bill-total-bar{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.bill-total-label{color:#495057;font-weight:600}.bill-total-value{font-feature-settings:"tnum";color:#212529;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:700}.action-buttons-container{display:flex;justify-content:center;margin-top:20px}.generate-bill-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin:0;max-width:none;padding:10px 20px;width:auto}.generate-bill-btn:hover:not(:disabled){background-color:#218838}.generate-bill-btn:disabled{background-color:#6c757d;cursor:not-allowed}.bill-column-modal{display:flex;flex-direction:column;height:auto;max-height:92vh;max-width:820px;overflow:hidden;width:94vw}.bill-column-modal .confirmation-modal-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:0}.bill-column-modal-header{border-bottom:1px solid #dee2e6;flex:0 0 auto;padding:18px 20px 12px}.bill-column-modal-header h3{color:#2c3e50;font-size:1.15rem;margin:0 0 4px}.bill-column-modal-header p{color:#6c757d;font-size:.9rem;line-height:1.4;margin:0}.bill-column-modal-count{color:#6c757d;font-size:.9rem;margin-right:auto}.bill-column-modal-body{background:#fff;flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 20px}.bill-column-modal-body .bill-column-picker .columns-list,.bill-column-modal-body .bill-column-picker .selected-columns-list{height:clamp(160px,32vh,380px)}.bill-column-modal-footer{align-items:center;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;flex:0 0 auto;gap:10px;justify-content:flex-end;padding:14px 20px}.bill-column-modal-footer .cancel-btn,.bill-column-modal-footer .confirm-btn{font-size:.95rem;margin:0;min-width:120px;padding:10px 18px}@media (max-width:768px){.bill-column-modal{width:96vw}}.bill-history-tabs{border-bottom:2px solid #dee2e6;display:flex;gap:4px;margin-bottom:20px}.bill-history-tab{-webkit-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:10px 18px}.bill-history-tab:hover{color:#3498db}.bill-history-tab.active{border-bottom-color:#3498db;color:#3498db}.bill-history-tab:focus-visible{border-radius:4px 4px 0 0;outline:2px solid #3498db;outline-offset:-2px}.bill-history-company-filter{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-width:none}.bill-history-company-filter .form-row{margin:0;max-width:none;width:100%}.bill-list-row{cursor:pointer;transition:background .15s ease}.bill-list-row:hover{background:#f8f9fa}.bill-list-row:focus-visible{outline:2px solid #3498db;outline-offset:-2px}.bill-list-flag{color:#6c757d;font-size:.85rem}.bill-history-load-more{display:flex;justify-content:center;margin-top:16px}.bill-list-status{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#6c757d;display:flex;font-weight:500;gap:10px;justify-content:center;padding:28px 20px;text-align:center}.bill-list-status-error{background:#fff5f5;border-color:#feb2b2;color:#c53030;font-weight:600}.bill-list-status .spinner{border-color:#3498db #adb5bd #adb5bd;flex:0 0 auto}.bill-history-page .dashboard-content{align-items:stretch;box-sizing:border-box;padding:32px 24px}.bill-history-page .bill-history-content{margin:0 auto;max-width:1200px;width:100%}.bill-list-table td:last-child,.bill-list-table th:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.bill-list-table td:nth-child(3),.bill-list-table th:nth-child(3){text-align:center}.bill-list-opening{align-items:center;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;color:#1b6ca8;display:flex;font-weight:600;gap:10px;margin-bottom:12px;padding:10px 14px}.bill-list-opening .spinner{border-color:#3498db #b3d9ff #b3d9ff;flex:0 0 auto}.bill-list-row.is-opening{background:#ebf8ff;box-shadow:inset 3px 0 0 #3498db;cursor:progress}.bill-list-row[aria-disabled=true]{cursor:progress}.bill-list-row[aria-disabled=true]:not(.is-opening){opacity:.55}.bill-choice-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.bill-choice-modal{background:#fff;border-radius:8px;box-shadow:0 10px 30px #00000040;max-width:420px;padding:22px 24px 20px;text-align:center;width:100%}.bill-choice-modal h3{color:#2c3e50;font-size:1.2rem;margin:0 0 6px}.bill-choice-company{color:#339;font-size:.95rem;font-weight:600;margin:0 0 10px;word-break:break-word}.bill-choice-question{color:#6c757d;font-size:.92rem;line-height:1.4;margin:0 0 16px}.bill-choice-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.88rem;margin:0 0 14px;padding:10px 12px;text-align:left}.bill-choice-buttons{display:flex;flex-direction:column;gap:10px}.bill-choice-cancel,.bill-choice-modify,.bill-choice-same{border-radius:5px;cursor:pointer;font-size:.98rem;margin:0;padding:11px 16px;width:100%}.bill-choice-modify,.bill-choice-same{border:none;color:#fff}.bill-choice-same{background-color:#339}.bill-choice-same:hover:not(:disabled){background-color:#2a2a80}.bill-choice-modify{background-color:#28a745}.bill-choice-modify:hover{background-color:#218838}.bill-choice-same:disabled{background-color:#6c757d;cursor:not-allowed}.bill-choice-cancel{background:#fff;border:1px solid #ced4da;color:#495057}.bill-choice-cancel:hover{background:#f1f3f5}.bill-choice-cancel:focus-visible,.bill-choice-modify:focus-visible,.bill-choice-same:focus-visible{outline:3px solid #339;outline-offset:2px}