.payer-directory-page{margin:0 auto;max-width:1400px;padding:24px}.payer-header{margin-bottom:32px}.payer-header h1{color:#1a202c;font-size:32px;font-weight:600;margin:0 0 8px}.payer-header p{color:#718096;font-size:16px;margin:0}.payer-filters{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-container{min-width:300px}.search-icon{color:#a0aec0;left:12px}.search-input{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 12px 12px 44px;transition:border-color .2s}.search-input:focus{border-color:#4299e1;outline:none}.filter-buttons{display:flex;gap:8px}.filter-buttons button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.filter-buttons button:hover{background:#f7fafc;border-color:#cbd5e0}.filter-buttons button.active{background:#4299e1;border-color:#4299e1;color:#fff}.add-payer-btn{align-items:center;background:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:background-color .2s}.add-payer-btn:hover{background:#3182ce}.payer-list{margin-top:24px}.payer-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.payer-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.payer-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px rgba(0,0,0,.1)}.payer-card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.payer-name-section h3{color:#1a202c;font-size:18px;font-weight:600;margin:0 0 4px}.payer-id{color:#718096;font-family:monospace;font-size:12px}.payer-status .status-icon{font-size:24px}.payer-status .status-icon.active{color:#48bb78}.payer-status .status-icon.inactive{color:#f56565}.payer-details{margin-bottom:16px}.payer-detail-row{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:12px}.payer-detail-row .detail-label{color:#4a5568;font-weight:500;min-width:120px}.payer-detail-row .detail-value{color:#1a202c;flex:1}.payer-detail-row .detail-icon{color:#718096;font-size:18px}.method-badge{background:#edf2f7;border-radius:6px;color:#2d3748;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.payer-card-actions{border-top:1px solid #e2e8f0;display:flex;gap:8px;padding-top:16px}.action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.action-btn:hover{background:#f7fafc;border-color:#cbd5e0}.action-btn.edit:hover{background:#ebf8ff;border-color:#4299e1;color:#4299e1}.action-btn.delete:hover{background:#fed7d7;border-color:#f56565;color:#f56565}.empty-state{padding:60px 20px}.empty-state .empty-icon{color:#cbd5e0;font-size:64px;margin-bottom:16px}.empty-state h3{color:#1a202c;font-size:20px;font-weight:600;margin:0 0 8px}.empty-state p{color:#718096;font-size:14px;margin:0 0 24px}.loading-spinner{margin-bottom:16px}.fastprax-icon-loader{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-text{color:#718096;font-size:16px}@media(max-width:768px){.payer-directory-page{padding:16px}.payer-grid{grid-template-columns:1fr}.payer-filters{align-items:stretch;flex-direction:column}.search-container{min-width:100%}}.payer-edit-page{margin:0 auto;max-width:1200px;padding:24px}.payer-edit-header{gap:16px;margin-bottom:32px}.back-btn,.payer-edit-header{align-items:center;display:flex}.back-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;font-weight:500;gap:8px;padding:10px 16px}.back-btn:hover{background:#f7fafc;border-color:#cbd5e0}.payer-edit-header h1{color:#1a202c;font-size:28px;font-weight:600;margin:0}.payer-edit-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:32px}.form-section{border-bottom:1px solid #e2e8f0;margin-bottom:40px;padding-bottom:32px}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#1a202c;font-size:20px;font-weight:600;margin:0 0 16px}.section-description{color:#718096;font-size:14px;margin:0 0 20px}.form-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-group{display:flex;flex-direction:column}.form-group.checkbox-group{align-items:center;flex-direction:row}.form-group.checkbox-group label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:8px}.form-group.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;margin-top:32px;padding-top:24px}.btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0}.btn-primary{align-items:center;background:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:background-color .2s}.btn-primary:hover:not(:disabled){background:#3182ce}.btn-primary:disabled{opacity:.6}.loading-state{color:#718096;padding:60px 20px}@media(max-width:768px){.payer-edit-page{padding:16px}.payer-edit-form{padding:20px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.onboarding-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:var(--ethos-spacing-xl,40px) var(--ethos-spacing-md,20px)}.onboarding-container{background:var(--ethos-bg-primary,var(--ethos-panel-bg-white));border-radius:var(--ethos-panel-radius-lg,16px);box-shadow:var(--ethos-shadow-xl,0 20px 60px rgba(0,0,0,.3));max-width:800px;overflow:hidden;width:100%}.onboarding-header{background:linear-gradient(135deg,var(--ethos-primary-500,#667eea) 0,var(--ethos-primary-700,#764ba2) 100%);color:var(--ethos-text-inverse,#fff);padding:var(--ethos-spacing-xl,40px);text-align:left}.onboarding-header .logo{align-items:center;display:flex;gap:var(--ethos-spacing-sm,12px);justify-content:flex-start;margin-bottom:var(--ethos-spacing-lg,24px)}.onboarding-header .logo .material-icons{align-items:center;background:var(--ethos-primary,var(--ethos-primary-600));border-radius:var(--ethos-panel-radius-sm,6px);color:var(--ethos-text-inverse,#fff);display:flex;flex-shrink:0;font-size:var(--ethos-font-size-xl,32px);height:40px;justify-content:center;width:40px}.onboarding-header .logo h1{color:var(--ethos-text-inverse,#fff);font-size:var(--ethos-font-size-2xl,28px);font-weight:var(--ethos-font-weight-bold,700);margin:0}.onboarding-header h2{color:var(--ethos-text-inverse,#fff);font-size:var(--ethos-font-size-xl,24px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-md,20px) 0}.onboarding-header .invitation-info{align-items:center;color:hsla(0,0%,100%,.95);display:flex;font-size:var(--ethos-font-size-base,15px);gap:var(--ethos-spacing-sm,8px);justify-content:flex-start;margin-bottom:var(--ethos-spacing-md,16px)}.onboarding-header .invitation-info .material-icons{font-size:var(--ethos-font-size-lg,18px);opacity:.9}.onboarding-header .invitation-info strong{color:var(--ethos-text-inverse,#fff);font-weight:var(--ethos-font-weight-semibold,600)}.onboarding-header .invitation-message{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.2);border-radius:var(--ethos-panel-radius-lg,12px);box-sizing:border-box;margin-top:var(--ethos-spacing-md,20px);padding:var(--ethos-spacing-md,20px) var(--ethos-spacing-lg,24px);width:100%}.onboarding-header .invitation-message p{color:hsla(0,0%,100%,.95);font-size:var(--ethos-font-size-base,15px);font-style:italic;line-height:var(--ethos-line-height-normal,1.5);margin:0}.progress-steps{background:var(--ethos-bg-secondary);border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-light);display:flex;justify-content:space-between;padding:var(--ethos-spacing-xl,32px) var(--ethos-spacing-xl,40px)}.progress-steps .step{align-items:center;display:flex;flex:1;flex-direction:column;gap:var(--ethos-spacing-sm,8px);position:relative}.progress-steps .step:not(:last-child):after{background:var(--ethos-border-light);content:"";height:2px;left:calc(50% + 30px);position:absolute;right:calc(-50% + 30px);top:20px}.progress-steps .step.completed:not(:last-child):after{background:var(--ethos-success)}.progress-steps .step-number{align-items:center;background:var(--ethos-border-light);border-radius:50%;color:var(--ethos-text-muted);display:flex;font-size:var(--ethos-font-size-base,16px);font-weight:var(--ethos-font-weight-semibold,600);height:40px;justify-content:center;transition:var(--ethos-transition-normal,all .3s);width:40px;z-index:1}.progress-steps .step.active .step-number{background:var(--ethos-primary);box-shadow:0 0 0 4px rgba(59,130,246,.2);color:var(--ethos-text-inverse,#fff)}.progress-steps .step.completed .step-number{background:var(--ethos-success);color:var(--ethos-text-inverse,#fff)}.progress-steps .step-label{color:var(--ethos-text-muted);font-size:var(--ethos-font-size-sm,13px);font-weight:var(--ethos-font-weight-medium,500);text-align:center}.progress-steps .step.active .step-label{color:var(--ethos-text-primary);font-weight:var(--ethos-font-weight-semibold,600)}.onboarding-step{padding:var(--ethos-spacing-xl,40px)}.onboarding-step h3{color:var(--ethos-text-primary);font-size:var(--ethos-font-size-xl,24px);font-weight:var(--ethos-font-weight-bold,700);margin:0 0 var(--ethos-spacing-sm,8px) 0}.onboarding-step .step-description{color:var(--ethos-text-muted);margin-bottom:var(--ethos-spacing-xl,32px)}.form-field{margin-bottom:var(--ethos-spacing-lg,24px)}.form-field label{color:var(--ethos-text-secondary);display:block;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-semibold,600);margin-bottom:var(--ethos-spacing-sm,8px)}.form-field input,.form-field select,.form-field textarea{background:var(--ethos-bg-primary)!important;border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-medium);border-radius:var(--ethos-panel-radius,8px);color:var(--ethos-text-primary);font-family:var(--ethos-font-family-base);font-size:var(--ethos-font-size-base,15px);padding:var(--ethos-spacing-sm,12px) var(--ethos-spacing-md,16px);transition:var(--ethos-transition-normal,all .2s)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--ethos-primary);box-shadow:0 0 0 3px var(--ethos-primary-light)}.form-field input:disabled{background:var(--ethos-neutral-100)!important;cursor:not-allowed}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-2,.form-grid-3{display:grid;gap:var(--ethos-spacing-md,20px)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-field-checkbox{margin:var(--ethos-spacing-lg,24px) 0}.form-field-checkbox label{gap:var(--ethos-spacing-sm,12px)}.form-field-checkbox input[type=checkbox]{height:20px;width:20px}.form-field-checkbox span{color:var(--ethos-text-secondary);font-size:var(--ethos-font-size-base,15px)}.consent-section{background:var(--ethos-bg-secondary);border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-light);border-radius:var(--ethos-panel-radius-lg,12px);margin-bottom:var(--ethos-spacing-xl,32px);padding:var(--ethos-spacing-lg,24px)}.consent-section h4{color:var(--ethos-text-primary);font-size:var(--ethos-font-size-lg,18px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-md,16px) 0}.consent-text{background:var(--ethos-bg-primary);border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-medium);border-radius:var(--ethos-panel-radius,8px);margin-bottom:var(--ethos-spacing-md,20px);max-height:200px;overflow-y:auto;padding:var(--ethos-spacing-md,20px)}.consent-text p{color:var(--ethos-text-secondary);font-size:var(--ethos-font-size-sm,14px);line-height:var(--ethos-line-height-normal,1.6);margin:0 0 var(--ethos-spacing-sm,12px) 0}.consent-text p:last-child{margin-bottom:0}.signature-section{border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-light);margin-top:var(--ethos-spacing-lg,24px);padding-top:var(--ethos-spacing-lg,24px)}.signature-instructions{color:var(--ethos-text-secondary);font-size:var(--ethos-font-size-base,15px);margin-bottom:var(--ethos-spacing-md,16px)}.signature-date{color:var(--ethos-text-muted);font-size:var(--ethos-font-size-sm,14px);font-style:italic;margin-top:var(--ethos-spacing-sm,12px)}.step-actions{border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-light);display:flex;gap:var(--ethos-spacing-sm,12px);justify-content:flex-end;margin-top:var(--ethos-spacing-xl,32px);padding-top:var(--ethos-spacing-lg,24px)}.btn-primary,.btn-secondary{border-radius:var(--ethos-panel-radius,8px);font-family:var(--ethos-font-family-base);font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-semibold,600);padding:var(--ethos-spacing-sm,12px) var(--ethos-spacing-xl,32px);transition:var(--ethos-transition-normal,all .2s)}.btn-primary{background:var(--ethos-primary);box-shadow:var(--ethos-shadow-sm,0 2px 4px rgba(59,130,246,.3));color:var(--ethos-text-inverse,#fff)}.btn-primary:hover:not(:disabled){background:var(--ethos-primary-dark);box-shadow:var(--ethos-shadow-md,0 4px 8px rgba(59,130,246,.4));transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{background:var(--ethos-bg-primary);border:var(--ethos-panel-border-width,1px) solid var(--ethos-border-medium);color:var(--ethos-text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--ethos-neutral-100)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.error-state,.loading-state{flex-direction:column;padding:var(--ethos-spacing-2xl,80px) var(--ethos-spacing-xl,40px)}.error-state,.loading-state,.loading-state .spinner{align-items:center;display:flex;justify-content:center}.loading-state .spinner{animation:fadeInOut 2s ease-in-out infinite;height:48px;margin-bottom:var(--ethos-spacing-md,20px);width:48px}.loading-state p{color:var(--ethos-text-muted);font-size:var(--ethos-font-size-base,16px)}.error-state .material-icons{color:var(--ethos-error);font-size:64px;margin-bottom:var(--ethos-spacing-md,16px)}.error-state h2{color:var(--ethos-text-primary);font-size:var(--ethos-font-size-xl,24px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-sm,8px) 0}.error-state p{color:var(--ethos-text-muted);font-size:var(--ethos-font-size-base,16px);margin:0 0 var(--ethos-spacing-lg,24px) 0}@media(max-width:768px){.onboarding-page{padding:var(--ethos-spacing-md,20px)}.onboarding-header{padding:var(--ethos-spacing-lg,30px) var(--ethos-spacing-md,20px)}.progress-steps{padding:var(--ethos-spacing-lg,24px) var(--ethos-spacing-md,20px)}.progress-steps .step-label{font-size:var(--ethos-font-size-xs,11px)}.onboarding-step{padding:var(--ethos-spacing-lg,30px) var(--ethos-spacing-md,20px)}.form-grid-2,.form-grid-3{gap:var(--ethos-spacing-md,16px);grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.form-field input,.form-field select,.form-field textarea{background:var(--ethos-bg-primary)!important;color:var(--ethos-text-primary)!important;color-scheme:light!important}.form-field input::-moz-placeholder{color:var(--ethos-text-muted)!important}.form-field input::placeholder{color:var(--ethos-text-muted)!important}}.patients-page{background:var(--ethos-canvas,#f8f9fa);box-sizing:border-box;display:flex;flex-direction:column;gap:24px;margin:0;max-width:100%;padding:0}.patients-header{display:flex;flex-wrap:wrap;gap:var(--ethos-spacing-md,16px);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(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);box-sizing:border-box;color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-base,15px);padding:var(--ethos-spacing-sm,12px) var(--ethos-spacing-md,16px) var(--ethos-spacing-sm,12px) 44px;transition:all .2s ease;width:100%}.search-input::-moz-placeholder{color:var(--ethos-text-muted,#9ca3af)}.search-input::placeholder{color:var(--ethos-text-muted,#9ca3af)}.search-input:focus,.search-input:not([value=""]){background:#fff;border-color:var(--ethos-primary,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.1);outline:none}.add-patient-btn{align-items:center;background:linear-gradient(135deg,var(--ethos-success,#10b981) 0,var(--ethos-success-dark,#059669) 100%);border:none;border-radius:var(--ethos-border-radius-md,8px);box-shadow:0 2px 4px rgba(16,185,129,.2);color:#fff;cursor:pointer;display:flex;font-size:var(--ethos-font-size-base,15px);font-weight:600;gap:var(--ethos-spacing-xs,8px);padding:var(--ethos-spacing-sm,12px) var(--ethos-spacing-lg,24px);transition:var(--ethos-transition-normal,all .2s);white-space:nowrap}.add-patient-btn:hover{background:linear-gradient(135deg,var(--ethos-success-dark,#059669) 0,#047857 100%);box-shadow:0 4px 8px rgba(16,185,129,.3);transform:translateY(-1px)}.add-patient-btn:active{box-shadow:0 2px 4px rgba(16,185,129,.2);transform:translateY(0)}.add-icon{font-size:18px}.error-state,.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)}.error-text,.loading-text{color:var(--text-muted,#64748b);font-size:14px;margin:0}.error-icon{color:var(--color-error,#ef4444);font-size:48px;margin-bottom:16px}.retry-btn{background:#10b981;border:none;border-radius:6px;color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:10px 24px}.retry-btn:hover{background:#059669}.patients-container{background:var(--bg-primary,#fff);border:none;border-radius:12px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));overflow:hidden}.empty-state{padding:64px 24px}.empty-icon{color:var(--text-primary,#d1d5db)}.empty-subtitle{margin:0}.patients-table-container{overflow-x:auto;width:100%}.patients-table-header{background:var(--bg-secondary,#f9fafb);border-bottom:2px solid var(--border-light,#e5e7eb);color:var(--text-primary,#1e3a8a);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.patients-table-header,.patients-table-row{display:grid;gap:16px;grid-template-columns:2fr 1.5fr 1.5fr 2fr;padding:16px}.patients-table-row{align-items:center;border-bottom:1px solid var(--border-light,#e5e7eb);font-size:14px;transition:background-color .2s ease}.patients-table-row:hover{background:var(--bg-secondary,#f9fafb)}.patients-table-row:last-child{border-bottom:none}.table-col-email,.table-col-location,.table-col-name,.table-col-phone{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-primary{align-items:center;color:var(--text-primary,#1f2937);display:flex;flex-wrap:wrap;font-weight:600;gap:4px}.table-col-email,.table-col-location,.table-col-phone{color:var(--text-secondary,#4b5563);font-size:14px}@media(max-width:767px){.patients-table-header{display:none}.patients-table-row{border:1px solid var(--border-light,#e5e7eb);border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px;padding:12px}.table-col-email,.table-col-location,.table-col-name,.table-col-phone{display:flex;flex-direction:column;gap:4px;white-space:normal;word-break:break-word}.table-col-name:before{content:"Patient"}.table-col-location:before,.table-col-name:before{color:var(--text-muted,#6b7280);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-col-location:before{content:"Location"}.table-col-phone:before{content:"Phone"}.table-col-email:before,.table-col-phone:before{color:var(--text-muted,#6b7280);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-col-email:before{content:"Email"}}@media(min-width:768px)and (max-width:1023px){.patients-page{padding:0}.patients-header{gap:16px}.search-input{font-size:15px}.add-patient-btn{font-size:15px;padding:12px 24px}.patients-table-header,.patients-table-row{gap:12px;grid-template-columns:2fr 1.5fr 1.5fr 2fr;padding:14px 16px}}@media(min-width:1024px){.patients-table-header,.patients-table-row{gap:24px;grid-template-columns:2fr 1.5fr 1.5fr 2fr;padding:16px 24px}.patients-table-header{font-size:13px}.patients-table-row{font-size:15px}}@media print{.patients-page{padding:0}.add-patient-btn,.patients-header{display:none!important}.patients-container{border:1px solid var(--border-light,#e5e7eb);box-shadow:none}.patients-list-mobile{display:none!important}.patients-list-desktop{display:block!important}}.patient-edit-page{background:var(--ethos-canvas,#f8f9fa);margin:0;max-width:100%;min-height:100vh;padding:0}.patient-edit-page .page-header{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--ethos-spacing-md,16px);justify-content:flex-start;margin-bottom:var(--ethos-spacing-lg,24px)}.patient-edit-page .back-btn{align-items:center;background:var(--ethos-panel-bg-white,#fff);border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);box-shadow:var(--ethos-elevation-sm,0 1px 3px rgba(0,0,0,.05));color:var(--ethos-text-secondary,#374151);cursor:pointer;display:flex;flex-shrink:0;height:auto;justify-content:center;padding:var(--ethos-spacing-xs,8px);transition:var(--ethos-transition-normal,all .2s);width:auto}.patient-edit-page .back-btn:hover{background:var(--ethos-panel-bg-light,#f9fafb);border-color:var(--ethos-primary,#3b82f6);box-shadow:var(--ethos-elevation-md,0 4px 8px rgba(0,0,0,.1));transform:translateY(-1px)}.patient-edit-page .back-btn .material-icons,.patient-edit-page .back-btn svg{color:var(--ethos-text-primary,#1f2937);font-size:24px}.patient-edit-page .page-title{color:#1a2b4d;font-size:var(--ethos-font-size-xl,24px);font-weight:var(--ethos-font-weight-bold,700);line-height:1;margin:0;white-space:nowrap}.tab-navigation{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;padding:0 4px}.tab-button{align-items:center;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted,#6b7280);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;margin-bottom:-2px;padding:12px 20px;transition:all .2s}.tab-button:hover{background:#f0f9ff;color:var(--text-primary,#2563eb)}.tab-button.active{border-bottom-color:var(--text-primary,#2563eb);color:var(--text-primary,#2563eb);font-weight:600}.tab-button .material-icons{font-size:20px}.form-container{display:flex;flex-direction:column;gap:24px;margin:0;max-width:100%;width:100%}.form-section{background:var(--bg-primary,#fff);border:none;border-radius:12px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));padding:24px}.section-header{border-bottom:2px solid #f3f4f6;margin-bottom:20px;padding-bottom:12px}.section-header h2{color:var(--text-primary,#1e3a8a);font-size:16px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{color:var(--text-secondary,#374151);font-size:14px;font-weight:500}.form-field .required{color:var(--color-error,#ef4444);margin-left:2px}.form-field input,.form-field select,.form-field textarea{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:12px;box-sizing:border-box;color:var(--text-primary,#1f2937);font-family:inherit;font-size:15px;padding:14px 16px;transition:all .2s;width:100%}.form-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;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;cursor:pointer;padding-right:44px}.form-field select::-ms-expand{display:none}.form-field select::-webkit-calendar-picker-indicator,.form-field select::-webkit-inner-spin-button,.form-field select::-webkit-outer-spin-button{-webkit-appearance:none;display:none}.form-field select option{background:var(--bg-primary,#fff);color:var(--text-primary,#1f2937);font-size:15px;padding:10px}.form-field input::-moz-placeholder{color:var(--text-primary,#9ca3af)}.form-field input::placeholder{color:var(--text-primary,#9ca3af)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--text-primary,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.1);outline:none}.form-field textarea{min-height:80px;resize:vertical}.form-grid-2{display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-grid-3{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.form-field-wide{grid-column:span 2}.form-field-checkbox{margin:12px 0}.form-field-checkbox label{align-items:center;color:var(--text-secondary,#374151);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px}.form-field-checkbox input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.form-actions{align-items:flex-end;background:var(--bg-primary,#fff);border-radius:12px;bottom:0;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));justify-content:space-between;padding:24px;position:sticky;z-index:10}.actions-left,.actions-right{align-items:flex-end;display:flex;gap:12px}.btn-delete{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:15px;font-weight:600;padding:14px 24px;transition:all .2s}.btn-delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px rgba(239,68,68,.3);transform:translateY(-2px)}.btn-cancel{align-items:center;background:#f3f4f6;border:none;border-radius:12px;color:var(--text-secondary,#374151);cursor:pointer;display:flex;font-size:15px;font-weight:600;height:52px;justify-content:center;padding:16px 32px;transition:all .2s}.btn-cancel:hover{background:#e5e7eb;transform:translateY(-2px)}.btn-save{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;height:52px;justify-content:center;padding:16px 32px;transition:all .2s}.btn-save:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px rgba(16,185,129,.3);transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-cancel:active,.btn-delete:active,.btn-save:active:not(:disabled){transform:translateY(0)}.loading-state{padding:64px 24px;text-align:center}.loading-spinner{align-items:center;animation:fadeInOut 2s ease-in-out infinite;display:flex;height:40px;justify-content:center;margin:0 auto 16px;width:40px}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:1}}.loading-text{color:var(--text-muted,#64748b);font-size:14px;margin:0}@media(max-width:768px){.patient-edit-page{padding:0}.page-header{margin-bottom:16px}.page-title{font-size:22px}.form-container{gap:16px}.form-section{padding:16px}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-field-wide{grid-column:span 1}.form-actions{flex-direction:column;gap:12px;padding:16px}.actions-left,.actions-right{flex-direction:column;width:100%}.btn-cancel,.btn-delete,.btn-save{width:100%}}@media(min-width:769px)and (max-width:1024px){.form-grid-3{grid-template-columns:1fr 1fr}.form-field-wide{grid-column:span 1}}@media(min-width:1025px){.patient-edit-page{padding:0}}.multi-booking-page{margin:0;max-width:100%;min-height:100vh;padding:20px 20px 100px;width:100%}.loading-state{color:var(--text-muted,#6b7280);font-size:16px;min-height:200px}.booking-header,.loading-state{align-items:center;display:flex}.booking-header{gap:16px;margin-bottom:32px}.back-btn{background:none;border:1px solid var(--border-light,#e5e7eb);border-radius:6px;color:var(--text-secondary,#374151);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.back-btn:hover{background:#f1f5f9;border-color:var(--text-primary,#2563eb);color:var(--text-primary,#2563eb)}.booking-title{color:var(--text-primary,#1e3a8a);flex:1;font-size:24px;font-weight:600;margin:0}.appointments-container{background:var(--bg-primary,#fff);border-radius:12px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));padding:24px}.empty-state{padding:48px 20px}.empty-icon{font-size:64px}.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 0 24px}.appointments-list{margin-bottom:24px}.appointment-slot{align-items:flex-start;background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all .2s}.appointment-slot:hover{background:#f1f5f9;border-color:var(--text-primary,#2563eb)}.slot-number{align-items:center;background:#2563eb;border-radius:50%;color:var(--white,#fff);display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;min-width:32px}.slot-details{flex:1}.slot-patient{color:var(--text-primary,#1e3a8a);font-size:16px;font-weight:600;margin-bottom:4px}.slot-info{color:var(--text-muted,#64748b);font-size:14px;margin-bottom:4px}.slot-service{color:var(--color-success,#059669);font-size:13px;font-weight:500}.slot-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.edit-btn,.remove-btn{align-items:center;background:none;border:1px solid var(--border-light,#e5e7eb);border-radius:6px;color:var(--text-muted,#64748b);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s;width:32px}.edit-btn:hover{background:#eff6ff;border-color:var(--text-primary,#3b82f6);color:var(--text-primary,#3b82f6)}.remove-btn:hover{background:#fef2f2;border-color:var(--color-error,#ef4444);color:var(--color-error,#ef4444)}.add-form{background:#eff6ff;border:2px solid #2563eb;border-radius:8px;margin-top:16px;padding:20px}.form-title{color:var(--text-primary,#1e3a8a);font-size:18px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary,#374151);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-input{padding:10px 12px}.form-input,.form-select{border:1px solid var(--border-medium,#d1d5db);border-radius:6px;color:var(--text-secondary,#374151);font-size:14px;transition:all .2s;width:100%}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;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='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 12px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding:10px 44px 10px 12px}.form-input:focus,.form-select:focus{border-color:var(--text-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.form-select:focus{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='%232563EB' 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")}.form-select::-ms-expand{display:none!important;opacity:0}.form-select::-webkit-calendar-picker-indicator,.form-select::-webkit-inner-spin-button,.form-select::-webkit-outer-spin-button{-webkit-appearance:none!important;display:none!important;opacity:0}@-moz-document url-prefix(){.form-select{text-indent:.01px;text-overflow:""}}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:12px;margin-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;flex:1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.btn-secondary{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);color:var(--text-secondary,#374151)}.btn-secondary:hover{background:#f1f5f9;border-color:var(--text-primary,#2563eb);color:var(--text-primary,#2563eb)}.btn-primary{background:#2563eb;color:var(--white,#fff)}.btn-primary:hover{background:#1e3a8a}.add-appointment-btn{align-items:center;background:var(--bg-primary,#fff);border:2px dashed #d1d5db;border-radius:8px;color:var(--text-primary,#2563eb);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .2s;width:100%}.add-appointment-btn:hover{background:#eff6ff;border-color:var(--text-primary,#2563eb);border-style:solid}.add-icon{font-size:20px;line-height:1}.submit-container{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);bottom:0;box-shadow:0 -2px 8px rgba(0,0,0,.1);left:0;padding:16px 20px;position:fixed;right:0;z-index:100}.submit-container,.submit-container-inline{align-items:center;display:flex;justify-content:center}.submit-container-inline{margin-top:20px}.submit-all-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 4px 6px rgba(16,185,129,.2);color:var(--white,#fff);cursor:pointer;display:block;font-size:16px;font-weight:600;padding:16px 24px;transition:all .2s;width:100%}.submit-all-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 10px rgba(16,185,129,.3);transform:translateY(-2px)}.submit-all-btn:active{transform:translateY(0)}@media(max-width:767px){.multi-booking-page{padding:12px 12px 100px}.booking-header{margin-bottom:20px}.booking-title{font-size:20px}.appointments-container{padding:16px}.appointment-slot{gap:12px;padding:12px}.slot-patient{font-size:15px}.slot-info{font-size:13px}.form-row{gap:0;grid-template-columns:1fr}.add-form{padding:16px}.form-actions{flex-direction:column}.submit-container{padding:12px 16px}.submit-all-btn{font-size:15px;padding:14px 20px}}.typeahead-container{position:relative}.typeahead-dropdown{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.1);left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.typeahead-item{border:1px solid var(--border-light,#f3f4f6);cursor:pointer;padding:12px 16px;transition:background .2s}.typeahead-item:last-child{border-bottom:none}.typeahead-item:hover{background:var(--bg-secondary,#f9fafb)}.typeahead-name{color:var(--text-primary,#1f2937);font-size:15px;font-weight:500;margin-bottom:4px}.typeahead-dob{color:var(--text-muted,#6b7280);font-size:13px}.typeahead-empty{color:var(--text-primary,#9ca3af);font-size:14px;padding:16px;text-align:center}@media(min-width:768px)and (max-width:1023px){.multi-booking-page{padding:20px}}.notifications-page{margin:0 auto;max-width:1200px;padding:32px}.notifications-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.notifications-header h1{color:var(--text-primary,#1e293b);font-size:28px;font-weight:600}.mark-all-read-btn{align-items:center;background:var(--primary,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.mark-all-read-btn:hover{background:var(--primary-dark,#4f46e5);transform:translateY(-1px)}.mark-all-read-btn svg{font-size:18px}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid var(--primary,#6366f1);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{color:var(--text-muted,#94a3b8);font-size:80px!important;margin-bottom:16px}.empty-state h2{color:var(--text-primary,#1e293b);font-size:24px;font-weight:600;margin-bottom:8px}.empty-state p{color:var(--text-secondary,#64748b);font-size:16px}.notifications-list{display:flex;flex-direction:column;gap:12px}.notification-item{align-items:flex-start;background:#fff;border:1px solid var(--border-light,#e2e8f0);border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.notification-item:hover{border-color:var(--primary,#6366f1);box-shadow:0 4px 12px rgba(99,102,241,.1);transform:translateY(-2px)}.notification-item.unread{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:var(--primary,#6366f1)}.notification-icon{align-items:center;background:rgba(99,102,241,.1);border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.notification-icon svg{font-size:24px}.notification-icon .icon-eligible{color:#10b981}.notification-icon .icon-not-eligible{color:#ef4444}.notification-icon .icon-error{color:#f59e0b}.notification-content{flex:1;min-width:0}.notification-title{color:var(--text-primary,#1e293b);font-size:16px;font-weight:600;margin-bottom:4px}.notification-message{color:var(--text-secondary,#64748b);font-size:14px;line-height:1.5;margin-bottom:8px}.notification-time{color:var(--text-muted,#94a3b8);font-size:12px}.delete-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:8px;transition:background-color .2s ease}.delete-btn:hover{background:rgba(239,68,68,.1)}.delete-btn svg{color:var(--text-muted,#94a3b8);font-size:20px}.delete-btn:hover svg{color:#ef4444}@media(max-width:768px){.notifications-page{padding:16px}.notifications-header{align-items:flex-start;flex-direction:column;gap:16px}.mark-all-read-btn{justify-content:center;width:100%}.notification-item{gap:12px;padding:16px}.notification-icon{height:36px;width:36px}.notification-icon svg{font-size:20px}.notification-title{font-size:15px}.notification-message{font-size:13px}}