.billing-page{background:var(--ethos-canvas,#f8f9fa);box-sizing:border-box;display:flex;flex-direction:column;gap:24px;margin:0;max-width:100%;padding:0}.loading-state{padding:48px 20px;text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-light,#e5e7eb);border-radius:50%;border-top-color:var(--color-success,#10b981);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:var(--text-muted,#64748b);font-size:14px;margin:0}.stats-grid{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:24px!important;margin:0!important;padding:var(--ethos-panel-padding-lg,16px) 24px}.stats-grid .stat-card{align-items:center!important;background:var(--bg-secondary,#f9fafb)!important;border:1px solid var(--border-light,#e5e7eb)!important;border-radius:8px!important;box-shadow:none!important;display:flex!important;flex:1!important;gap:12px!important;min-width:200px!important;padding:16px!important;text-align:left!important}.stats-grid .stat-value{flex-shrink:0!important;font-size:32px!important;font-weight:700!important;line-height:1!important;margin:0!important}.stats-grid .stat-value,.stats-grid .stat-value.pending,.stats-grid .stat-value.total{color:var(--text-primary,#2563eb)!important}.stats-grid .stat-value.paid{color:var(--color-success,#10b981)!important}.stats-grid .stat-value.count{color:var(--text-primary,#2563eb)!important}.stats-grid .stat-label{color:var(--text-muted,#64748b)!important;flex:0 1 auto!important;font-size:13px!important;line-height:1.3!important;margin:0!important;text-align:left!important}.billing-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:var(--ethos-panel-padding-lg,16px) 24px}.search-container{flex:1;min-width:250px;position:relative}.search-icon{color:var(--text-muted,#64748b);font-size:20px;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:#f8f9fa;border:1px solid var(--border-medium,#d1d5db);border-radius:12px;box-sizing:border-box;color:var(--text-primary,#1f2937);font-size:15px;padding:14px 16px 14px 44px;transition:all .2s ease;width:100%}.search-input::-moz-placeholder{color:var(--text-primary,#9ca3af)}.search-input::placeholder{color:var(--text-primary,#9ca3af)}.search-input:focus,.search-input:not([value=""]){background:#fff;border-color:var(--text-primary,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.1);outline:none}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--bg-primary,#fff);background-color:var(--bg-primary,#fff);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:1px solid var(--border-medium,#d1d5db);border-radius:12px;cursor:pointer;font-size:15px;min-width:160px;padding:14px 44px 14px 16px;transition:all .2s}.filter-select::-ms-expand{display:none}.filter-select::-webkit-calendar-picker-indicator,.filter-select::-webkit-inner-spin-button,.filter-select::-webkit-outer-spin-button{-webkit-appearance:none;display:none}.filter-select:focus{border-color:var(--text-primary,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.1);outline:none}.add-claim-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 2px 4px rgba(16,185,129,.2);color:var(--white,#fff);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:14px 24px;transition:all .2s;white-space:nowrap}.add-claim-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px rgba(16,185,129,.3);transform:translateY(-2px)}.add-claim-btn:active{box-shadow:0 2px 4px rgba(16,185,129,.2);transform:translateY(0)}.bulk-actions-bar{align-items:center;background:#f3f4f6;border:1px solid var(--border-medium,#d1d5db);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.bulk-actions-info{color:var(--text-secondary,#374151);font-size:14px;font-weight:500}.bulk-actions-buttons{display:flex;flex-wrap:wrap;gap:8px}.bulk-delete-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;box-shadow:0 2px 4px rgba(239,68,68,.2);color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.bulk-delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px rgba(239,68,68,.3);transform:translateY(-2px)}.bulk-cancel-btn{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:12px;color:var(--text-muted,#64748b);cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.bulk-cancel-btn:hover{background:var(--bg-secondary,#f9fafb);transform:translateY(-2px)}.error-banner{align-items:center;background:#fef2f2;border:1px solid var(--border-light,#fecaca);border-radius:12px;display:flex;gap:10px;margin-bottom:24px;padding:16px}.error-icon{color:var(--color-error,#ef4444);font-size:20px}.error-message{color:var(--color-error,#dc2626);flex:1;font-size:14px}.claims-container{background:transparent;border:none;border-radius:0;box-shadow:none;overflow:hidden}.billing-page .ethos-layout-panel:has(.claims-container) .ethos-panel-content{padding:12px!important}.empty-state{padding:64px 24px;text-align:center}.empty-icon{color:var(--text-primary,#d1d5db);font-size:64px;margin-bottom:16px}.empty-title{color:var(--text-secondary,#374151);font-size:20px;font-weight:600;margin:0 0 8px}.empty-subtitle{color:var(--text-muted,#64748b);font-size:14px;margin:0}.claims-list-mobile{display:flex;flex-direction:column;gap:12px;padding:12px}.claim-card{background:var(--bg-primary,#fff);border:none;border-bottom:1px solid rgba(229,231,235,.5);border-radius:0;box-shadow:none;cursor:pointer;padding:16px;position:relative;transition:all .2s}.claim-card:hover{background:var(--bg-secondary,#f9fafb);transform:none}.claim-card:active{transform:translateY(0)}.claim-checkbox-mobile{position:absolute;right:16px;top:16px}.claim-header{border:none;margin-bottom:12px;padding-bottom:0}.claim-number{color:var(--text-primary,#1e3a8a);font-size:15px;font-weight:700;margin-bottom:4px}.claim-date{color:var(--text-muted,#64748b);font-size:12px}.claim-body{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.claim-row{align-items:center;display:flex;font-size:14px;justify-content:space-between}.claim-label{color:var(--text-muted,#64748b);font-weight:500}.claim-value{color:var(--text-secondary,#374151);font-weight:600;text-align:right}.claim-value.patient-name{color:var(--text-primary,#1e3a8a)}.claim-value.amount{color:var(--color-success,#10b981);font-size:16px}.claim-footer{align-items:center;border:1px solid var(--border-light,#e5e7eb);display:flex;justify-content:space-between;padding-top:12px}.claim-status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.claim-status-badge.pending{background:#fef3c7;color:var(--text-primary,#92400e)}.claim-status-badge.submitted{background:#dbeafe;color:var(--text-primary,#1e40af)}.claim-status-badge.approved{background:#d1fae5;color:var(--text-primary,#065f46)}.claim-status-badge.denied{background:#fee2e2;color:var(--text-primary,#991b1b)}.claim-status-badge.paid{background:#d1fae5;color:var(--text-primary,#065f46)}.claim-status-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid var(--border-medium,#d1d5db);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;min-width:100px;outline:none;padding:6px 32px 6px 12px;transition:all .2s ease;width:100%}.claim-status-select:focus,.claim-status-select:hover{border-color:var(--ethos-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.claim-status-select:focus{outline:none}.claim-status-select::-ms-expand{display:none}.claim-status-select-pending{background-color:#f3f4f6;color:#374151}.claim-status-select-pending:focus,.claim-status-select-pending:hover{background-color:#e5e7eb}.claim-status-select-submitted{background-color:#fef3c7;border-color:#fcd34d;color:#92400e}.claim-status-select-submitted:focus,.claim-status-select-submitted:hover{background-color:#fde68a;border-color:#fbbf24}.claim-status-select-approved{background-color:#dbeafe;border-color:#93c5fd;color:#1e40af}.claim-status-select-approved:focus,.claim-status-select-approved:hover{background-color:#bfdbfe;border-color:#60a5fa}.claim-status-select-denied{background-color:#fee2e2;border-color:#fca5a5;color:#dc2626}.claim-status-select-denied:focus,.claim-status-select-denied:hover{background-color:#fecaca;border-color:#f87171}.claim-status-select-paid{background-color:#d1fae5;border-color:#6ee7b7;color:#065f46}.claim-status-select-paid:focus,.claim-status-select-paid:hover{background-color:#a7f3d0;border-color:#34d399}.claim-compliance{align-items:center;color:var(--color-success,#10b981);display:flex;font-size:12px;gap:6px}.claim-compliance.warning{color:var(--text-primary,#f59e0b)}.claim-compliance.error{color:var(--color-error,#ef4444)}.claim-compliance-icon{font-size:16px}.claims-list-desktop{display:none;padding:0}.table-header{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);color:var(--text-primary,#1e3a8a);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-header,.table-row{align-items:center;display:grid;gap:24px;grid-template-columns:auto 1.2fr 1.5fr 1.5fr 1fr 1fr 1.3fr;padding:20px 24px}.table-row{border:1px solid var(--border-light,#f3f4f6);cursor:pointer;font-size:15px;transition:all .2s ease}.table-row:hover{background:var(--bg-secondary,#f9fafb);transform:translateX(4px)}.table-row:last-child{border-bottom:none}.table-cell-primary{color:var(--text-primary,#1f2937);font-weight:600}.table-cell-patient{color:var(--text-primary,#1e3a8a);font-weight:600}.table-cell-amount{color:var(--color-success,#10b981);font-weight:600}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.status-badge.pending{background:#fef3c7;color:var(--text-primary,#92400e)}.status-badge.submitted{background:#dbeafe;color:var(--text-primary,#1e40af)}.status-badge.approved{background:#d1fae5;color:var(--text-primary,#065f46)}.status-badge.denied{background:#fee2e2;color:var(--text-primary,#991b1b)}.status-badge.paid{background:#d1fae5;color:var(--text-primary,#065f46)}.compliance-indicator{align-items:center;display:flex;font-size:13px;font-weight:500;gap:6px}.compliance-indicator.success{color:var(--color-success,#10b981)}.compliance-indicator.warning{color:var(--text-primary,#f59e0b)}.compliance-indicator.error{color:var(--color-error,#ef4444)}input[type=checkbox],input[type=checkbox].claim-checkbox-mobile,input[type=checkbox].table-checkbox{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-color:var(--bg-primary,#fff)!important;border:2px solid #d1d5db!important;border-radius:2px;cursor:pointer;flex-shrink:0;height:18px!important;margin:0;min-height:18px!important;min-width:18px!important;position:relative;width:18px!important}input[type=checkbox].claim-checkbox-mobile:checked,input[type=checkbox].table-checkbox:checked,input[type=checkbox]:checked{background-color:var(--bg-primary,#fff)!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m2 7 3 3 7-7'/%3E%3C/svg%3E")!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:14px 14px!important;border-color:var(--color-success,#10b981)!important}@media(max-width:767px){.stats-grid{flex-direction:column}}@media(min-width:768px){.billing-page{padding:0}.stats-grid{flex-direction:row;gap:24px}.stat-card{padding:16px}.stat-value{font-size:32px}.stat-label{font-size:13px}.billing-toolbar{gap:16px}.claims-list-mobile{display:none}.claims-list-desktop{display:block}}@media(min-width:1024px){.billing-toolbar{flex-wrap:nowrap}.search-container{min-width:300px}}@media print{.billing-page{padding:0}.add-claim-btn,.billing-toolbar,.bulk-actions-bar{display:none!important}.claims-container{border:1px solid var(--border-light,#e5e7eb);box-shadow:none}.claims-list-mobile{display:none!important}.claims-list-desktop{display:block!important}.claim-checkbox-mobile,.table-checkbox{display:none!important}}.analytics-enhanced{margin:0 auto;max-width:1400px;padding:24px}.analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.analytics-header h1{color:#1f2937;font-size:32px;font-weight:700;margin:0}.btn-refresh,.btn-retry{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:background .2s}.btn-refresh:hover,.btn-retry:hover{background:#2563eb}.error-container,.loading-container{padding:64px 24px;text-align:center}.loading-spinner{align-items:center;animation:fadeInOut 2s ease-in-out infinite;display:flex;height:48px;justify-content:center;margin:0 auto 16px;width:48px}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:1}}.error-container p{color:#ef4444;margin-bottom:16px}.overview-section{margin-bottom:32px}.overview-section h2{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:16px}.stat-cards{display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}@media(max-width:1200px)and (min-width:769px){.stat-cards{grid-template-columns:repeat(2,1fr)}}.stat-card{align-items:center;background:#fff;border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);display:flex;gap:16px;padding:24px}.stat-card.primary{border-left-color:#3b82f6}.stat-card.success{border-left-color:#10b981}.stat-card.revenue{border-left-color:#8b5cf6}.stat-card.warning{border-left-color:#f59e0b}.stat-icon{align-items:center;background:#f3f4f6;border-radius:12px;color:#6b7280;display:flex;height:56px;justify-content:center;width:56px}.stat-card.primary .stat-icon{background:#dbeafe;color:#3b82f6}.stat-card.success .stat-icon{background:#d1fae5;color:#10b981}.stat-card.revenue .stat-icon{background:#ede9fe;color:#8b5cf6}.stat-card.warning .stat-icon{background:#fef3c7;color:#f59e0b}.stat-content{flex:1}.stat-value{color:#1f2937;font-size:32px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label{color:#6b7280;font-size:14px;font-weight:500;margin-bottom:4px}.stat-subtext{color:#9ca3af;font-size:13px}.revenue-section{margin-bottom:32px}.revenue-section h2{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:16px}.revenue-grid{display:grid;gap:20px}.revenue-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:24px}.revenue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.revenue-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.revenue-trend{align-items:center;color:#10b981;display:flex;font-size:14px;font-weight:600;gap:6px}.revenue-stats{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.revenue-stat{display:flex;flex-direction:column;gap:4px}.revenue-stat .label{color:#6b7280;font-size:13px;font-weight:500}.revenue-stat .value{color:#1f2937;font-size:24px;font-weight:700}.revenue-stat .value.success{color:#10b981}.revenue-stat .value.warning{color:#f59e0b}.progress-bar{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:#3b82f6;height:100%;transition:width .3s ease}.progress-fill.success{background:#10b981}.demographics-section{margin-bottom:32px}.demographics-section h2{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:16px}.demographics-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.demo-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:24px}.demo-card h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.demo-chart{display:flex;flex-direction:column;gap:12px}.chart-bar{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(150px,280px) 1fr 80px}.bar-label{color:#6b7280;cursor:default;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-container{background:#f3f4f6;border-radius:4px;height:32px;overflow:hidden;position:relative}.bar-fill{align-items:center;background:linear-gradient(90deg,#3b82f6,#2563eb);display:flex;height:100%;justify-content:flex-end;padding-right:8px;transition:width .3s ease}.bar-fill.gender{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.bar-value{color:#fff;font-size:13px;font-weight:600}.bar-percent{color:#6b7280;font-size:14px;font-weight:600;text-align:right}.providers-section{margin-bottom:32px}.providers-section h2{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:16px}.providers-table{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.providers-table table{border-collapse:collapse;width:100%}.providers-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.providers-table th{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.providers-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .2s}.providers-table tbody tr:hover{background:#f9fafb}.providers-table td{color:#1f2937;font-size:14px;padding:16px}.provider-name{color:#1f2937;font-weight:600}.providers-table td.success{color:#10b981;font-weight:600}.mini-progress{align-items:center;display:flex;gap:8px}.mini-progress-fill{background:#3b82f6;border-radius:3px;flex:1;height:6px;max-width:100px}.mini-progress-fill.success{background:#10b981}.mini-progress span{font-size:13px;font-weight:600;min-width:50px}@media(max-width:1024px){.analytics-enhanced{padding:20px}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.demographics-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.revenue-stats{grid-template-columns:repeat(2,1fr)}.chart-bar{grid-template-columns:minmax(120px,200px) 1fr 70px}}@media(max-width:768px){.analytics-enhanced{padding:16px 16px 80px}.analytics-header{align-items:center;flex-direction:row;margin-bottom:24px}.analytics-header h1{font-size:24px}.btn-refresh,.btn-retry{font-size:14px;padding:10px 16px}.btn-refresh svg,.btn-retry svg{height:20px;width:20px}.btn-refresh{min-width:44px;padding:12px}.demographics-section h2,.overview-section h2,.revenue-section h2{font-size:18px;margin-bottom:12px}.stat-cards{gap:16px;grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{height:48px;width:48px}.stat-icon svg{height:24px;width:24px}.stat-value{font-size:28px}.stat-label{font-size:13px}.stat-subtext{font-size:12px}.demographics-section,.revenue-section{margin-bottom:24px}.demo-card,.revenue-card{padding:20px}.revenue-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.demo-card h3,.revenue-header h3{font-size:16px}.revenue-trend{font-size:13px}.revenue-stats{gap:12px;grid-template-columns:1fr}.revenue-stat .label{font-size:12px}.revenue-stat .value{font-size:20px}.demographics-grid{gap:16px;grid-template-columns:1fr}.demo-chart{gap:10px}.chart-bar{gap:8px;grid-template-columns:minmax(80px,150px) 1fr 60px}.bar-label{font-size:12px}.bar-container{height:28px}.bar-value{font-size:12px}.bar-percent{font-size:13px}.providers-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.providers-table table{min-width:900px}}@media(max-width:480px){.analytics-enhanced{padding:12px}.analytics-header{margin-bottom:20px}.analytics-header h1{flex:1;font-size:20px}.btn-refresh,.btn-retry{padding:10px}.btn-refresh .btn-text,.btn-retry .btn-text{display:none}.btn-refresh svg,.btn-retry svg{margin:0}.stat-card{gap:12px;padding:16px}.stat-icon{height:40px;width:40px}.stat-icon svg{height:20px;width:20px}.stat-value{font-size:24px}.stat-label{font-size:12px}.demo-card,.revenue-card{padding:16px}.demo-card h3,.revenue-header h3{font-size:15px}.revenue-stat .value{font-size:18px}.chart-bar{gap:6px;grid-template-columns:70px 1fr 50px}.bar-label{font-size:11px}.bar-container{height:24px}.bar-value{font-size:11px;padding-right:4px}.bar-percent{font-size:12px}}