.login-container{align-items:center;background:var(--ethos-canvas,#f8f9fa);display:flex;font-family:var(--ethos-font-family-base,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);justify-content:center;min-height:100vh;padding:var(--ethos-spacing-lg,24px);transition:background-color .3s ease}.login-card{background:var(--ethos-panel-bg-white,#fff);border:var(--ethos-panel-border,1px solid rgba(0,0,0,.08));border-radius:var(--ethos-panel-radius,12px);box-shadow:var(--ethos-panel-elevation-sm,0 1px 3px rgba(0,0,0,.05));max-width:420px;padding:var(--ethos-spacing-xxl,48px) var(--ethos-spacing-xl,40px);transition:background-color .3s ease,border-color .3s ease;width:100%}.login-header{margin-bottom:var(--ethos-spacing-xl,40px);text-align:center}.app-icon{margin-bottom:var(--ethos-spacing-md,16px)}.icon-circle{align-items:center;background:linear-gradient(135deg,var(--ethos-primary,#3b82f6) 0,var(--ethos-primary-dark,#2563eb) 100%);border-radius:var(--ethos-border-radius-lg,16px);box-shadow:0 4px 12px rgba(59,130,246,.25);display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto;width:64px}.login-header h1{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-xxl,32px);font-weight:var(--ethos-font-weight-semibold,600);letter-spacing:var(--ethos-letter-spacing-tight,-.5px);margin:0 0 var(--ethos-spacing-xs,8px) 0}.subtitle{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-regular,400);margin:0}.login-form{margin-bottom:var(--ethos-spacing-xl,32px)}.form-group{margin-bottom:var(--ethos-spacing-lg,24px)}.form-group label{display:block;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-medium,500);margin-bottom:var(--ethos-spacing-xs,8px);text-transform:none}.apple-input,.form-group label{color:var(--ethos-text-primary,#1f2937)}.apple-input{background:var(--ethos-panel-bg-white,#fff);border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);box-sizing:border-box;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);width:100%}.apple-input:focus{border-color:var(--ethos-primary,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.1);outline:none}.apple-input::-moz-placeholder{color:var(--ethos-text-muted,#9ca3af);font-weight:var(--ethos-font-weight-regular,400)}.apple-input::placeholder{color:var(--ethos-text-muted,#9ca3af);font-weight:var(--ethos-font-weight-regular,400)}.demo-section{margin:var(--ethos-spacing-xl,32px) 0}.apple-details{background:var(--ethos-canvas-fill-01,#f9fafb);border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);overflow:hidden}.apple-details summary{background:var(--ethos-panel-bg-white,#fff);border:none;color:var(--ethos-text-primary,#1f2937);cursor:pointer;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-medium,500);list-style:none;padding:var(--ethos-spacing-md,16px) var(--ethos-spacing-lg,20px);position:relative}.apple-details summary::-webkit-details-marker{display:none}.apple-details summary:after{color:var(--ethos-text-secondary,#6b7280);content:"▼";font-size:12px;position:absolute;right:var(--ethos-spacing-lg,20px);top:50%;transform:translateY(-50%);transition:transform .2s ease}.apple-details[open] summary:after{transform:translateY(-50%) rotate(180deg)}.demo-content{background:var(--ethos-canvas-fill-01,#f9fafb);padding:var(--ethos-spacing-lg,20px)}.demo-content p{color:var(--ethos-text-primary,#1f2937);font-family:SF Mono,Monaco,Courier New,monospace;font-size:var(--ethos-font-size-sm,14px);margin:var(--ethos-spacing-xs,8px) 0}.demo-credentials{background:var(--ethos-canvas-fill-01,#f9fafb);border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);margin:var(--ethos-spacing-lg,20px) 0;padding:var(--ethos-spacing-md,15px)}.demo-credentials p{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-sm,14px);margin:var(--ethos-spacing-xs,5px) 0}.demo-credentials code{background:rgba(59,130,246,.1);border-radius:var(--ethos-border-radius-sm,4px);color:var(--ethos-primary,#3b82f6);font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;font-weight:var(--ethos-font-weight-medium,500);padding:2px 6px}.register-link{border-top:1px solid var(--ethos-border-light,#e5e7eb);margin-top:var(--ethos-spacing-md,15px);padding-top:var(--ethos-spacing-md,15px)}.register-btn{background:none;border:none;color:var(--ethos-primary,#3b82f6);cursor:pointer;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-medium,500);margin:0;padding:0;text-decoration:none}.register-btn:hover{color:var(--ethos-primary-dark,#2563eb);text-decoration:underline}.google-auth-section{margin:var(--ethos-spacing-xl,30px) 0}.google-signin-btn,.google-signup-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);color:var(--ethos-text-primary,#1f2937);cursor:pointer;display:flex;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-medium,500);gap:var(--ethos-spacing-sm,10px);justify-content:center;margin-bottom:var(--ethos-spacing-sm,12px);padding:var(--ethos-spacing-sm,12px) var(--ethos-spacing-md,16px);transition:var(--ethos-transition-normal,all .2s);width:100%}.google-signin-btn:hover,.google-signup-btn:hover{background:rgba(66,133,244,.05);border-color:#4285f4;box-shadow:0 2px 4px rgba(66,133,244,.15);transform:translateY(-1px)}.google-signin-btn i,.google-signup-btn i{color:#4285f4;font-size:18px}.google-signin-btn{border-color:#4285f4;color:#4285f4}.google-signup-btn{border-color:var(--ethos-success,#10b981);color:var(--ethos-success,#10b981)}.google-signup-btn:hover{background:rgba(16,185,129,.05);border-color:var(--ethos-success,#10b981);box-shadow:0 2px 4px rgba(16,185,129,.15)}.google-signup-btn i{color:var(--ethos-success,#10b981)}.forgot-password-link{margin-top:var(--ethos-spacing-md,16px);text-align:center}.forgot-password-link button{background:none;border:none;color:var(--ethos-primary,#3b82f6);cursor:pointer;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-medium,500);padding:0;text-decoration:none}.forgot-password-link button:hover{color:var(--ethos-primary-dark,#2563eb);text-decoration:underline}@media(max-width:768px){.apple-primary-btn,.apple-secondary-btn,.google-signin-btn,.google-signup-btn{height:52px!important;min-height:52px!important;padding:0!important}}.language-toggle-container{align-items:center;display:flex;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lang-option{color:var(--ethos-text-secondary,#6b7280);font-size:13px;font-weight:600;min-width:24px;text-align:center;transition:all .2s ease}.lang-option.active{color:var(--ethos-primary-600,#2563eb);font-weight:700}.dark-mode .lang-option{color:var(--ethos-text-tertiary,#9ca3af)}.dark-mode .lang-option.active{color:var(--ethos-primary-400,#60a5fa)}@media(max-width:768px){.language-toggle-container{gap:6px}.lang-option{font-size:12px;min-width:20px}}.register-container{align-items:center;background:linear-gradient(135deg,var(--primary-color,#1e40af) 0,var(--secondary-color,#3b82f6) 100%);display:flex;font-family:var(--ethos-font-family-base,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);justify-content:center;min-height:100vh;padding:var(--ethos-spacing-lg,24px);transition:background .3s ease}.register-card{background:var(--ethos-panel-bg-white,#fff);border:var(--ethos-panel-border,1px solid rgba(0,0,0,.08));border-radius:var(--ethos-panel-radius,12px);box-shadow:var(--ethos-panel-elevation-sm,0 1px 3px rgba(0,0,0,.05));max-width:420px;padding:var(--ethos-spacing-xxl,48px) var(--ethos-spacing-xl,40px);transition:background-color .3s ease,border-color .3s ease;width:100%}.register-header{margin-bottom:var(--ethos-spacing-xl,40px);text-align:center}.register-header h1{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-xxl,32px);font-weight:var(--ethos-font-weight-semibold,600);letter-spacing:var(--ethos-letter-spacing-tight,-.5px);margin:0 0 var(--ethos-spacing-xs,8px) 0}.register-header p{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-regular,400);margin:0}.register-form{margin-bottom:var(--ethos-spacing-xl,32px)}.apple-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-left:4px solid var(--ethos-error,#ef4444);border-radius:var(--ethos-border-radius-md,8px);color:var(--ethos-error,#ef4444);font-size:var(--ethos-font-size-sm,14px);margin-bottom:var(--ethos-spacing-lg,24px);padding:var(--ethos-spacing-md,16px);text-align:center}.apple-primary-btn{background:linear-gradient(135deg,var(--ethos-primary,#3b82f6) 0,var(--ethos-primary-dark,#2563eb) 100%);border:none;border-radius:var(--ethos-border-radius-md,8px);box-shadow:0 2px 4px rgba(59,130,246,.2);color:#fff;cursor:pointer;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-semibold,600);min-height:56px;padding:var(--ethos-spacing-md,16px) var(--ethos-spacing-lg,24px);transition:var(--ethos-transition-normal,all .2s);width:100%}.apple-primary-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--ethos-primary-dark,#2563eb) 0,#1d4ed8 100%);box-shadow:0 4px 8px rgba(59,130,246,.3);transform:translateY(-1px)}.apple-primary-btn:active:not(:disabled){box-shadow:0 2px 4px rgba(59,130,246,.2);transform:translateY(0)}.apple-primary-btn:disabled{background:var(--ethos-neutral-400,#9ca3af);box-shadow:none;cursor:not-allowed;transform:none}.alternative-auth{margin:var(--ethos-spacing-xl,32px) 0}.divider{margin:var(--ethos-spacing-lg,24px) 0;position:relative;text-align:center}.divider:before{background:var(--ethos-border-light,#e5e7eb);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-sm,14px);padding:0 var(--ethos-spacing-md,16px);position:relative}.apple-secondary-btn,.divider span{background:var(--ethos-panel-bg-white,#fff);font-weight:var(--ethos-font-weight-medium,500)}.apple-secondary-btn{align-items:center;border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);color:var(--ethos-text-primary,#1f2937);cursor:pointer;display:flex;font-size:var(--ethos-font-size-base,15px);gap:var(--ethos-spacing-sm,12px);justify-content:center;min-height:56px;padding:var(--ethos-spacing-md,16px) var(--ethos-spacing-lg,24px);transition:var(--ethos-transition-normal,all .2s);width:100%}.apple-secondary-btn:hover{background:var(--ethos-canvas-fill-01,#f9fafb);border-color:var(--ethos-primary,#3b82f6);box-shadow:0 2px 4px rgba(0,0,0,.05);transform:translateY(-1px)}.google-logo{display:block;flex-shrink:0;height:20px;width:20px}.register-section{border-top:1px solid var(--ethos-border-light,#e5e7eb);margin-top:var(--ethos-spacing-xl,32px);padding-top:var(--ethos-spacing-lg,24px);text-align:center}.register-section p{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-sm,14px);margin:0 0 var(--ethos-spacing-sm,12px) 0}.apple-link-btn{background:none;border:none;color:var(--ethos-primary,#3b82f6);cursor:pointer;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-medium,500);padding:var(--ethos-spacing-xs,8px) 0;text-decoration:underline;transition:color .2s ease}.apple-link-btn:hover{color:var(--ethos-primary-dark,#2563eb)}.hipaa-notice{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:var(--ethos-border-radius-md,8px);margin-top:var(--ethos-spacing-lg,24px);padding:var(--ethos-spacing-md,16px);text-align:center}.hipaa-notice p{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-sm,13px)}.hipaa-notice strong{color:var(--ethos-primary,#3b82f6)}@media(max-width:480px){.register-card{padding:var(--ethos-spacing-xl,32px) var(--ethos-spacing-lg,24px)}.register-header h1{font-size:var(--ethos-font-size-xl,28px)}}.alert-overlay{background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.alert-modal{background:var(--bg-primary,#fff);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);left:50%;max-width:400px;padding:32px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);width:90%;z-index:9999}.alert-icon{align-items:center;border-radius:50%;display:flex;font-size:28px;font-weight:700;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.alert-modal.success .alert-icon{background:#d1fae5;color:var(--color-success,#059669)}.alert-modal.error .alert-icon{background:#fee2e2;color:var(--color-error,#dc2626)}.alert-modal.warning .alert-icon{background:#fef3c7;color:var(--text-primary,#d97706)}.alert-modal.info .alert-icon{background:#dbeafe;color:var(--text-primary,#2563eb)}.alert-title{color:var(--text-primary,#1f2937);font-size:20px;font-weight:600;margin:0 0 12px}.alert-message{color:var(--text-muted,#6b7280);font-size:15px;line-height:1.5;margin:0 0 24px}.alert-button{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;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.alert-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 10px rgba(16,185,129,.3);transform:translateY(-1px)}.alert-button:active{transform:translateY(0)}@media(max-width:767px){.alert-modal{max-width:340px;padding:24px}.alert-icon{font-size:24px;height:48px;margin-bottom:16px;width:48px}.alert-title{font-size:18px}.alert-message{font-size:14px}}.claim-selection-container{margin:0 auto;max-width:800px;padding:32px}.claim-selection-header{margin-bottom:40px;text-align:center}.claim-selection-header h2{color:var(--text-primary,#1f2937);font-size:28px;font-weight:600;margin-bottom:8px}.claim-selection-header .subtitle{color:var(--text-muted,#6b7280);font-size:16px;margin:0}.claim-options{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.claim-option{align-items:flex-start;background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.claim-option:hover{background:var(--bg-secondary,#f9fafb);border-color:var(--text-primary,#3b82f6)}.claim-option.selected{background:#eff6ff;border-color:var(--text-primary,#3b82f6)}.option-radio{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:50%;display:flex;font-size:14px;height:24px;justify-content:center;line-height:1;margin-top:2px;min-width:24px;transition:all .2s ease;width:24px}.claim-option:hover .option-radio{border-color:#3b82f6}.claim-option.selected .option-radio{background:#3b82f6;border-color:#3b82f6;color:#fff}.option-content h3{color:var(--text-primary,#1f2937);font-size:18px;font-weight:600;margin:0 0 4px}.option-content p{color:var(--text-muted,#6b7280);font-size:14px;margin:0}.existing-claims-section{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:12px;margin-top:24px;padding:24px}.section-title{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600;margin:0 0 16px}.empty-state,.error-state,.loading-state{padding:40px 20px;text-align:center}.spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--text-primary,#3b82f6);height:40px;margin:0 auto 16px;width:40px}.empty-state p,.error-state p,.loading-state p{color:var(--text-muted,#6b7280);margin:0}.retry-button{background:#3b82f6;border:none;border-radius:6px;color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:8px 16px}.retry-button:hover{background:#2563eb}.empty-state .suggestion{color:var(--text-primary,#3b82f6);font-weight:500;margin-top:8px}.claims-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.claim-item{background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s ease}.claim-item:hover{background:var(--bg-secondary,#f9fafb)}.claim-item.selected,.claim-item:hover{border-color:var(--text-primary,#3b82f6)}.claim-item.selected{background:#eff6ff}.claim-header{margin-bottom:8px}.claim-number{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600}.claim-status{font-size:12px;text-transform:capitalize}.claim-status.status-draft{background:#fef3c7;color:var(--text-primary,#92400e)}.claim-status.status-submitted{background:#dbeafe;color:var(--text-primary,#1e40af)}.claim-details{color:var(--text-muted,#6b7280);font-size:14px;gap:16px;margin-bottom:8px}.claim-details,.claim-lines{align-items:center;display:flex}.claim-lines{gap:4px}.available-lines{color:var(--color-success,#10b981);font-weight:500}.claim-amount{color:var(--color-success,#059669);font-size:16px;font-weight:600}.service-lines-preview{border:1px solid var(--border-light,#e5e7eb);margin-top:24px;padding-top:24px}.service-lines-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.service-line-item{align-items:center;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:6px;display:flex;gap:12px;padding:12px}.line-number{color:var(--text-muted,#6b7280);font-size:12px;font-weight:600;min-width:60px}.line-details{align-items:center;color:var(--text-primary,#4b5563);display:flex;flex:1;font-size:14px;gap:16px}.line-codes{font-family:Courier New,monospace;font-weight:500}.line-amount{color:var(--color-success,#059669);font-weight:600}.new-line-indicator{align-items:center;background:#ecfdf5;border:1px solid var(--border-light,#10b981);border-radius:8px;display:flex;gap:12px;margin-top:16px;padding:12px 16px}.indicator-icon{color:var(--color-success,#10b981);font-size:20px}.new-line-indicator p{color:var(--text-primary,#065f46);font-size:14px;margin:0}.new-line-indicator strong{color:var(--text-primary,#047857)}.new-claim-info{align-items:flex-start;background:#eff6ff;border:1px solid var(--border-light,#3b82f6);border-radius:8px;display:flex;gap:12px;margin-top:24px;padding:16px}.info-icon{font-size:20px;line-height:1}.new-claim-info p{color:var(--text-primary,#1e40af);font-size:14px;line-height:1.6;margin:0}.claim-selection-actions{border:1px solid var(--border-light,#e5e7eb);display:flex;gap:16px;justify-content:space-between;margin-top:32px;padding-top:24px}.primary-button,.secondary-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.secondary-button{background:var(--bg-primary,#fff);border:2px solid #e5e7eb;color:var(--text-muted,#6b7280)}.secondary-button:hover{background:var(--bg-secondary,#f9fafb);border-color:var(--border-medium,#d1d5db)}.primary-button{background:#3b82f6;color:var(--white,#fff);flex:1}.primary-button:hover{background:#2563eb}.primary-button:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}@media(max-width:768px){.claim-selection-container{max-width:100%;padding:20px}.claim-selection-header h2{font-size:24px}.claim-selection-header .subtitle{font-size:14px}.claim-option{padding:16px}.option-content h3{font-size:16px}.option-content p{font-size:13px}.existing-claims-section{padding:16px}.claim-details{gap:4px}.claim-details,.claim-header{align-items:flex-start;flex-direction:column}.claim-header{gap:8px}.line-details{align-items:flex-start;flex-direction:column;gap:4px}.claim-selection-actions{flex-direction:column;gap:12px}.primary-button,.secondary-button{padding:14px 20px;width:100%}.new-claim-info{padding:12px}.new-claim-info p{font-size:13px}}@media(max-width:480px){.claim-selection-container{padding:16px}.claim-selection-header{margin-bottom:24px}.claim-option{gap:12px;padding:12px}.option-radio{font-size:12px;height:20px;min-width:20px;width:20px}.option-content h3{font-size:15px}.option-content p{font-size:12px}}.signature-pad-container{margin:16px 0;width:100%}.signature-pad-wrapper{background:var(--bg-secondary,#f9fafb);border:2px dashed #d1d5db;border-radius:12px;cursor:crosshair;max-width:600px;overflow:hidden;position:relative;transition:all .2s;width:100%}.signature-pad-wrapper:hover{background:#eff6ff;border-color:var(--text-primary,#3b82f6)}.signature-canvas{background:var(--bg-primary,#fff);display:block;height:auto;touch-action:none;width:100%}.signature-placeholder{color:var(--text-primary,#9ca3af);font-size:18px;font-style:italic;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none}.signature-clear-btn{background:#ef4444;border:none;border-radius:8px;box-shadow:0 2px 4px rgba(239,68,68,.2);color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:10px 20px;transition:all .2s}.signature-clear-btn:hover{background:#dc2626;box-shadow:0 4px 8px rgba(239,68,68,.3);transform:translateY(-1px)}.signature-clear-btn:active{transform:translateY(0)}@media(max-width:768px){.signature-pad-wrapper{max-width:100%}.signature-canvas{width:100%}.signature-placeholder{font-size:16px}}@media(prefers-color-scheme:dark){.signature-pad-wrapper{background:var(--bg-secondary,#f9fafb)!important;border-color:var(--text-primary,#d1d5db)!important}.signature-canvas{background:var(--bg-primary,#fff)!important}.signature-placeholder{color:var(--text-primary,#9ca3af)!important}}.patient-onboarding{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:20px}.onboarding-header{margin-bottom:40px;text-align:center}.onboarding-header h2{color:var(--text-primary,#1f2937);font-size:32px;font-weight:700;margin:0 0 8px}.onboarding-header p{color:var(--text-muted,#6b7280);font-size:18px;margin:0 0 24px}.progress-bar{background-color:var(--bg-primary,#e5e7eb);border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#059669,#10b981);border-radius:4px;height:100%;transition:width .3s ease}.onboarding-content,.setup-steps{display:flex;flex-direction:column;gap:24px}.setup-step{background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .3s ease}.setup-step.completed{background:#f0fdf4;border-color:var(--color-success,#10b981)}.setup-step.in-progress{background:#eff6ff;border-color:var(--text-primary,#3b82f6)}.step-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.step-icon{align-items:center;background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.setup-step.completed .step-icon{background:#10b981;border-color:var(--color-success,#10b981)}.setup-step.in-progress .step-icon{background:#3b82f6;border-color:var(--text-primary,#3b82f6)}.step-info h3{color:var(--text-primary,#1f2937);font-size:20px;font-weight:600;margin:0 0 4px}.step-info p{color:var(--text-muted,#6b7280);font-size:16px;line-height:1.5;margin:0}.step-form{border:1px solid var(--border-light,#e5e7eb);margin-top:24px;padding-top:24px}.form-fields{display:flex;flex-direction:column;gap:20px}.form-fields h3{color:var(--text-primary,#1f2937);font-size:24px;font-weight:600;margin:0 0 8px}.form-fields h4{color:var(--text-secondary,#374151);font-size:18px;font-weight:600;margin:0 0 8px}.form-row{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text-secondary,#374151);font-size:14px;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text-primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.form-group input:required:invalid{border-color:var(--color-error,#ef4444)}.form-group small{color:var(--text-muted,#6b7280);font-size:12px;margin-top:4px}.form-actions{align-items:center;border:1px solid var(--border-light,#e5e7eb);display:flex;justify-content:space-between;margin-top:32px;padding-top:24px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:var(--white,#fff);cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 12px rgba(59,130,246,.3);transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:8px;color:var(--text-muted,#6b7280);cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-secondary,#f9fafb);border-color:var(--text-primary,#9ca3af);color:var(--text-secondary,#374151)}.validation-error{background:#fef2f2;border:1px solid var(--border-light,#fecaca);border-radius:8px;color:var(--color-error,#dc2626);font-size:14px;margin-top:16px;padding:12px 16px}.hipaa-notice{background:#f3f4f6;border:1px solid var(--border-medium,#d1d5db);margin-top:24px;padding:16px}.hipaa-notice h4{color:var(--text-secondary,#374151);font-size:16px;font-weight:600;margin:0 0 8px}.hipaa-notice p{color:var(--text-muted,#6b7280);font-size:14px;line-height:1.5;margin:0}@media(max-width:768px){.patient-onboarding{padding:16px}.onboarding-header h2{font-size:28px}.onboarding-header p{font-size:16px}.setup-step{padding:20px}.step-header{flex-direction:column;gap:12px;text-align:center}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{width:100%}}@media print{.patient-onboarding{max-width:none;padding:0}.form-actions{display:none}.step-form{border-top:none;padding-top:0}}.provider-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.provider-modal-overlay.closing{animation:fadeOut .3s ease-out}.provider-modal-container{animation:slideIn .3s ease-out;background:var(--bg-primary,#fff);border-radius:12px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.provider-modal-container.closing{animation:slideOut .3s ease-out}.provider-modal-header{background:#f8fafc;border:1px solid var(--border-light,#e5e7eb);flex-shrink:0;justify-content:space-between;padding:24px 32px}.provider-modal-header,.provider-modal-title{align-items:center;display:flex}.provider-modal-title h2{color:var(--text-primary,#1f2937);font-size:20px;font-weight:600;margin:0}.provider-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted,#6b7280);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.provider-modal-close:hover{background:#f3f4f6;color:var(--text-secondary,#374151)}.provider-modal-close:active{background:#e5e7eb}.provider-modal-content{flex:1;overflow-y:auto;padding:0}.provider-modal-content .onboarding-wizard{background:transparent;padding:32px}.provider-modal-content .guided-setup{margin:0;max-width:none;padding:0}.provider-modal-content .step-header{background:#f8fafc;border:1px solid var(--border-light,#e5e7eb);border-radius:8px;margin-bottom:24px;padding:20px}.provider-modal-content .step-form{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;padding:24px}@media(max-width:768px){.provider-modal-overlay{padding:10px}.provider-modal-container{max-height:95vh;max-width:100%}.provider-modal-content .onboarding-wizard,.provider-modal-header{padding:20px}.provider-modal-title h2{font-size:18px}}@media(max-width:480px){.provider-modal-content .onboarding-wizard,.provider-modal-header{padding:16px}.provider-modal-title{align-items:flex-start;flex-direction:column;gap:4px}.provider-modal-title h2{font-size:16px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.provider-modal-content::-webkit-scrollbar{width:6px}.provider-modal-content::-webkit-scrollbar-track{background:#f1f5f9}.provider-modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.provider-modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.voice-recorder{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e1e5e9);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin:0 auto;max-width:600px;padding:24px}.voice-recorder-header{align-items:center;border:1px solid var(--border-light,#e1e5e9);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.voice-recorder-header h3{color:var(--text-primary,#2c3e50);font-size:1.25rem;font-weight:600;margin:0}.recording-status{align-items:center;display:flex;gap:16px}.recording-indicator{align-items:center;color:var(--text-primary,#e74c3c);display:flex;font-weight:500;gap:8px}.pulse-dot{animation:pulse 1.5s infinite;background:#e74c3c;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.paused-indicator{color:var(--text-primary,#f39c12)}.duration-display,.paused-indicator{align-items:center;display:flex;font-weight:500;gap:8px}.duration-display{color:var(--text-primary,#7f8c8d);font-family:Courier New,monospace}.voice-recorder-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.voice-recorder-controls button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;min-width:140px;padding:12px 20px;transition:all .2s ease}.btn-record{background:#e74c3c;color:var(--white,#fff)}.btn-record:hover:not(:disabled){background:#c0392b;box-shadow:0 4px 12px rgba(231,76,60,.3);transform:translateY(-1px)}.btn-pause{background:#f39c12;color:var(--white,#fff)}.btn-pause:hover{background:#e67e22;box-shadow:0 4px 12px rgba(243,156,18,.3);transform:translateY(-1px)}.btn-resume{background:#27ae60;color:var(--white,#fff)}.btn-resume:hover{background:#229954;box-shadow:0 4px 12px rgba(39,174,96,.3);transform:translateY(-1px)}.btn-stop{background:#95a5a6;color:var(--white,#fff)}.btn-stop:hover{background:#7f8c8d;box-shadow:0 4px 12px hsla(184,9%,62%,.3);transform:translateY(-1px)}.btn-process{background:#3498db;color:var(--white,#fff)}.btn-process:hover{background:#2980b9;box-shadow:0 4px 12px rgba(52,152,219,.3);transform:translateY(-1px)}.voice-recorder-controls button:disabled{cursor:not-allowed;opacity:.6;transform:none}.transcript-preview{background:#f8f9fa;border:1px solid var(--border-light,#e1e5e9);border-radius:8px;margin-bottom:24px;padding:16px}.transcript-preview h4{color:var(--text-primary,#2c3e50);font-size:1rem;font-weight:600;margin:0 0 12px}.transcript-content{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e1e5e9);border-radius:6px;color:var(--text-primary,#2c3e50);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;max-height:200px;overflow-y:auto;padding:12px}.error-message{align-items:center;background:#fdf2f2;border:1px solid var(--border-light,#fecaca);border-radius:8px;color:var(--color-error,#dc2626);display:flex;font-weight:500;gap:8px;margin-bottom:24px;padding:12px 16px}.voice-recorder-info{background:#f8f9fa;border:1px solid var(--border-light,#e1e5e9);border-radius:8px;padding:16px}.voice-recorder-info p{color:var(--text-primary,#6c757d);font-size:.9rem;line-height:1.4;margin:0 0 8px}.voice-recorder-info p:last-child{margin-bottom:0}.voice-recorder-info strong{color:var(--text-primary,#495057);font-weight:600}@media(max-width:768px){.voice-recorder{margin:0 8px;padding:16px}.voice-recorder-header{gap:12px}.recording-status,.voice-recorder-header{align-items:flex-start;flex-direction:column}.recording-status{gap:8px}.voice-recorder-controls{align-items:stretch;flex-direction:column}.voice-recorder-controls button{min-width:auto;width:100%}.transcript-content{max-height:150px}}.voice-recorder-controls button:focus{outline:2px solid #3498db;outline-offset:2px}.voice-recorder-controls button:focus:not(:focus-visible){outline:none}@media(prefers-contrast:high){.voice-recorder,.voice-recorder-controls button{border:2px solid #000}}@media(prefers-reduced-motion:reduce){.pulse-dot{animation:none}.voice-recorder-controls button{transition:none}}.main-workspace{background-color:var(--bg-secondary,#f9fafb);flex:1;overflow:hidden;position:relative}.workspace-content{height:100%;overflow-x:hidden;overflow-y:auto;padding:0!important;width:100%;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.main-workspace .workspace-content{animation:slideInFromRight .3s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media(max-width:768px){.main-workspace{padding-top:0}.workspace-content{padding:0!important}}@media(min-width:769px)and (max-width:1024px){.workspace-content{padding:0!important}}@media(min-width:1025px){.workspace-content{margin:0;max-width:100%;padding:0!important}}@media(prefers-reduced-motion:reduce){.main-workspace .workspace-content{animation:none}}.eligibility-notification{align-items:center;animation:slideUpFadeIn .3s ease-out,fadeOut .5s ease-in 4.5s forwards;border-radius:8px;bottom:24px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;font-size:14px;font-weight:500;gap:12px;left:50%;max-width:500px;min-width:300px;padding:12px 20px;position:fixed;transform:translateX(-50%);z-index:10000}.eligibility-notification.eligible{background:linear-gradient(135deg,#10b981,#059669);border:1px solid #047857;color:#fff}.eligibility-notification.not-eligible{background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid #b91c1c;color:#fff}.notification-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.notification-content{flex:1;line-height:1.4}.notification-content strong{font-weight:600}.notification-close{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;line-height:1;opacity:.8;padding:0;transition:opacity .2s;width:24px}.notification-close:hover{opacity:1}@keyframes slideUpFadeIn{0%{bottom:0;opacity:0;transform:translateX(-50%) translateY(20px)}to{bottom:24px;opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media(max-width:768px){.eligibility-notification{bottom:16px;font-size:13px;left:16px;max-width:none;min-width:auto;padding:10px 16px;right:16px;transform:none}@keyframes slideUpFadeIn{0%{bottom:0;opacity:0;transform:translateY(20px)}to{bottom:16px;opacity:1;transform:translateY(0)}}}.offline-indicator{align-items:center;animation:slideDown .3s ease-out;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;justify-content:space-between;left:0;padding:12px 20px;position:fixed;right:0;top:0;z-index:10000}.offline-indicator.offline{background:#fee2e2;border-bottom:2px solid #ef4444;color:var(--text-primary,#991b1b)}.offline-indicator.online{background:#d1fae5;border-bottom:2px solid #10b981;color:var(--text-primary,#065f46)}.offline-indicator.fade-out{animation:slideUp .3s ease-in forwards}.offline-content{align-items:center;display:flex;flex:1;gap:12px}.offline-icon{font-size:20px;line-height:1}.offline-message{font-size:14px;font-weight:600;line-height:1.4}.offline-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;margin-left:12px;opacity:.7;padding:4px;transition:opacity .2s}.offline-close:hover{opacity:1}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@media(max-width:767px){.offline-indicator{padding:10px 16px}.offline-message{font-size:13px}.offline-icon{font-size:18px}}.confirm-overlay{background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.confirm-modal{background:var(--bg-primary,#fff);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);left:50%;max-width:400px;padding:32px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);width:90%;z-index:9999}.confirm-icon{align-items:center;border-radius:50%;display:flex;font-size:28px;font-weight:700;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.confirm-modal.danger .confirm-icon{background:#fee2e2;color:var(--color-error,#dc2626)}.confirm-modal.warning .confirm-icon{background:#fef3c7;color:var(--text-primary,#d97706)}.confirm-modal.info .confirm-icon{background:#dbeafe;color:var(--text-primary,#2563eb)}.confirm-title{color:var(--text-primary,#1f2937);font-size:20px;font-weight:600;margin:0 0 12px}.confirm-message{color:var(--text-muted,#6b7280);font-size:15px;line-height:1.5;margin:0 0 24px}.confirm-actions{display:flex;gap:12px}.confirm-button{border:none;border-radius:8px;cursor:pointer;flex:1;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s}.confirm-button.cancel{background:#f3f4f6;color:var(--text-secondary,#374151)}.confirm-button.cancel:hover{background:#e5e7eb}.confirm-button.confirm{box-shadow:0 4px 6px rgba(0,0,0,.1);color:var(--white,#fff)}.confirm-button.confirm.danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.confirm-button.confirm.danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 6px 10px rgba(220,38,38,.3);transform:translateY(-1px)}.confirm-button.confirm.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.confirm-button.confirm.warning:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 6px 10px rgba(245,158,11,.3);transform:translateY(-1px)}.confirm-button.confirm.info{background:linear-gradient(135deg,#2563eb,#1e40af)}.confirm-button.confirm.info:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a);box-shadow:0 6px 10px rgba(37,99,235,.3);transform:translateY(-1px)}.confirm-button:active{transform:translateY(0)}@media(max-width:767px){.confirm-modal{max-width:340px;padding:24px}.confirm-icon{font-size:24px;height:48px;margin-bottom:16px;width:48px}.confirm-title{font-size:18px}.confirm-message{font-size:14px}.confirm-actions{flex-direction:column}.confirm-button{width:100%}}.ethos-layout-panel{background:var(--ethos-panel-bg-white);border:var(--ethos-panel-border);border-radius:var(--ethos-panel-radius);margin:0;overflow:hidden;position:relative;transition:all var(--ethos-transition-normal)}.ethos-panel-variant-fixed{position:fixed}.ethos-panel-variant-floating{position:absolute}@media(max-width:768px){.ethos-panel-variant-floating{position:relative}}.ethos-panel-spacing-0,.ethos-panel-spacing-md,.ethos-panel-spacing-sm,.ethos-panel-spacing-xs{margin:0}.ethos-panel-padding-0{padding:0}.ethos-panel-padding-sm{padding:var(--ethos-panel-padding-sm)}.ethos-panel-padding-md{padding:var(--ethos-panel-padding-md)}.ethos-panel-padding-lg{padding:24px!important}.ethos-panel-bg-white{background:var(--ethos-panel-bg-white)}.ethos-panel-bg-light{background:var(--ethos-panel-bg-light)}.ethos-panel-bg-medium{background:var(--ethos-panel-bg-medium)}.ethos-panel-bg-dark{background:var(--ethos-panel-bg-dark)}.ethos-panel-border{border:var(--ethos-panel-border)}.ethos-panel-elevation-sm{box-shadow:var(--ethos-panel-elevation-sm)}.ethos-panel-elevation-md{box-shadow:var(--ethos-panel-elevation-md)}.ethos-panel-elevation-lg{box-shadow:var(--ethos-panel-elevation-lg)}.ethos-panel-header{align-items:center;background:transparent;border-bottom:none;display:flex;gap:var(--ethos-spacing-sm);padding:var(--ethos-spacing-md,16px) var(--ethos-spacing-lg,24px)}.ethos-layout-panel.no-left-padding .ethos-panel-header{padding-left:0}.ethos-panel-title{color:var(--ethos-primary,var(--ethos-primary-600,#2563eb));flex:1;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-semibold,600);letter-spacing:var(--ethos-letter-spacing-wider,1px);line-height:1;margin:0;text-transform:uppercase}.ethos-layout-panel.danger-zone{border:2px solid var(--ethos-error,#dc2626);border-radius:var(--ethos-panel-radius,12px);overflow:hidden}.ethos-layout-panel.danger-zone .ethos-panel-header{border-bottom-color:var(--ethos-error-light,#fecaca)}.ethos-layout-panel.danger-zone .ethos-panel-title{color:var(--ethos-error,#dc2626)}.ethos-panel-actions{align-items:center;display:flex;gap:var(--ethos-spacing-xs)}.ethos-panel-icon{align-items:center;background:transparent;border:none;border-radius:var(--ethos-radius-sm);color:var(--ethos-text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--ethos-transition-fast);width:32px}.ethos-panel-icon:hover{background:var(--ethos-neutral-100);color:var(--ethos-text-primary)}.ethos-panel-icon:active{background:var(--ethos-neutral-200)}.ethos-panel-move-icon{cursor:move}.ethos-panel-content{padding:0;width:100%}.ethos-panel-resize-handle{background:linear-gradient(135deg,transparent 40%,var(--ethos-border-light) 40%,var(--ethos-border-light) 50%,transparent 50%);bottom:0;cursor:nwse-resize;height:16px;position:absolute;right:0;width:16px}.ethos-panel-resize-handle:hover{background:linear-gradient(135deg,transparent 40%,var(--ethos-primary) 40%,var(--ethos-primary) 50%,transparent 50%)}.ethos-panel-collapsed .ethos-panel-content{display:none}.dark-mode .ethos-layout-panel,[data-theme=dark] .ethos-layout-panel{background:var(--ethos-panel-bg-light);border-color:var(--ethos-border-light)}.dark-mode .ethos-panel-header{border-bottom-color:var(--ethos-border-light)}.dark-mode .ethos-panel-icon:hover{background:var(--ethos-neutral-800)}.dark-mode .ethos-panel-icon:active{background:var(--ethos-neutral-700)}@media(max-width:768px){.ethos-panel-header{padding:var(--ethos-panel-padding-sm) var(--ethos-panel-padding-md)}.ethos-panel-title{font-size:var(--ethos-font-size-base)}}.session-history-tab{padding:24px}.session-history-header{margin-bottom:24px}.session-history-header h2{color:var(--text-primary,#1f2937);font-size:24px;font-weight:700;margin:0 0 8px}.session-count{color:var(--text-muted,#6b7280);font-size:14px;margin:0}.session-history-error,.session-history-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 24px;text-align:center}.session-history-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--text-primary,#2563eb);height:48px;margin-bottom:16px;width:48px}.session-history-loading p{color:var(--text-muted,#6b7280);font-size:16px;margin:0}.session-history-error{color:var(--color-error,#dc2626)}.session-history-error .material-icons{font-size:64px;margin-bottom:16px}.session-history-error p{font-size:16px;margin:0}.session-history-empty{align-items:center;background:var(--bg-secondary,#f9fafb);border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:80px 24px;text-align:center}.session-history-empty .material-icons{color:var(--text-primary,#9ca3af);font-size:64px;margin-bottom:16px}.session-history-empty h3{color:var(--text-secondary,#374151);font-size:20px;font-weight:600;margin:0 0 8px}.session-history-empty p{color:var(--text-muted,#6b7280);font-size:14px;margin:4px 0;max-width:400px}.sessions-table{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:hidden}.sessions-table table{border-collapse:collapse;width:100%}.sessions-table thead{background:var(--bg-secondary,#f9fafb);border-bottom:2px solid #e5e7eb}.sessions-table th{color:var(--text-secondary,#374151);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.sessions-table td{border:1px solid var(--border-light,#e5e7eb);padding:16px;vertical-align:top}.sessions-table tbody tr:last-child td{border-bottom:none}.sessions-table tbody tr:hover{background:var(--bg-secondary,#f9fafb)}.date-time{display:flex;flex-direction:column;gap:4px}.date-time .date{color:var(--text-primary,#1f2937);font-size:14px;font-weight:600}.date-time .time{color:var(--text-muted,#6b7280);font-size:13px}.provider-info{display:flex;flex-direction:column;gap:4px}.provider-name{color:var(--text-primary,#1f2937);font-size:14px;font-weight:500}.provider-npi{color:var(--text-muted,#6b7280);font-size:12px}.codes-list{gap:8px;max-width:250px}.code-item,.codes-list{display:flex;flex-direction:column}.code-item{gap:2px}.code-item .code{color:var(--text-primary,#2563eb);font-family:Courier New,monospace;font-size:13px;font-weight:600}.code-item .description{color:var(--text-primary,#4b5563);font-size:12px;line-height:1.4}.code-item .modifiers{color:var(--color-success,#059669);font-size:11px;font-weight:500;margin-top:2px}.no-codes{color:var(--text-primary,#9ca3af);font-size:13px;font-style:italic}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;white-space:nowrap}.action-buttons{display:flex;flex-direction:column;gap:8px}.btn-download-cms,.btn-view-details{align-items:center;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;color:var(--text-secondary,#374151);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s;white-space:nowrap}.btn-view-details:hover{background:#2563eb;border-color:var(--text-primary,#2563eb);box-shadow:0 2px 4px rgba(37,99,235,.2)}.btn-download-cms:hover,.btn-view-details:hover{color:var(--white,#fff);transform:translateY(-1px)}.btn-download-cms:hover{background:#059669;border-color:var(--color-success,#059669);box-shadow:0 2px 4px rgba(5,150,105,.2)}.btn-download-cms .material-icons,.btn-view-details .material-icons{font-size:18px}@media(max-width:1200px){.sessions-table{overflow-x:auto}.sessions-table table{min-width:1000px}}@media(max-width:768px){.session-history-tab{padding:16px}.sessions-table td,.sessions-table th{font-size:12px;padding:12px}.code-item .code{font-size:12px}.code-item .description{font-size:11px}}.session-detail-modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.session-detail-modal{background:var(--bg-primary,#fff);border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.session-detail-modal .modal-header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px}.session-detail-modal .header-left{align-items:flex-start;display:flex;gap:16px}.session-detail-modal .header-left>.material-icons{color:var(--text-primary,#2563eb);font-size:32px}.session-detail-modal .modal-header h2{color:var(--text-primary,#1f2937);font-size:24px;font-weight:700;margin:0 0 4px}.session-date{color:var(--text-muted,#6b7280);font-size:14px;margin:0}.session-detail-modal .close-btn{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--text-muted,#6b7280);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.session-detail-modal .close-btn:hover{background:#f3f4f6;color:var(--text-primary,#1f2937)}.session-detail-modal .close-btn .material-icons{font-size:24px}.session-detail-modal .modal-content{flex:1;overflow-y:auto;padding:24px}.detail-section{margin-bottom:32px}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:var(--text-primary,#1f2937);display:flex;font-size:18px;gap:12px;margin:0 0 16px}.ai-badge,.detail-section h3{align-items:center;font-weight:600}.ai-badge{background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:12px;color:var(--white,#fff);display:inline-flex;font-size:12px;gap:4px;padding:4px 12px}.ai-badge .material-icons{font-size:16px}.info-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:var(--text-muted,#6b7280);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:var(--text-primary,#1f2937);font-size:14px;font-weight:500}.status-text{text-transform:capitalize}.notes-content{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:12px;color:var(--text-secondary,#374151);font-size:14px;line-height:1.7;max-height:300px;overflow-y:auto;padding:20px;white-space:pre-wrap}.codes-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.code-card{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.code-number{color:var(--text-primary,#1e40af);font-family:Courier New,monospace;font-size:16px;font-weight:700}.code-desc{color:var(--text-secondary,#374151);font-size:13px;line-height:1.5}.code-meta{color:var(--text-muted,#6b7280);font-size:12px;font-weight:500}.code-modifiers{background:#d1fae5;border-radius:6px;color:var(--color-success,#059669);font-size:12px;font-weight:600;margin-top:4px;padding:6px 10px}.cms-section{text-align:center}.btn-download-full{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:12px;box-shadow:0 4px 6px rgba(5,150,105,.2);color:var(--white,#fff);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:14px 28px;transition:all .3s}.btn-download-full:hover{box-shadow:0 8px 12px rgba(5,150,105,.3);transform:translateY(-2px)}.btn-download-full .material-icons{font-size:24px}.session-detail-modal .modal-footer{border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;padding:20px 24px}.btn-close{background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border-radius:10px;color:var(--text-secondary,#374151);cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-close:hover{background:var(--bg-secondary,#f9fafb);border-color:var(--text-primary,#d1d5db)}@media(max-width:768px){.session-detail-modal{margin:10px;max-height:95vh}.session-detail-modal .modal-content,.session-detail-modal .modal-header{padding:20px}.codes-grid,.info-grid{grid-template-columns:1fr}}.documents-tab{background:var(--bg-primary,#fff);border-radius:12px;padding:24px}.documents-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.documents-header h3{align-items:center;color:var(--text-primary,#1f2937);display:flex;font-size:1.25rem;font-weight:600;gap:8px;margin:0}.documents-header h3 .material-icons{color:var(--text-primary,#3b82f6);font-size:24px}.documents-count{background:#f3f4f6;border-radius:12px;color:var(--text-muted,#6b7280);font-size:.875rem;padding:4px 12px}.documents-table-container{margin-bottom:24px;overflow-x:auto}.documents-table{background:var(--bg-primary,#fff);border-collapse:collapse;width:100%}.documents-table thead{background:var(--bg-secondary,#f9fafb)}.documents-table th{border-bottom:2px solid #e5e7eb;color:var(--text-muted,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.documents-table td{border:1px solid var(--border-light,#f3f4f6);color:var(--text-secondary,#374151);font-size:.875rem;padding:16px}.documents-table tbody tr{transition:background-color .2s}.documents-table tbody tr:hover{background:var(--bg-secondary,#f9fafb)}.document-type{align-items:center;display:flex;gap:8px}.document-type .material-icons{color:var(--text-primary,#3b82f6);font-size:20px}.document-type span{font-weight:500}.amount{color:var(--color-success,#059669);font-weight:600}.amount-na{color:var(--text-primary,#9ca3af)}.file-size{color:var(--text-muted,#6b7280);font-size:.75rem}.btn-download{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:4px;padding:8px 12px;transition:all .2s}.btn-download .material-icons{font-size:16px}.btn-download:hover{background:#2563eb;box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-1px)}.btn-download:active{transform:translateY(0)}.documents-footer{margin-top:16px}.hipaa-notice{align-items:center;background:#eff6ff;border:1px solid var(--border-light,#bfdbfe);border-radius:8px;color:var(--text-primary,#1e40af);display:flex;font-size:.75rem;gap:8px;padding:12px}.hipaa-notice .material-icons{color:var(--text-primary,#3b82f6);font-size:18px}.documents-tab-loading{align-items:center;color:var(--text-muted,#6b7280);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.documents-tab-loading .spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--text-primary,#3b82f6);height:40px;margin-bottom:16px;width:40px}.documents-tab-error{align-items:center;color:var(--color-error,#dc2626);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.documents-tab-error .material-icons{color:var(--color-error,#ef4444);font-size:48px;margin-bottom:16px}.documents-tab-error p{font-size:1rem;font-weight:500;margin-bottom:16px}.documents-tab-empty{align-items:center;color:var(--text-primary,#9ca3af);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.documents-tab-empty .material-icons{color:var(--text-primary,#d1d5db);font-size:64px;margin-bottom:16px}.documents-tab-empty p{color:var(--text-muted,#6b7280);font-size:1rem;font-weight:500;margin:0 0 8px}@media(max-width:768px){.documents-table{font-size:.75rem}.documents-table td,.documents-table th{padding:8px 12px}.btn-download span{display:none}.btn-download{padding:8px}}.billing-history-tab{background:var(--bg-primary,#fff);border-radius:12px;padding:24px}.billing-summary{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.summary-card{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:12px;display:flex;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.summary-card .material-icons{color:var(--text-primary,#3b82f6);font-size:32px}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-label{color:var(--text-muted,#6b7280);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.summary-value{color:var(--text-primary,#1f2937);font-size:1.5rem;font-weight:700}.summary-value.paid{color:var(--color-success,#059669)}.summary-value.outstanding{color:var(--color-error,#dc2626)}.claims-list h3{align-items:center;color:var(--text-primary,#1f2937);display:flex;font-size:1.125rem;font-weight:600;gap:8px;margin:0 0 20px}.claims-list h3 .material-icons{color:var(--text-primary,#3b82f6);font-size:24px}.claim-card{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:12px;margin-bottom:16px;overflow:hidden;transition:box-shadow .2s}.claim-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.claim-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:background-color .2s}.claim-header:hover{background:var(--bg-secondary,#f9fafb)}.claim-main-info{flex:1}.claim-title{align-items:center;display:flex;gap:12px;margin-bottom:8px}.claim-title code{background:#f3f4f6;border-radius:4px;color:var(--text-primary,#1f2937);font-size:.875rem;font-weight:600;padding:4px 8px}.claim-status{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.status-draft{background:#f3f4f6;color:var(--text-muted,#6b7280)}.status-submitted{background:#dbeafe;color:var(--text-primary,#1e40af)}.status-paid{background:#d1fae5;color:var(--text-primary,#065f46)}.status-denied{background:#fee2e2;color:var(--text-primary,#991b1b)}.status-appealed{background:#fef3c7;color:var(--text-primary,#92400e)}.claim-meta{color:var(--text-muted,#6b7280);font-size:.8125rem;gap:8px}.claim-financial,.claim-meta{align-items:center;display:flex}.claim-financial{gap:24px;margin-right:16px}.financial-item{gap:2px}.financial-item .label{color:var(--text-primary,#9ca3af);font-size:.6875rem;letter-spacing:.05em}.financial-item .value{color:var(--text-primary,#1f2937);font-size:1rem;font-weight:600}.financial-item .value.paid{color:var(--color-success,#059669)}.financial-item .value.outstanding{color:var(--color-error,#dc2626)}.expand-icon{color:var(--text-primary,#9ca3af);transition:transform .2s}.claim-details{animation:slideDown .3s ease-out;border:1px solid var(--border-light,#e5e7eb);padding:0 20px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px;margin-top:20px}.detail-section h4{border-bottom:2px solid #e5e7eb;color:var(--text-secondary,#374151);font-size:.875rem;font-weight:600;margin:0 0 12px;padding-bottom:8px}.detail-row{display:flex;font-size:.8125rem;justify-content:space-between;padding:8px 0}.detail-label{color:var(--text-muted,#6b7280);font-weight:500}.detail-value{color:var(--text-primary,#1f2937);font-weight:600}.denial-section{background:#fef2f2;border-left:4px solid #dc2626;border-radius:8px;padding:16px}.denial-section h4{color:var(--text-primary,#991b1b)}.transactions-section{background:var(--bg-secondary,#f9fafb);border-radius:8px;margin-top:20px;padding:16px}.transactions-section h4{color:var(--text-secondary,#374151);font-size:.875rem;font-weight:600;margin:0 0 12px}.transactions-table{background:var(--bg-primary,#fff);border-collapse:collapse;border-radius:6px;overflow:hidden;width:100%}.transactions-table th{background:#f3f4f6;border:1px solid var(--border-light,#e5e7eb);color:var(--text-muted,#6b7280);font-size:.6875rem;font-weight:600;letter-spacing:.05em;padding:10px 12px;text-align:left;text-transform:uppercase}.transactions-table td{border:1px solid var(--border-light,#f3f4f6);color:var(--text-secondary,#374151);font-size:.8125rem;padding:10px 12px}.transactions-table tbody tr:last-child td{border-bottom:none}.txn-type{background:#f3f4f6;border-radius:4px;font-size:.75rem;padding:2px 8px;text-transform:capitalize}.txn-amount{color:var(--color-success,#059669);font-weight:600}.notes-section{background:var(--bg-primary,#fff) beb;border-left:4px solid #f59e0b;border-radius:8px;margin-top:20px;padding:16px}.notes-section h4{color:var(--text-primary,#92400e);font-size:.875rem;font-weight:600;margin:0 0 8px}.notes-section p{color:var(--text-primary,#78350f);font-size:.8125rem;line-height:1.5;margin:0}.billing-history-empty,.billing-history-error,.billing-history-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.billing-history-loading .spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--text-primary,#3b82f6);height:40px;margin-bottom:16px;width:40px}.billing-history-loading p{color:var(--text-muted,#6b7280)}.billing-history-error{color:var(--color-error,#dc2626)}.billing-history-error .material-icons{color:var(--color-error,#ef4444);font-size:48px;margin-bottom:16px}.billing-history-error p{font-size:1rem;font-weight:500;margin-bottom:16px}.btn-retry{background:#3b82f6;border:none;border-radius:6px;color:var(--text-primary,#fff);cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-retry:hover{background:#2563eb}.billing-history-empty{color:var(--text-primary,#9ca3af)}.billing-history-empty .material-icons{color:var(--text-primary,#d1d5db);font-size:64px;margin-bottom:16px}.billing-history-empty p{color:var(--text-muted,#6b7280);font-size:1rem;font-weight:500;margin:0 0 8px}.empty-hint{color:var(--text-primary,#9ca3af);font-size:.875rem;max-width:400px;text-align:center}@media(max-width:1024px){.claim-header{align-items:flex-start;flex-direction:column;gap:16px}.claim-financial{justify-content:space-between;width:100%}.expand-icon{position:absolute;right:20px;top:20px}}@media(max-width:768px){.billing-summary,.details-grid{grid-template-columns:1fr}.transactions-table{font-size:.75rem}.transactions-table td,.transactions-table th{padding:8px}}.eligibility-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-top:24px;padding:24px}.eligibility-card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.eligibility-card-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.eligibility-check-btn{align-items:center;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.eligibility-check-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 6px rgba(37,99,235,.2);transform:translateY(-1px)}.eligibility-check-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.eligibility-check-btn.loading{background:#6b7280}.eligibility-check-btn svg{height:18px;width:18px}.eligibility-check-btn svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.eligibility-card-body{display:flex;flex-direction:column;gap:16px}.insurance-info{background:#f9fafb;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:16px}.detail-row,.info-row{align-items:center;display:flex;justify-content:space-between}.detail-row .label,.info-row .label{color:#6b7280;font-size:14px;font-weight:600}.detail-row .value,.info-row .value{color:#111827;font-size:14px}.alert{align-items:center;border-radius:6px;display:flex;font-size:14px;gap:12px;padding:12px 16px}.alert svg{flex-shrink:0;height:20px;width:20px}.alert-warning{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.alert-warning svg{color:#f59e0b}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-error svg{color:#ef4444}.eligibility-results{display:flex;flex-direction:column;gap:20px}.coverage-status{align-items:center;border-radius:6px;display:flex;font-size:16px;gap:12px;padding:16px}.coverage-status svg{height:24px;width:24px}.coverage-status.active{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.coverage-status.active svg{color:#10b981}.coverage-status.inactive{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.coverage-status.inactive svg{color:#ef4444}.plan-details{background:#f9fafb;border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:16px}.financial-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.financial-grid{grid-template-columns:1fr}}.financial-item{border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:16px}.financial-item .label{font-size:12px;font-weight:500;letter-spacing:.5px;opacity:.8;text-transform:uppercase}.financial-item .amount{font-size:20px;font-weight:700}.financial-item .sublabel{font-size:11px;margin-top:4px;opacity:.7}.financial-item.coinsurance,.financial-item.copay{background:#dbeafe;color:#1e3a8a}.financial-item.deductible,.financial-item.oop-max{background:#d1fae5;color:#064e3b}.check-timestamp{color:#6b7280;font-size:12px;font-style:italic;margin-top:8px;text-align:right}.ehr-patient-search{margin:16px 0}.ehr-patient-search .MuiChip-root{font-weight:600}.ehr-patient-search .MuiAlert-root{border-radius:8px}