.qistshield-auth-shell{background:#f1f5f9;place-items:center;min-height:100vh;padding:24px;display:grid}.qistshield-auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:min(440px,100%);padding:32px;box-shadow:0 18px 45px #0f172a1f}.qistshield-auth-card h1,.qistshield-auth-card h2{margin:0 0 10px}.qistshield-auth-card p{color:#64748b;margin:0 0 20px;line-height:1.55}.qistshield-auth-card input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;width:100%;margin-bottom:14px;padding:12px 14px}.qistshield-auth-card button{cursor:pointer;color:#fff;background:#0f172a;border:0;border-radius:10px;width:100%;padding:12px 16px;font-weight:700}.qistshield-auth-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0 0 14px;padding:10px 12px}html,body,#root{min-height:100%}html{background:#f5f7fb}body{margin:0}.data-table td>div>strong+span{margin-top:4px;display:block}.date-cell{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.date-cell svg{flex-shrink:0}.device-table th:nth-child(2),.device-table td:nth-child(2),.device-table th:nth-child(6),.device-table td:nth-child(6),.device-table th:nth-child(7),.device-table td:nth-child(7){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.device-table th:last-child,.device-table td:last-child{background:#fff;position:sticky;right:0}.device-table th:last-child,.device-table tbody tr:hover td:last-child{background:#f8fafc}*{box-sizing:border-box}body{color:#172033;background:#f5f7fb;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font-family:inherit}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;flex-direction:column;width:250px;min-height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0}.logo-section{border-bottom:1px solid #273244;align-items:center;gap:12px;height:82px;padding:0 22px;display:flex}.logo-icon{background:#2563eb;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:flex}.logo-section h2{margin:0;font-size:17px}.logo-section span{color:#9ca3af;font-size:12px}.navigation{flex:1;padding:25px 14px}.nav-section-title{color:#6b7280;letter-spacing:1px;margin:18px 12px 9px;font-size:10px;font-weight:700}.nav-item{color:#9ca3af;cursor:pointer;border-radius:9px;align-items:center;gap:13px;height:46px;margin-bottom:4px;padding:0 13px;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#1f2937}.nav-item.active{color:#fff;background:#2563eb}.sidebar-footer{border-top:1px solid #273244;padding:20px}.business-name{flex-direction:column;gap:4px;display:flex}.business-name strong{font-size:13px}.business-name span{color:#6b7280;font-size:11px}.main-content{width:calc(100% - 250px);min-height:100vh;margin-left:250px}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:82px;padding:0 32px;display:flex}.topbar h1{margin:0;font-size:24px;font-weight:700}.topbar p{color:#6b7280;margin:4px 0 0;font-size:13px}.topbar-left{align-items:center;gap:12px;display:flex}.mobile-menu{cursor:pointer;background:0 0;border:none;display:none}.refresh-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #dbe1ea;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;display:flex}.refresh-button:hover{background:#f9fafb}.refresh-button:disabled{opacity:.6}.dashboard-content{max-width:1500px;margin:auto;padding:30px 32px}.error-box{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:10px;margin-bottom:25px;padding:14px 17px;display:flex}.loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.loading p{margin-top:12px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:13px;min-height:130px;padding:21px;position:relative}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:15px;display:flex}.customers-icon{color:#2563eb;background:#eff6ff}.devices-icon{color:#16a34a;background:#f0fdf4}.contracts-icon{color:#9333ea;background:#faf5ff}.outstanding-icon{color:#ea580c;background:#fff7ed}.stat-info{flex-direction:column;gap:5px;display:flex}.stat-info span{color:#6b7280;font-size:13px}.stat-info strong{color:#111827;font-size:24px}.stat-card small{color:#9ca3af;font-size:11px;position:absolute;bottom:22px;right:20px}.section-heading{justify-content:space-between;align-items:center;margin:34px 0 16px;display:flex}.section-heading h2{margin:0;font-size:18px}.section-heading p{color:#6b7280;margin:4px 0 0;font-size:12px}.collection-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.collection-card{background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:20px}.collection-top{color:#6b7280;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:13px;display:flex}.collection-top svg{color:#2563eb}.collection-card strong{color:#111827;font-size:25px;display:block}.collection-card p{color:#9ca3af;margin:7px 0 0;font-size:12px}.collection-card.warning .collection-top svg{color:#d97706}.collection-card.danger .collection-top svg{color:#dc2626}.next-heading{margin-top:35px}.next-due-card{background:#fff;border:1px solid #e5e7eb;border-radius:13px;justify-content:space-between;align-items:center;gap:25px;padding:22px;display:flex}.next-due-main{align-items:center;gap:15px;display:flex}.next-due-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.next-due-main span{color:#6b7280;font-size:11px}.next-due-main h3{margin:4px 0;font-size:17px}.next-due-main p{color:#6b7280;margin:0;font-size:12px}.next-due-details{gap:50px;display:flex}.next-due-details div{flex-direction:column;gap:6px;display:flex}.next-due-details span{color:#9ca3af;font-size:11px}.next-due-details strong{font-size:14px}.status-pending{color:#d97706;text-transform:capitalize}.empty-state{text-align:center;color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:40px}.dashboard-footer{color:#9ca3af;border-top:1px solid #e5e7eb;justify-content:space-between;margin-top:30px;padding:18px 0;font-size:11px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.stats-grid,.collection-grid{grid-template-columns:repeat(2,1fr)}.next-due-card{flex-direction:column;align-items:flex-start}}@media (width<=750px){.sidebar{display:none}.main-content{width:100%;margin-left:0}.mobile-menu{display:block}.topbar{padding:0 18px}.dashboard-content{padding:20px 15px}.stats-grid,.collection-grid{grid-template-columns:1fr}.next-due-details{flex-direction:column;gap:15px;width:100%}.dashboard-footer{flex-direction:column;gap:7px}}.page-content{padding:26px}.primary-button,.secondary-button,.refresh-button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.primary-button{color:#fff;background:#2563eb}.primary-button:hover{background:#1d4ed8}.primary-button:disabled,.secondary-button:disabled,.refresh-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{color:#334155;background:#fff;border:1px solid #dbe2ea}.secondary-button:hover{background:#f8fafc}.nav-item{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-family:inherit}.success-box{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;margin-bottom:18px;padding:12px 16px;display:flex}.page-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.search-box{background:#fff;border:1px solid #dbe2ea;border-radius:8px;align-items:center;gap:10px;width:100%;max-width:480px;padding:0 14px;display:flex}.search-box svg{color:#64748b}.search-box input{background:0 0;border:0;outline:0;width:100%;padding:12px 0;font-size:14px}.customer-summary{gap:18px;margin-bottom:18px;display:flex}.customer-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:150px;padding:16px 22px}.customer-summary strong{color:#0f172a;font-size:24px;display:block}.customer-summary span{color:#64748b;margin-top:3px;font-size:12px;display:block}.table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:900px}.data-table th{color:#64748b;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-size:12px;font-weight:600}.data-table td{color:#334155;border-bottom:1px solid #eef2f7;padding:14px 16px;font-size:13px}.data-table tbody tr:hover{background:#f8fafc}.customer-cell{align-items:center;gap:10px;display:flex}.customer-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex}.customer-cell strong{color:#0f172a;display:block}.customer-cell span{color:#94a3b8;margin-top:3px;font-size:11px;display:block}.action-buttons{gap:6px;display:flex}.icon-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.icon-button:hover{background:#f8fafc}.icon-button.view{color:#2563eb}.icon-button.danger-button{color:#dc2626}.modal-overlay{z-index:1000;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0003}.large-modal{max-width:760px}.ledger-modal{max-width:1050px}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.modal-header h2{color:#0f172a;margin:0}.close-button{color:#64748b;cursor:pointer;background:0 0;border:0;padding:5px}.close-button:hover{color:#0f172a}.form-section{border-bottom:1px solid #e2e8f0;padding:22px 24px}.form-section h3{color:#0f172a;margin:0 0 18px;font-size:15px}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label{color:#475569;font-size:12px;font-weight:600}.form-group input,.form-group textarea{box-sizing:border-box;color:#0f172a;border:1px solid #dbe2ea;border-radius:7px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px}.form-group input:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.modal-footer{justify-content:flex-end;gap:10px;padding:18px 24px;display:flex}.ledger-body{padding:22px}.ledger-customer-info{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.ledger-customer-info>div,.ledger-summary-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:13px}.ledger-customer-info span,.ledger-summary-grid span,.ledger-next-due span{color:#64748b;margin-bottom:5px;font-size:11px;display:block}.ledger-customer-info strong{color:#0f172a;font-size:13px}.ledger-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.ledger-summary-grid strong{color:#0f172a;font-size:16px}.ledger-summary-grid .ledger-outstanding{color:#dc2626}.ledger-next-due{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;padding:16px;display:grid}.ledger-next-due strong{color:#1d4ed8}.ledger-contracts h3{margin:0 0 12px}.ledger-contract{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:15px;overflow:hidden}.ledger-contract-header{background:#f8fafc;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ledger-contract-header strong{color:#0f172a;display:block}.ledger-contract-header span{color:#64748b;margin-top:3px;font-size:11px;display:block}.installment-table{overflow-x:auto}.status-badge{text-transform:capitalize;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-block}.status-badge.paid{color:#15803d;background:#dcfce7}.status-badge.pending{color:#b45309;background:#fef3c7}.status-badge.partial{color:#1d4ed8;background:#dbeafe}.modal-loading{background:#fff;border-radius:12px;min-width:250px;padding:40px}@media (width<=800px){.page-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:auto}.ledger-customer-info,.ledger-summary-grid,.ledger-next-due{grid-template-columns:1fr}}.customer-dashboard-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.customer-dashboard-modal{background:#fff;border-radius:16px;width:min(1100px,96vw);max-height:92vh;padding:24px;overflow-y:auto;box-shadow:0 24px 70px #00000040}.customer-dashboard-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.customer-dashboard-title{align-items:center;gap:14px;display:flex}.customer-dashboard-avatar{color:#4f46e5;background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:700;display:flex}.customer-dashboard-title h2{color:#111827;margin:0;font-size:22px}.customer-dashboard-title p{color:#6b7280;margin:4px 0 0;font-size:14px}.customer-dashboard-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:8px;padding:6px}.customer-dashboard-close:hover{color:#111827;background:#f3f4f6}.customer-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.customer-dashboard-stat{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.customer-dashboard-stat span{color:#6b7280;margin-bottom:7px;font-size:13px;display:block}.customer-dashboard-stat strong{color:#111827;font-size:20px;display:block}.customer-dashboard-section{margin-top:22px}.customer-dashboard-section h3{color:#111827;margin:0 0 12px;font-size:17px}.customer-dashboard-table-wrapper{border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.customer-dashboard-table{border-collapse:collapse;width:100%;min-width:700px}.customer-dashboard-table th,.customer-dashboard-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:11px 13px;font-size:13px}.customer-dashboard-table th{color:#4b5563;background:#f8fafc;font-weight:600}.customer-dashboard-table tr:last-child td{border-bottom:none}.customer-dashboard-status{color:#374151;background:#f3f4f6;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.customer-dashboard-status.overdue{color:#b91c1c;background:#fee2e2}.customer-dashboard-status.pending{color:#92400e;background:#fef3c7}.customer-dashboard-status.paid{color:#166534;background:#dcfce7}.customer-dashboard-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;display:flex}.customer-dashboard-empty{text-align:center;color:#6b7280;background:#f8fafc;border-radius:10px;padding:28px}@media (width<=900px){.customer-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.customer-dashboard-overlay{padding:10px}.customer-dashboard-modal{border-radius:12px;padding:16px}.customer-dashboard-header{margin-bottom:18px}.customer-dashboard-stats{grid-template-columns:1fr}.customer-dashboard-title h2{font-size:18px}}.table-actions{align-items:center;gap:8px;display:flex}.action-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:all .2s;display:flex}.view-btn{background:#e8f0ff}.pay-btn{background:#e7f8ee}.action-btn:hover{opacity:.85;transform:translateY(-2px)}.receipt-modal{background:#fff;border-radius:18px;width:100%;max-width:720px;overflow:hidden;box-shadow:0 20px 60px #0003}.receipt-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:24px 30px;display:flex}.receipt-header h2{margin:0;font-size:24px;font-weight:700}.receipt-header p{color:#6b7280;margin:5px 0 0;font-size:14px}.receipt-body{padding:28px 30px}.receipt-title-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px;padding:18px 20px;display:grid}.receipt-title-row div{flex-direction:column;gap:6px;display:flex}.receipt-title-row span,.receipt-grid span{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.receipt-title-row strong{color:#111827;word-break:break-word;font-size:15px}.receipt-section{margin-bottom:26px}.receipt-section h3{color:#111827;margin:0 0 14px;font-size:15px;font-weight:700}.receipt-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.receipt-grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:7px;padding:15px 16px;display:flex}.receipt-grid strong{color:#111827;word-break:break-word;font-size:15px}.receipt-amount{color:#15803d!important;font-size:19px!important;font-weight:700!important}.receipt-notes{color:#374151;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;margin:0;padding:15px 16px;line-height:1.6}.receipt-footer{background:#f8fafc;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:20px 30px;display:flex}@media (width<=600px){.receipt-modal{max-width:calc(100vw - 30px);max-height:90vh;overflow-y:auto}.receipt-header,.receipt-body,.receipt-footer{padding-left:18px;padding-right:18px}.receipt-title-row,.receipt-grid{grid-template-columns:1fr}.receipt-footer{flex-direction:column}.receipt-footer button{width:100%}}.receipt-brand{align-items:center;gap:14px;display:flex}.receipt-logo{object-fit:contain;width:58px;height:58px}.receipt-brand h2{margin:0}.receipt-brand p{margin:4px 0 0}@media print{body *{visibility:hidden}.modal-overlay,.modal-overlay *{visibility:visible}.modal-overlay{background:#fff!important;width:100%!important;height:auto!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important}.receipt-modal{width:100%!important;max-width:100%!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:0!important}.close-button,.receipt-footer{display:none!important}@page{size:A4;margin:15mm}body{background:#fff!important}.receipt-header{padding-top:0!important}.receipt-body{padding-bottom:0!important}}.receipt-modal{border-radius:16px;width:min(720px,100%);max-height:calc(100vh - 40px);margin:auto;position:relative;overflow-y:auto}.receipt-header{z-index:10;position:sticky;top:0}.receipt-body{padding-bottom:20px}.receipt-footer{z-index:10;padding:15px 20px;position:sticky;bottom:0}.status-badge.reversed{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.reversed-action{color:#b91c1c;font-size:13px;font-weight:600}tr:has(.status-badge.reversed){background:#fff8f8}tr:has(.status-badge.reversed) td{opacity:.75}.reverse-payment-modal{width:min(520px,92vw)}.reverse-payment-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.reverse-payment-summary>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.reverse-payment-summary span{color:#6b7280;margin-bottom:6px;font-size:12px;display:block}.reverse-payment-summary strong{color:#1f2937;font-size:14px}.reverse-payment-amount{color:#b91c1c!important;font-size:16px!important}.reverse-warning{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #ea580c;border-radius:10px;margin-bottom:20px;padding:14px 16px}.reverse-warning strong{color:#9a3412}.reverse-warning p{color:#7c2d12;margin:6px 0 0;font-size:14px;line-height:1.5}.danger-button:not(.icon-button){color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:10px 18px;font-weight:600;transition:all .2s}.danger-button:not(.icon-button):hover:not(:disabled){background:#b91c1c}.danger-button:not(.icon-button):disabled{opacity:.6;cursor:not-allowed}.device-table{min-width:1160px}.device-table th,.device-table td{white-space:nowrap;vertical-align:middle}.device-table th:nth-child(2),.device-table td:nth-child(2),.device-table th:nth-child(6),.device-table td:nth-child(6),.device-table th:nth-child(7),.device-table td:nth-child(7){overflow-wrap:anywhere;white-space:normal;max-width:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.device-table th:last-child,.device-table td:last-child{background:#fff;position:sticky;right:0;box-shadow:-6px 0 10px -10px #0f172a80}.device-table th:last-child,.device-table tbody tr:hover td:last-child{background:#f8fafc}@media (width<=768px){.device-table{min-width:1040px}.device-table th,.device-table td{padding:10px 8px}}@media (width<=600px){.reverse-payment-summary{grid-template-columns:1fr}}.customer-management-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0f172a0a}.customer-management-controls{border-bottom:1px solid #eef2f7;padding:18px 18px 0}.customer-search-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.customer-management-search{max-width:520px}.customer-status-tabs{align-items:center;gap:8px;padding-bottom:14px;display:flex;overflow-x:auto}.customer-status-tab{color:#475569;white-space:nowrap;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.customer-status-tab:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.customer-status-tab.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 5px 12px #2563eb2e}.customer-status-tab small{min-width:20px;height:20px;color:inherit;background:#64748b1f;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.customer-status-tab.active small{background:#fff3}.customer-management-table{min-width:1180px}.customer-management-table th{text-transform:uppercase;letter-spacing:.03em;font-size:11px}.customer-device-cell strong,.customer-device-cell span{display:block}.customer-device-cell strong{color:#0f172a;font-size:13px}.customer-device-cell span,.muted-value{color:#94a3b8;margin-top:3px;font-size:11px}.imei-cell{white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px!important}.connection-badge,.customer-lifecycle-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.connection-badge.connected{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.connection-badge.not-connected{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.connection-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.customer-lifecycle-badge.active{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.customer-lifecycle-badge.at_risk{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.customer-lifecycle-badge.released{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.customer-lifecycle-badge.archived{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.customer-lifecycle-badge.no_contract{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.customer-row-actions{flex-wrap:nowrap}.customer-empty-state{border:0;border-radius:0;min-height:260px}@media (width<=750px){.customer-search-row{flex-direction:column;align-items:stretch}.customer-management-search{max-width:none}.customer-search-row .secondary-button{align-self:flex-start}.customer-management-controls{padding:14px 14px 0}.customer-status-tabs{gap:6px}.customer-status-tab{padding:7px 10px}}.logo-section.qistshield-brand{gap:11px;padding:0 16px}.sidebar-brand-logo{object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0;width:48px;height:48px;padding:3px}.sidebar-brand-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.logo-section.qistshield-brand .sidebar-brand-copy h2{color:#fff;letter-spacing:-.2px;margin:0;font-size:17px;font-weight:800;line-height:1.1}.logo-section.qistshield-brand .sidebar-brand-copy span{color:#cbd5e1;white-space:normal;font-size:10.5px;line-height:1.25}.sidebar-footer .business-name strong{color:#fff;font-size:13px}.sidebar-footer .business-name span{color:#94a3b8;font-size:10px;line-height:1.35}@media (width<=750px){.sidebar-brand-logo{width:44px;height:44px}}.device-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:26px 26px 20px;display:grid}.device-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:16px;min-height:118px;padding:22px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 6px 20px #0f172a0b}.device-summary-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a12}.device-summary-icon{border-radius:13px;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.device-summary-content{min-width:0}.device-summary-content strong{color:#0f172a;letter-spacing:-.02em;margin-bottom:5px;font-size:27px;font-weight:800;line-height:1;display:block}.device-summary-content span{color:#64748b;font-size:12.5px;font-weight:600;display:block}.device-summary-card.total .device-summary-icon{color:#2563eb;background:#eff6ff}.device-summary-card.available .device-summary-icon{color:#059669;background:#ecfdf5}.device-summary-card.assigned .device-summary-icon{color:#7c3aed;background:#f5f3ff}.device-summary-card.locked .device-summary-icon{color:#dc2626;background:#fef2f2}.device-summary-card.total:hover{border-color:#bfdbfe}.device-summary-card.available:hover{border-color:#a7f3d0}.device-summary-card.assigned:hover{border-color:#ddd6fe}.device-summary-card.locked:hover{border-color:#fecaca}.device-management-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin:0 26px 28px;overflow:hidden;box-shadow:0 8px 24px #0f172a0b}.device-toolbar{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:22px;padding:20px 20px 18px;display:flex}.device-toolbar>div:first-child{min-width:180px}.device-toolbar h2{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:18px;font-weight:750}.device-toolbar p{color:#94a3b8;margin:5px 0 0;font-size:11.5px}.device-search-toolbar{flex:1;justify-content:flex-end;margin:0}.device-search-toolbar .search-box{border-radius:10px;width:min(100%,560px);max-width:560px}.device-table-card{box-shadow:none;border:0;border-radius:0}.device-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.device-table{table-layout:auto;min-width:1260px}.device-table thead th{color:#64748b;letter-spacing:.045em;text-transform:uppercase;vertical-align:middle;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:13px 14px;font-size:10.5px;font-weight:750}.device-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:15px 14px;font-size:12.5px}.device-table tbody tr:last-child td{border-bottom:0}.device-table tbody tr{transition:background .16s}.device-table tbody tr:hover{background:#fbfdff}.device-table th:first-child,.device-table td:first-child{text-align:center;width:62px}.device-table th:nth-child(2),.device-table td:nth-child(2){min-width:175px}.device-table th:nth-child(3),.device-table td:nth-child(3){min-width:110px}.device-table th:nth-child(4),.device-table td:nth-child(4){min-width:135px}.device-table th:nth-child(5),.device-table td:nth-child(5){text-align:center;width:90px}.device-table th:nth-child(6),.device-table td:nth-child(6),.device-table th:nth-child(7),.device-table td:nth-child(7){min-width:150px;max-width:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.device-table th:nth-child(8),.device-table td:nth-child(8),.device-table th:nth-child(9),.device-table td:nth-child(9),.device-table th:nth-child(10),.device-table td:nth-child(10){text-align:center;min-width:105px}.device-table th:last-child,.device-table td:last-child{z-index:2;background:#fff;min-width:220px;position:sticky;right:0;box-shadow:-9px 0 18px -18px #0f172a8c}.device-table thead th:last-child{z-index:4;background:#f8fafc}.device-table tbody tr:hover td:last-child{background:#fbfdff}.device-row-actions{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;display:flex}.device-row-actions .icon-button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:0 0 33px;width:33px;height:33px;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s}.device-row-actions .icon-button:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 10px #0f172a12}.device-row-actions .icon-button:first-child{color:#2563eb}.device-row-actions .icon-button.edit{color:#0f766e}.device-row-actions .icon-button.lock-device{color:#b45309;background:#fffbeb;border-color:#fde68a}.device-row-actions .icon-button.lock-device:hover{color:#92400e;background:#fef3c7;border-color:#fcd34d}.device-row-actions .icon-button.delete{color:#dc2626;background:snow;border-color:#fecaca}.device-row-actions .icon-button.delete:hover{background:#fef2f2;border-color:#fca5a5}@media (width<=1180px){.device-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-toolbar{flex-direction:column;align-items:stretch}.device-search-toolbar,.device-search-toolbar .search-box{width:100%;max-width:none}}@media (width<=750px){.device-summary-grid{grid-template-columns:1fr;gap:12px;margin:18px 15px 16px}.device-summary-card{min-height:94px;padding:17px}.device-management-card{border-radius:13px;margin:0 15px 20px}.device-toolbar{padding:16px 14px}.device-table{min-width:1180px}.device-table thead th,.device-table tbody td{padding-left:10px;padding-right:10px}}.qistshield-payments-page{padding-top:22px}.payment-range-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.payment-range-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:16px;min-height:112px;padding:21px 22px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 6px 20px #0f172a0b}.payment-range-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a12}.payment-range-icon{border-radius:14px;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.payment-range-card strong{color:#0f172a;letter-spacing:-.025em;font-size:25px;font-weight:800;line-height:1.15;display:block}.payment-range-card span{color:#64748b;margin-top:6px;font-size:12.5px;font-weight:600;display:block}.payment-range-card.installments{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}.payment-range-card.installments .payment-range-icon{color:#2563eb;background:#eff6ff}.payment-range-card.installments:hover{border-color:#bfdbfe}.payment-range-card.pending{background:linear-gradient(135deg,#fff 0%,#fffdf5 100%)}.payment-range-card.pending .payment-range-icon{color:#b45309;background:#fffbeb}.payment-range-card.pending:hover{border-color:#fde68a}.payment-range-card.overdue{background:linear-gradient(135deg,#fff 0%,#fff8f8 100%)}.payment-range-card.overdue .payment-range-icon{color:#dc2626;background:#fef2f2}.payment-range-card.overdue:hover{border-color:#fecaca}.payment-range-card.revenue{background:linear-gradient(135deg,#fff 0%,#f5fff9 100%)}.payment-range-card.revenue .payment-range-icon{color:#059669;background:#ecfdf5}.payment-range-card.revenue:hover{border-color:#a7f3d0}.payment-receive-shell{background:#fff;border:1px solid #dfe7f1;border-radius:17px;max-width:1040px;margin:0 auto 24px;overflow:hidden;box-shadow:0 9px 30px #0f172a0e}.payment-receive-heading{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);border-bottom:1px solid #e8eef6;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.payment-receive-title{align-items:center;gap:13px;display:flex}.payment-receive-title-icon{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.payment-receive-heading h2{color:#0f172a;margin:0;font-size:18px;font-weight:800}.payment-receive-heading p{color:#64748b;margin:4px 0 0;font-size:11.5px}.payment-secure-label{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:7px 10px;font-size:10.5px;font-weight:750}.payment-form-enhanced{padding:22px}.payment-contract-select-row{grid-template-columns:minmax(0,1fr);margin-bottom:14px;display:grid}.payment-form-enhanced .form-group{margin:0}.payment-form-enhanced .form-group label{color:#475569;margin-bottom:7px;font-size:11.5px;font-weight:700;display:block}.payment-form-enhanced input,.payment-form-enhanced select,.payment-form-enhanced textarea{color:#0f172a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:9px;outline:none;padding:10px 12px;font-size:12.5px;transition:border-color .16s,box-shadow .16s}.payment-form-enhanced textarea{resize:vertical;min-height:42px}.payment-form-enhanced input:focus,.payment-form-enhanced select:focus,.payment-form-enhanced textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb17}.payment-info-grid,.payment-next-installment-grid{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;padding:0;display:grid}.payment-info-grid>div,.payment-next-installment-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-height:70px;padding:13px 14px}.payment-info-grid span,.payment-next-installment-grid span{color:#64748b;margin-bottom:6px;font-size:10.5px;font-weight:650;display:block}.payment-info-grid strong,.payment-next-installment-grid strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px;font-weight:750;display:block}.payment-next-installment-grid>div{background:#eff6ff;border-color:#dbeafe}.payment-next-installment-grid strong{color:#1d4ed8}.payment-accent-value{color:#dc2626!important}.payment-entry-grid{grid-template-columns:1fr 1fr 1.6fr;align-items:end;gap:14px;margin-top:16px;display:grid}.payment-notes-field textarea{height:42px}.payment-submit-row{justify-content:flex-end;margin-top:17px;display:flex}.payment-submit-enhanced{border-radius:9px;justify-content:center;min-width:190px;box-shadow:0 5px 14px #2563eb2e}.payment-ledger-shell{background:#fff;border:1px solid #dfe7f1;border-radius:17px;margin-bottom:24px;overflow:hidden;box-shadow:0 8px 26px #0f172a0b}.payment-ledger-heading{justify-content:space-between;align-items:center;gap:18px;padding:20px 22px 15px;display:flex}.payment-ledger-heading h2{color:#0f172a;margin:0;font-size:18px;font-weight:800}.payment-ledger-heading p{color:#94a3b8;margin:5px 0 0;font-size:11.5px}.payment-ledger-period{color:#64748b;white-space:nowrap;align-items:center;gap:7px;font-size:11.5px;display:inline-flex}.payment-ledger-tabs{border-bottom:1px solid #edf2f7;align-items:center;gap:8px;padding:0 22px 16px;display:flex}.payment-ledger-tab{color:#475569;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-size:12px;font-weight:700;transition:background .16s,color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.payment-ledger-tab span{color:#64748b;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 6px;font-size:10px;font-weight:800;display:inline-flex}.payment-ledger-tab:hover{background:#f8fafc;border-color:#e2e8f0}.payment-ledger-tab.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 5px 13px #2563eb2e}.payment-ledger-tab.active span{color:#fff;background:#fff3}.payment-report-toolbar{background:#fbfcfe;border-bottom:1px solid #edf2f7;grid-template-columns:minmax(250px,1.7fr) minmax(135px,.7fr) minmax(135px,.7fr) auto auto;align-items:end;gap:10px;padding:17px 22px;display:grid}.payment-report-search{color:#94a3b8;background:#fff;border:1px solid #dbe3ee;border-radius:9px;align-items:center;gap:9px;height:42px;padding:0 12px;display:flex}.payment-report-search:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb14}.payment-report-search input{color:#0f172a;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:12px}.payment-date-field label{color:#64748b;letter-spacing:.055em;text-transform:uppercase;margin-bottom:5px;font-size:9.5px;font-weight:800;display:block}.payment-date-field>div{background:#fff;border:1px solid #dbe3ee;border-radius:9px;align-items:center;gap:7px;height:42px;padding:0 9px;display:flex}.payment-date-field svg{color:#94a3b8;flex:none}.payment-date-field input{color:#334155;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:11.5px}.payment-generate-report{white-space:nowrap;border-radius:9px;height:42px}.payment-quick-ranges{align-items:center;gap:6px;height:42px;display:flex}.payment-quick-ranges button{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dbe3ee;border-radius:8px;height:36px;padding:0 10px;font-size:10.5px;font-weight:700;transition:border-color .16s,color .16s,background .16s}.payment-quick-ranges button:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.payment-ledger-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.payment-ledger-table{min-width:1320px}.payment-ledger-table thead th{color:#64748b;letter-spacing:.045em;text-transform:uppercase;vertical-align:middle;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 13px;font-size:10px;font-weight:800}.payment-ledger-table tbody td{color:#334155;vertical-align:middle;border-bottom:1px solid #eef2f7;padding:13px;font-size:11.5px}.payment-ledger-table tbody tr:last-child td{border-bottom:0}.payment-ledger-table tbody tr:hover{background:#fbfdff}.payment-customer-cell,.payment-device-cell{flex-direction:column;gap:2px;display:flex}.payment-customer-cell strong,.payment-device-cell strong{color:#0f172a;font-size:11.5px;font-weight:750}.payment-customer-cell span,.payment-device-cell span,.payment-customer-cell small{color:#94a3b8;font-size:9.5px}.payment-device-cell span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.payment-contract-code{color:#1e3a8a;font-size:10.5px}.payment-paid-value{font-weight:700;color:#059669!important}.payment-remaining-value{font-weight:700;color:#b45309!important}.payment-ledger-status{text-transform:capitalize;justify-content:center;min-width:67px}.status-badge.payment-ledger-status.partial{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.status-badge.payment-ledger-status.pending{color:#a16207;background:#fffbeb;border:1px solid #fde68a}.status-badge.payment-ledger-status.overdue{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.status-badge.payment-ledger-status.paid{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.payment-ledger-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.payment-receive-shortcut{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;min-height:31px;padding:6px 10px}.payment-ledger-empty{height:190px}.payment-ledger-empty svg,.payment-ledger-empty strong,.payment-ledger-empty span{margin-left:auto;margin-right:auto;display:block}.payment-ledger-empty svg{color:#cbd5e1;margin-bottom:9px}.payment-ledger-empty strong{color:#475569;margin-bottom:4px}.payment-ledger-empty span{color:#94a3b8;font-size:11px}.payment-history-enhanced{border-radius:16px;margin-top:0;box-shadow:0 8px 26px #0f172a0b}@media (width<=1280px){.payment-report-toolbar{grid-template-columns:minmax(240px,1.4fr) minmax(135px,.7fr) minmax(135px,.7fr) auto}.payment-quick-ranges{grid-column:1/-1;justify-content:flex-end}}@media (width<=1000px){.payment-range-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-entry-grid{grid-template-columns:1fr 1fr}.payment-notes-field{grid-column:1/-1}.payment-report-toolbar{grid-template-columns:1fr 1fr}.payment-report-search{grid-column:1/-1}.payment-generate-report{width:100%}.payment-quick-ranges{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;height:auto}}@media (width<=750px){.payment-range-summary-grid{grid-template-columns:1fr;gap:12px}.payment-range-card{min-height:92px;padding:17px}.payment-receive-heading,.payment-ledger-heading{flex-direction:column;align-items:flex-start}.payment-secure-label{align-self:flex-start}.payment-form-enhanced,.payment-report-toolbar{padding-left:14px;padding-right:14px}.payment-info-grid,.payment-next-installment-grid,.payment-entry-grid,.payment-report-toolbar{grid-template-columns:1fr}.payment-notes-field,.payment-report-search,.payment-quick-ranges{grid-column:auto}.payment-submit-row{justify-content:stretch}.payment-submit-enhanced{width:100%}.payment-ledger-tabs{padding-left:14px;padding-right:14px;overflow-x:auto}.payment-ledger-heading{padding-left:14px;padding-right:14px}.payment-quick-ranges{justify-content:stretch}.payment-quick-ranges button{flex:1}}:root{--qs-page-max:1500px;--qs-space-page:32px;--qs-card-radius:12px;--qs-control-height:42px}.dashboard-content,.products-page,.collection-page,.page-section{width:100%;max-width:var(--qs-page-max);margin-left:auto;margin-right:auto}.dashboard-content{padding:28px var(--qs-space-page) 40px}.topbar{gap:20px;height:auto;min-height:82px}.topbar-left{min-width:0}.topbar h1{line-height:1.2}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.table-card,.device-management-card,.payment-history-card,.payment-ledger-shell,.report-filter-card,.report-result,.collection-card,.customer-summary{border-radius:var(--qs-card-radius)}.page-toolbar,.search-toolbar,.device-toolbar,.payment-report-toolbar,.customer-management-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-toolbar>*,.search-toolbar>*,.device-toolbar>*,.payment-report-toolbar>*,.customer-management-controls>*{min-width:0}.search-box,.payment-report-search,.customer-management-search{width:100%;max-width:480px}.search-box input,.payment-report-search input,.customer-management-search input{min-height:var(--qs-control-height)}.primary-button,.secondary-button,.refresh-button,.receive-payment-button,.payment-submit,.payment-generate-report{min-height:var(--qs-control-height);white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-button,.secondary-button{line-height:1.2}.form-grid,.payment-entry-grid{align-items:start}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group textarea{resize:vertical}.table-wrapper,.device-table-wrapper,.payment-ledger-table-wrapper,.report-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table,.device-table,.payment-table,.installment-table{border-collapse:collapse}.data-table th,.data-table td,.device-table th,.device-table td,.payment-table th,.payment-table td,.installment-table th,.installment-table td{vertical-align:middle}.table-actions,.device-row-actions{align-items:center;gap:6px;display:flex}.modal-overlay{padding:20px;overflow-y:auto}.modal,.receipt-modal,.customer-dashboard-modal{max-height:calc(100vh - 40px);overflow-y:auto}.stats-grid,.device-summary-grid,.payment-range-summary-grid,.report-summary-grid,.customer-dashboard-stats{align-items:stretch}@media (width<=1000px){:root{--qs-space-page:22px}.topbar{padding-left:22px;padding-right:22px}.stats-grid,.device-summary-grid,.payment-range-summary-grid,.report-summary-grid,.customer-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-toolbar,.search-toolbar,.device-toolbar,.payment-report-toolbar{align-items:stretch}}@media (width<=750px){:root{--qs-space-page:16px}.topbar{align-items:flex-start;min-height:72px;padding:14px 16px}.topbar h1{font-size:21px}.topbar-actions{justify-content:flex-start;width:100%}.dashboard-content{padding-top:20px}.page-toolbar,.search-toolbar,.device-toolbar,.payment-report-toolbar,.customer-management-controls{flex-direction:column;align-items:stretch}.search-box,.payment-report-search,.customer-management-search{max-width:none}.stats-grid,.device-summary-grid,.payment-range-summary-grid,.report-summary-grid,.customer-dashboard-stats,.form-grid,.payment-entry-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:1}.primary-button,.secondary-button,.payment-submit,.payment-generate-report{max-width:100%}.modal-overlay{padding:10px}.modal,.receipt-modal,.customer-dashboard-modal{width:100%;max-width:100%;max-height:calc(100vh - 20px)}}.ledger-modal-footer{z-index:5;background:#fff;border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;padding:16px 22px;display:flex;position:sticky;bottom:0}.ledger-close-button{justify-content:center;align-items:center;gap:7px;min-width:120px;display:inline-flex}.collection-page{width:100%;max-width:1500px;margin:0 auto;padding:30px 32px 48px}.collection-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.collection-header h1{color:#0f172a;margin:0;font-size:30px;font-weight:700}.collection-header p{color:#64748b;margin:6px 0 0;font-size:15px}.collection-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:20px;padding:24px;box-shadow:0 2px 8px #0f172a0a}.collection-card h2{color:#0f172a;margin:0 0 18px;font-size:21px}.collection-search{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;height:44px;padding:0 14px;font-size:15px}.collection-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.contract-results{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;overflow:hidden}.contract-result{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:70px;padding:13px 16px;display:flex}.contract-result:last-child{border-bottom:0}.contract-result:hover{background:#f8fafc}.contract-result>div{flex-direction:column;gap:4px;display:flex}.contract-result strong{color:#0f172a;font-size:15px}.contract-result span{color:#64748b;font-size:13px}.result-right{text-align:right;align-items:flex-end}.no-results,.no-history{color:#64748b;text-align:center;padding:18px}.customer-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.customer-heading h2{margin-bottom:5px}.customer-heading p{color:#64748b;margin:0}.contract-number{color:#1d4ed8;background:#eff6ff;border-radius:8px;padding:8px 12px;font-weight:600}.collection-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.summary-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.summary-box span{color:#64748b;margin-bottom:7px;font-size:13px;display:block}.summary-box strong{color:#0f172a;font-size:19px}.next-installment{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.next-installment>div{background:#f8fafc;border-radius:9px;padding:14px 16px}.next-installment span{color:#64748b;margin-bottom:5px;font-size:13px;display:block}.next-installment strong{color:#0f172a;font-size:17px}.remaining-amount{color:#dc2626!important}.paid-message{color:#047857;background:#ecfdf5;border-radius:9px;padding:18px;font-weight:600}.payment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.payment-form .full-width{grid-column:1/-1}.payment-form label{color:#334155;margin-bottom:7px;font-weight:600;display:block}.payment-form input,.payment-form select,.payment-form textarea{width:100%;font:inherit;border:1px solid #cbd5e1;border-radius:9px;outline:none;padding:11px 13px}.payment-form input,.payment-form select{min-height:44px}.payment-form textarea{resize:vertical;min-height:90px}.payment-form input:focus,.payment-form select:focus,.payment-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.payment-action{justify-content:flex-end;margin-top:18px;display:flex}.receive-payment-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:9px;min-height:44px;padding:0 20px;font-weight:600}.receive-payment-button:hover{background:#1d4ed8}.receive-payment-button:disabled{opacity:.6;cursor:not-allowed}.history-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.history-header h2{margin:0}.history-header span{color:#64748b;font-size:13px}.payment-table-wrapper{border:1px solid #e2e8f0;border-radius:10px;width:100%;overflow-x:auto}.payment-table{border-collapse:collapse;width:100%;min-width:900px}.payment-table th{color:#475569;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 14px;font-size:12px}.payment-table td{color:#334155;border-bottom:1px solid #eef2f7;padding:13px 14px}.payment-table tbody tr:hover{background:#f8fafc}.status-active{color:#15803d;background:#dcfce7;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.status-reversed{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.reverse-button{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:7px;padding:6px 10px}.collection-success,.collection-error{border-radius:9px;margin-bottom:18px;padding:12px 16px}.collection-success{color:#047857;background:#ecfdf5}.collection-error{color:#b91c1c;background:#fef2f2}.page-section{width:100%;max-width:1500px;margin:0 auto;padding:30px 32px 48px}.page-header{margin-bottom:22px}.page-header h1{color:#0f172a;margin:0;font-size:30px;line-height:1.2}.page-header p{color:#64748b;margin:7px 0 0;font-size:15px}.report-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.report-tab{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:40px;padding:0 16px;font-weight:600;transition:all .15s}.report-tab:hover{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.report-tab.active{color:#fff;background:#2563eb;border-color:#2563eb}.report-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;padding:20px;display:flex}.report-filter-card .form-group{flex:1;min-width:220px}.report-filter-card .form-grid{flex:1;min-width:460px}.report-filter-card label{color:#334155;margin-bottom:7px;font-size:13px;font-weight:600;display:block}.report-filter-card input,.report-filter-card select{width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px}.report-filter-card .primary-button{min-height:42px;padding:0 18px}.report-result{margin-top:20px}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px;display:grid}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:11px;min-height:100px;padding:18px}.summary-card span{color:#64748b;margin-bottom:8px;font-size:13px;display:block}.summary-card strong{color:#0f172a;font-size:20px}.report-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:11px;width:100%;overflow-x:auto}.report-table-wrapper .data-table{border-collapse:collapse;width:100%;min-width:1000px}.report-table-wrapper .data-table th{color:#475569;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:13px 14px;font-size:12px;font-weight:700}.report-table-wrapper .data-table td{color:#334155;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:14px}.report-table-wrapper .data-table tbody tr:hover{background:#f8fafc}.error-message{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:16px 0;padding:12px 15px}.ledger-modal-footer{background:#fff;border-top:1px solid #e2e8f0;flex:none;justify-content:flex-end;align-items:center;padding:14px 20px;display:flex}.ledger-close-button{justify-content:center;align-items:center;gap:7px;min-width:120px;min-height:42px;display:inline-flex}@media (width<=1000px){.collection-summary,.next-installment,.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=750px){.collection-page,.page-section{padding:20px 16px 35px}.collection-summary,.next-installment,.report-summary-grid,.payment-form{grid-template-columns:1fr}.customer-heading,.contract-result{flex-direction:column;align-items:flex-start}.result-right{text-align:left;align-items:flex-start}.report-filter-card{flex-direction:column;align-items:stretch}.report-filter-card .form-group,.report-filter-card .form-grid{width:100%;min-width:0}.report-tabs{grid-template-columns:1fr 1fr;display:grid}.report-tab{width:100%}}.modal{background:#fff;border-radius:16px;width:min(760px,100vw - 40px);max-height:calc(100vh - 40px);overflow:hidden auto;box-shadow:0 24px 70px #0f172a3d}.modal-header{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:22px 28px;display:flex;position:sticky;top:0}.modal-header h2{color:#0f172a;margin:0;font-size:26px;line-height:1.2}.modal-header p{color:#64748b;margin:6px 0 0;font-size:14px}.close-button,.modal-close{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:8px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.close-button:hover,.modal-close:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.modal-body{padding:24px 28px}.modal>form{margin:0}.modal>form>.form-grid{padding:24px 28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;display:grid}.form-group{flex-direction:column;gap:7px;min-width:0;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:#334155;font-size:13px;font-weight:600;line-height:1.3;display:block}.form-group input,.form-group select,.form-group textarea,.modal-body input,.modal-body select,.modal-body textarea{box-sizing:border-box;color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;font-size:14px}.form-group input,.form-group select,.modal-body input,.modal-body select{min-height:46px;padding:0 13px}.form-group textarea,.modal-body textarea{resize:vertical;min-height:92px;padding:11px 13px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input:disabled,.form-group select:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.modal-footer{z-index:10;background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:16px 28px;display:flex;position:sticky;bottom:0}.modal-footer .primary-button,.modal-footer .secondary-button{min-height:44px;padding:0 18px}.modal-body>.form-group,.modal-body>.form-grid{margin-bottom:18px}.modal-body>.form-grid:last-of-type{margin-bottom:20px}.modal-body .customer-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;margin-bottom:6px;display:grid}.modal-body .customer-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:16px}.modal-body .customer-summary strong{color:#0f172a;margin-bottom:6px;font-size:19px;display:block}.modal-body .customer-summary span{color:#64748b;font-size:12px}.modal-body,.modal-body *,.modal form,.modal form *{box-sizing:border-box;max-width:100%}.modal>form>.form-grid+.modal-footer{margin-top:0}.modal-header+div:not(.loading){padding:24px 28px}.modal-header+div:not(.loading)>.form-grid{gap:14px}.modal-header+div:not(.loading)>.form-grid .form-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:14px 16px}.modal-header+div:not(.loading) .form-group strong{color:#0f172a;word-break:break-word;font-size:15px;display:block}.modal-header+div:not(.loading) hr{border:0;border-top:1px solid #e2e8f0;margin:22px 0}.modal-header+div:not(.loading) h3{color:#0f172a;margin:0 0 14px;font-size:18px}.modal-header+div:not(.loading)>p{color:#64748b;background:#f8fafc;border-radius:9px;margin:0 0 18px;padding:14px 16px}.modal-header+div:not(.loading)>.modal-footer{margin:24px -28px -24px}@media (width<=750px){.modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.modal-header,.modal-body,.modal>form>.form-grid,.modal-footer{padding-left:18px;padding-right:18px}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:1}.modal-body .customer-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-header+div:not(.loading){padding:20px 18px}.modal-header+div:not(.loading)>.modal-footer{margin:22px -18px -20px}}@media (width<=520px){.modal-body .customer-summary{grid-template-columns:1fr}}
