.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}.login-header svg{display:block;margin:0 auto var(--ethos-spacing-xs,8px) auto}.subtitle{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-regular,400)}.login-form{margin-bottom:var(--ethos-spacing-xl,32px)}.form-group{margin-bottom:var(--ethos-spacing-lg,24px)}.form-group label{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)}.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}.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}.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)}.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}}.two-factor-modal{max-height:90vh;max-width:600px;overflow-y:auto}.two-factor-modal .modal-header{margin-bottom:var(--ethos-spacing-lg);text-align:center}.two-factor-modal .modal-header h2{color:var(--text-primary,#1f2937);font-size:24px;font-weight:600;margin:0 0 8px}.two-factor-modal .modal-subtitle{color:var(--text-muted,#6b7280);font-size:14px;margin:0}.two-factor-modal .modal-body{min-height:200px;padding:0}.two-factor-modal .modal-footer{border-top:1px solid var(--border-light,#e5e7eb);display:flex;gap:var(--ethos-panel-padding-md);justify-content:center;padding-top:var(--ethos-spacing-lg)}.two-factor-content{display:flex;flex-direction:column;gap:var(--ethos-spacing-md)}.info-box{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb)}.info-box h3,.info-box h4{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600;margin:0 0 8px}.info-box p{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6}.info-box ul{margin:8px 0 0;padding-left:var(--ethos-spacing-md)}.info-box li{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6;margin-bottom:var(--ethos-spacing-xs)}.setup-steps{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius);padding:var(--ethos-spacing-md)}.setup-steps h3{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600;margin:0 0 12px}.setup-steps ol{margin:0;padding-left:var(--ethos-spacing-md)}.setup-steps li{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6;margin-bottom:var(--ethos-spacing-sm)}.qr-code-section{text-align:center}.qr-code-section h3{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600;margin:0 0 16px}.qr-code-container{align-items:center;background:var(--bg-primary,#fff);border:2px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius);display:flex;justify-content:center;margin-bottom:var(--ethos-spacing-md);padding:var(--ethos-spacing-md)}.qr-code-image{display:block;height:auto;max-width:256px;width:100%}.manual-entry-section{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius);padding:var(--ethos-spacing-md)}.manual-entry-label{color:var(--text-muted,#6b7280);font-size:13px;margin:0 0 8px}.manual-entry-key{align-items:center;display:flex;gap:var(--ethos-spacing-sm);justify-content:center}.manual-entry-key code{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius-sm);color:var(--text-primary,#1f2937);font-family:Courier New,monospace;font-size:14px;font-weight:600;letter-spacing:2px;padding:8px 12px}.btn-copy{background:var(--ethos-primary,#2563eb);border:none;border-radius:var(--ethos-panel-radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease}.btn-copy:hover{background:var(--ethos-primary-700,#1d4ed8)}.verification-section{border-top:1px solid var(--border-light,#e5e7eb);padding-top:var(--ethos-spacing-md);text-align:center}.verification-section h3{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600;margin:0 0 8px}.verification-section p{color:var(--text-secondary,#4b5563);font-size:14px;margin:0 0 16px}.verification-input-group{display:flex;justify-content:center;margin-bottom:var(--ethos-spacing-md)}.verification-input{border:2px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius);font-family:Courier New,monospace;font-size:24px;font-weight:600;letter-spacing:8px;padding:12px 16px;text-align:center;transition:all .2s ease;width:180px}.verification-input:focus{border-color:var(--ethos-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.success-section{padding:var(--ethos-spacing-md);text-align:center}.success-icon{font-size:64px;margin-bottom:var(--ethos-spacing-md)}.success-section h2{color:var(--text-primary,#1f2937);font-size:20px;font-weight:600;margin:0 0 12px}.success-section p{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6;margin:0 0 20px}.error-section{padding:var(--ethos-spacing-md);text-align:center}.error-icon{font-size:64px;margin-bottom:var(--ethos-spacing-md)}.error-section h2{color:var(--color-error,#dc2626);font-size:20px;font-weight:600;margin:0 0 12px}.error-section p{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6;margin:0}.error-message{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;padding:12px 16px;text-align:center}.loading-spinner{align-items:center;display:flex;justify-content:center;min-height:200px}.fastprax-logo-loader{animation:fadeInOut 2s ease-in-out infinite;font-size:64px;opacity:.3}.webauthn-setup-section{text-align:center}.webauthn-setup-section h3{color:var(--text-primary,#1f2937);font-size:18px;font-weight:600;margin:0 0 12px}.webauthn-setup-section p{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6;margin:0 0 16px}.webauthn-benefits{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius);margin-bottom:var(--ethos-spacing-md);padding:var(--ethos-spacing-md)}.webauthn-benefits ul{list-style:none;margin:0;padding-left:var(--ethos-spacing-md)}.webauthn-benefits li{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.6;margin-bottom:var(--ethos-spacing-sm)}.success-message{background:#d4edda;border:1px solid #28a745;border-radius:var(--ethos-panel-radius-sm);color:#155724;font-size:14px;padding:12px 16px;text-align:center}.spinner-small{animation:spin .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:var(--ethos-spacing-sm);width:14px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:640px){.two-factor-modal{max-width:95vw}.qr-code-image{max-width:200px}.verification-input{font-size:20px;letter-spacing:6px;width:160px}.two-factor-modal .modal-footer{flex-direction:column}.two-factor-modal .modal-footer button{width:100%}}.nppes-lookup-container{background:#f0f9ff;border:1px solid var(--border-light,#bae6fd);border-radius:var(--ethos-panel-radius-sm);margin-bottom:var(--ethos-spacing-md);padding:10px 12px}.nppes-lookup-header{align-items:center;display:flex;gap:var(--ethos-spacing-xs);margin-bottom:var(--ethos-spacing-sm)}.nppes-lookup-title{color:var(--text-primary,#0c4a6e);font-size:12px;font-weight:600}.nppes-lookup-header-inline{align-items:center;display:flex;gap:var(--ethos-panel-padding-md);margin-bottom:var(--ethos-panel-padding-md)}.nppes-lookup-title-inline{color:var(--text-primary,#0c4a6e);font-size:14px;font-weight:600}.nppes-lookup-form{align-items:start;display:grid;gap:var(--ethos-spacing-sm);grid-template-columns:1fr 1fr auto}.nppes-lookup-field{min-width:0}.nppes-lookup-label{color:var(--text-secondary,#374151);display:block;font-size:11px;font-weight:500;margin-bottom:3px}.nppes-lookup-input{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius-sm);box-sizing:border-box;color:var(--text-primary,#1f2937);font-family:inherit;font-size:14px;padding:6px 10px;width:100%}.nppes-lookup-button{background:#0284c7;border:none;border-radius:var(--ethos-panel-radius-sm);box-sizing:border-box;color:var(--white,#fff);cursor:pointer;font-size:13px;font-weight:500;min-height:60px;padding:12px 16px;white-space:nowrap}.nppes-lookup-button:disabled{background:#9ca3af;cursor:not-allowed}.nppes-lookup-error{background:#fee2e2;border:1px solid var(--border-light,#ef4444);border-radius:var(--ethos-panel-radius-sm);color:var(--color-error,#dc2626);font-size:11px;font-weight:500;margin-top:var(--ethos-spacing-sm);padding:6px 8px}.nppes-lookup-results{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius-sm);margin-top:var(--ethos-spacing-sm);max-height:200px;overflow-y:auto}.nppes-lookup-result-item{cursor:pointer;padding:8px 10px;transition:background .15s}.nppes-lookup-result-item:not(:last-child){border-bottom:1px solid #e5e7eb}.nppes-lookup-result-item:hover{background:var(--bg-secondary,#f9fafb)}.nppes-lookup-result-name{color:var(--text-primary,#1f2937);font-size:12px;font-weight:600;margin-bottom:2px}.nppes-lookup-result-details{color:var(--text-muted,#6b7280);font-size:11px}.nppes-lookup-result-address{color:var(--text-primary,#9ca3af);font-size:11px}@media(max-width:768px){.nppes-lookup-form{gap:var(--ethos-spacing-sm);grid-template-columns:1fr}.nppes-lookup-button{font-size:14px;height:44px;padding:10px 14px;width:100%}.nppes-lookup-input{font-size:16px;height:44px}.nppes-lookup-label{font-size:12px}.nppes-lookup-container{padding:var(--ethos-panel-padding-md)}.nppes-lookup-title{font-size:13px}}.toast{align-items:flex-start;animation:slideInRight .3s ease-out;background:#fff;border-left:4px solid;border-radius:var(--ethos-panel-radius-lg);box-shadow:0 4px 16px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08);display:flex;gap:var(--ethos-panel-padding-md);max-width:420px;min-width:320px;padding:var(--ethos-spacing-md);position:relative}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-content{align-items:flex-start;display:flex;flex:1;gap:var(--ethos-panel-padding-md)}.toast-icon{flex-shrink:0;font-size:24px;margin-top:2px}.toast-text{flex:1;min-width:0}.toast-title{color:var(--ethos-neutral-800);font-size:15px;font-weight:600;margin-bottom:var(--ethos-spacing-xs)}.toast-message{color:var(--ethos-neutral-500);font-size:14px;line-height:1.5;word-wrap:break-word}.toast-close{background:none;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;padding:var(--ethos-spacing-xs);transition:color .2s}.toast-close:hover{color:#4b5563}.toast-close .material-icons{font-size:20px}.toast-success{border-left-color:var(--ethos-success)}.toast-success .toast-icon{color:var(--ethos-success)}.toast-error{border-left-color:var(--ethos-error)}.toast-error .toast-icon{color:var(--ethos-error)}.toast-warning{border-left-color:var(--ethos-warning-500)}.toast-warning .toast-icon{color:var(--ethos-warning-500)}.toast-info{border-left-color:var(--ethos-primary-500)}.toast-info .toast-icon{color:var(--ethos-primary-500)}.toast-container{display:flex;flex-direction:column;gap:var(--ethos-panel-padding-md);pointer-events:none;position:fixed;right:var(--ethos-spacing-lg);top:var(--ethos-spacing-lg);z-index:9999}.toast-container>*{pointer-events:auto}@media(max-width:768px){.toast-container{left:var(--ethos-spacing-md);max-width:calc(100vw - 32px);right:var(--ethos-spacing-md);top:var(--ethos-spacing-md)}.toast-container .toast{max-width:100%;min-width:unset}}.practice-switcher{align-items:center;display:flex;position:relative}.practice-switcher.loading{opacity:.7}.practice-switcher-trigger{align-items:center;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-light,#e2e8f0);border-radius:var(--ethos-panel-radius);cursor:pointer;display:flex;gap:var(--ethos-spacing-sm);max-width:280px;min-width:180px;padding:6px 12px;transition:all .2s ease}.practice-switcher.compact .practice-switcher-trigger{min-width:auto;padding:6px 10px}.practice-switcher-trigger:hover{background:var(--bg-hover,#f1f5f9);border-color:var(--border-medium,#cbd5e1)}.practice-switcher-trigger:focus{border-color:var(--color-ocean-blue,#0284c7);box-shadow:0 0 0 3px rgba(2,132,199,.1);outline:none}.practice-switcher-trigger.open{background:var(--bg-hover,#f1f5f9);border-color:var(--color-ocean-blue,#0284c7)}.practice-switcher-trigger:disabled{cursor:not-allowed;opacity:.6}.practice-switcher-current{align-items:center;display:flex;flex:1;gap:var(--ethos-spacing-sm);min-width:0}.practice-avatar{align-items:center;background:linear-gradient(135deg,var(--color-ocean-blue,#0284c7) 0,var(--color-ocean-blue-600,#0369a1) 100%);border-radius:var(--ethos-panel-radius);color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.practice-initials{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.5px}.practice-info{display:flex;flex-direction:column;min-width:0;text-align:left}.practice-name{color:var(--text-primary,#1e293b);font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-role-label{color:var(--text-secondary,#64748b);font-size:11px;line-height:1.2;text-transform:capitalize}.practice-switcher-chevron{color:var(--text-secondary,#64748b);flex-shrink:0;transition:transform .2s ease}.practice-switcher-trigger.open .practice-switcher-chevron{transform:rotate(180deg)}.practice-switcher-dropdown{animation:practiceDropdownFadeIn .15s ease-out;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e2e8f0);border-radius:var(--ethos-panel-radius-lg);box-shadow:0 10px 40px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.08);left:0;min-width:280px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}@keyframes practiceDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.practice-dropdown-header{border-bottom:1px solid var(--border-light,#e2e8f0);padding:12px 16px}.practice-dropdown-title{color:var(--text-secondary,#64748b);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.practice-dropdown-list{max-height:320px;overflow-y:auto;padding:var(--ethos-spacing-sm)}.practice-dropdown-item{align-items:center;background:transparent;border:none;border-radius:var(--ethos-panel-radius);cursor:pointer;display:flex;gap:var(--ethos-panel-padding-md);padding:10px 12px;text-align:left;transition:all .15s ease;width:100%}.practice-dropdown-item:hover{background:var(--bg-hover,#f1f5f9)}.practice-dropdown-item.active{background:var(--color-ocean-blue-50,#e0f2fe)}.practice-dropdown-item.active:hover{background:var(--color-ocean-blue-100,#bae6fd)}.practice-item-avatar{align-items:center;background:linear-gradient(135deg,var(--color-ocean-blue,#0284c7) 0,var(--color-ocean-blue-600,#0369a1) 100%);border-radius:var(--ethos-panel-radius);color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:36px;justify-content:center;width:36px}.practice-item-info{flex:1;min-width:0}.practice-item-name{color:var(--text-primary,#1e293b);display:block;font-size:14px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-item-npi{color:var(--text-secondary,#64748b);display:block;font-family:SF Mono,Monaco,monospace;font-size:11px}.practice-item-meta{align-items:center;display:flex;flex-shrink:0;gap:var(--ethos-spacing-sm)}.practice-role-badge{align-items:center;border-radius:var(--ethos-panel-radius-sm);display:inline-flex;font-size:10px;font-weight:600;gap:var(--ethos-spacing-xs);letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.practice-role-badge.owner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}.practice-role-badge.admin{background:var(--color-ocean-blue-100,#bae6fd);color:var(--color-ocean-blue-700,#0369a1)}.practice-role-badge.provider{background:var(--color-healthcare-green-100,#d1fae5);color:var(--color-healthcare-green-700,#047857)}.practice-role-badge.billing{background:var(--color-soft-lavender-100,#ede9fe);color:var(--color-soft-lavender-700,#6d28d9)}.practice-role-badge.staff{background:var(--bg-secondary,#f1f5f9);color:var(--text-secondary,#64748b)}.practice-item-check{align-items:center;color:var(--color-ocean-blue,#0284c7);display:flex}.practice-dropdown-empty{padding:24px 16px;text-align:center}.practice-dropdown-empty p{color:var(--text-secondary,#64748b);font-size:13px;margin:0}.practice-notification-dot{animation:notificationPulse 2s ease-in-out infinite;background:#ef4444;border:2px solid #fff;border-radius:50%;height:10px;position:absolute;right:-2px;top:-2px;width:10px}.practice-notification-badge{align-items:center;background:#ef4444;border-radius:9px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.practice-trigger-notification-dot{animation:notificationPulse 2s ease-in-out infinite;background:#ef4444;border:2px solid var(--bg-secondary,#f8fafc);border-radius:50%;height:8px;position:absolute;right:var(--ethos-spacing-xs);top:var(--ethos-spacing-xs);width:8px}.practice-trigger-notification-badge{align-items:center;background:#ef4444;border:2px solid var(--bg-secondary,#f8fafc);border-radius:9px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 4px;position:absolute;right:-4px;top:-4px}.practice-item-avatar{position:relative}.practice-dropdown-item.has-activity{background:rgba(239,68,68,.05)}.practice-dropdown-item.has-activity:hover{background:rgba(239,68,68,.1)}@keyframes notificationPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.practice-switcher-spinner{align-items:center;display:flex;justify-content:center}.practice-switcher-spinner svg{animation:practiceSpinnerRotate .8s linear infinite}@keyframes practiceSpinnerRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dark-mode .practice-switcher-trigger{background:var(--bg-secondary);border-color:var(--border-light)}.dark-mode .practice-switcher-trigger:hover{background:var(--bg-hover);border-color:var(--border-medium)}.dark-mode .practice-name{color:var(--text-primary)}.dark-mode .practice-role-label{color:var(--text-secondary)}.dark-mode .practice-switcher-dropdown{background:var(--bg-primary);border-color:var(--border-light);box-shadow:0 10px 40px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.3)}.dark-mode .practice-dropdown-header{border-bottom-color:var(--border-light)}.dark-mode .practice-dropdown-item:hover{background:var(--bg-hover)}.dark-mode .practice-dropdown-item.active{background:rgba(2,132,199,.15)}.dark-mode .practice-item-name{color:var(--text-primary)}.dark-mode .practice-item-npi{color:var(--text-secondary)}@media(max-width:768px){.practice-switcher-trigger{max-width:200px;min-width:auto}.practice-info{display:none}.practice-switcher-dropdown{left:auto;min-width:260px;right:0}}@media(max-width:480px){.practice-switcher-dropdown{border-radius:16px 16px 0 0;bottom:0;left:0;max-height:70vh;position:fixed;right:0;top:auto}.practice-dropdown-list{max-height:calc(70vh - 60px)}}.send-claim-email-modal{background:#fff;border-radius:var(--ethos-panel-radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:90%}.modal-overlay{background:rgba(0,0,0,.5);bottom:0;justify-content:center;left:0;padding:var(--ethos-spacing-md);position:fixed;right:0;top:0;z-index:1000}.modal-header,.modal-overlay{align-items:center;display:flex}.modal-header{border-bottom:1px solid var(--border-light,#e5e7eb);justify-content:space-between;padding:24px 24px 20px}.modal-header h2{color:var(--text-primary,#1f2937);font-size:20px;font-weight:600;margin:0}.modal-close-button{align-items:center;background:none;border:none;border-radius:var(--ethos-panel-radius-sm);color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;justify-content:center;padding:var(--ethos-spacing-xs);transition:all .2s ease}.modal-close-button:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.modal-close-button:disabled{cursor:not-allowed;opacity:.5}.send-claim-email-modal form{display:flex;flex-direction:column;gap:var(--ethos-spacing-md);padding:var(--ethos-spacing-lg)}.form-field{display:flex;flex-direction:column;gap:var(--ethos-spacing-sm)}.form-field label{color:var(--text-secondary,#374151);font-size:14px;font-weight:500}.form-field input,.form-field textarea{border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius-sm);font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.form-field input:focus,.form-field textarea:focus{border-color:var(--ethos-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.form-field input:disabled,.form-field textarea:disabled{background-color:var(--bg-secondary,#f3f4f6);cursor:not-allowed;opacity:.6}.form-field textarea{min-height:80px;resize:vertical}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--ethos-panel-radius);display:flex;gap:var(--ethos-panel-padding-md);padding:var(--ethos-spacing-md)}.info-box .material-icons{color:var(--ethos-primary-600);flex-shrink:0;font-size:20px}.info-box div{flex:1}.info-box strong{color:var(--ethos-primary-800);display:block;font-size:14px;margin-bottom:var(--ethos-spacing-xs)}.info-box p{color:var(--ethos-primary-900);font-size:13px;line-height:1.5;margin:0}.modal-actions{display:flex;gap:var(--ethos-panel-padding-md);justify-content:flex-end;margin-top:var(--ethos-spacing-sm)}.btn-primary,.btn-secondary{border:none;border-radius:var(--ethos-panel-radius-sm);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-primary{background:var(--ethos-primary,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ethos-primary-700)}.btn-primary:disabled{opacity:.5}.btn-secondary{background:#fff;color:var(--text-secondary,#374151)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary,#f3f4f6)}.btn-secondary:disabled{opacity:.5}.error-message{background-color:#fef2f2;border-radius:var(--ethos-panel-radius-sm);color:var(--ethos-error-600);font-size:14px;padding:var(--ethos-panel-padding-md)}.patient-onboarding{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:var(--ethos-spacing-md)}.onboarding-header{margin-bottom:40px}.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);margin:0 0 24px}.progress-bar{background-color:var(--bg-primary,#e5e7eb)}.progress-bar,.progress-fill{border-radius:var(--ethos-panel-radius-sm)}.progress-fill{background:linear-gradient(90deg,var(--ethos-secondary-600) 0,#10b981 100%)}.onboarding-content,.setup-steps{display:flex;flex-direction:column;gap:var(--ethos-spacing-lg)}.setup-step{border:2px solid #e5e7eb;border-radius:var(--ethos-panel-radius-lg);padding:var(--ethos-spacing-lg)}.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{gap:var(--ethos-spacing-md);margin-bottom:var(--ethos-spacing-md)}.step-icon{border:2px solid #e5e7eb;font-size:24px;height:40px;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);margin:0 0 4px}.step-info p{color:var(--text-muted,#6b7280)}.step-form{border:1px solid var(--border-light,#e5e7eb);margin-top:var(--ethos-spacing-lg);padding-top:var(--ethos-spacing-lg)}.form-fields{gap:var(--ethos-spacing-md)}.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{gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{gap:var(--ethos-spacing-sm)}.form-group label{color:var(--text-secondary,#374151)}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius);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)}.form-group input:required:invalid{border-color:var(--color-error,#ef4444)}.form-group small{color:var(--text-muted,#6b7280);margin-top:var(--ethos-spacing-xs)}.form-actions{border:1px solid var(--border-light,#e5e7eb)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:var(--ethos-panel-radius);padding:12px 32px}.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}.btn-secondary{border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius);color:var(--text-muted,#6b7280);padding:12px 24px}.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:var(--ethos-panel-radius);color:var(--color-error,#dc2626);font-size:14px;margin-top:var(--ethos-spacing-md);padding:12px 16px}.hipaa-notice{background:#f3f4f6;border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius);margin-top:var(--ethos-spacing-lg);padding:var(--ethos-spacing-md)}.hipaa-notice h4{color:var(--text-secondary,#374151);margin:0 0 8px}.hipaa-notice p{color:var(--text-muted,#6b7280)}@media(max-width:768px){.patient-onboarding{padding:var(--ethos-spacing-md)}.onboarding-header h2{font-size:28px}.onboarding-header p{font-size:16px}.setup-step{padding:var(--ethos-spacing-md)}.step-header{flex-direction:column;gap:var(--ethos-panel-padding-md);text-align:center}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column;gap:var(--ethos-panel-padding-md)}.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}}.fastprax-onboarding{background:linear-gradient(135deg,var(--color-ocean-blue-50) 0,var(--color-healthcare-green-50) 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:var(--spacing-lg)}.onboarding-header{margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl) 0;text-align:center}.header-content{margin:0 auto;max-width:800px}.app-logo{gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.app-logo,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{background:linear-gradient(135deg,var(--color-ocean-blue) 0,var(--color-healthcare-green) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--white,#fff);font-size:24px;height:48px;width:48px}.app-logo h1{color:var(--color-ocean-blue);font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0}.onboarding-header h2{color:var(--text-primary);font-size:28px;font-weight:600;margin:0 0 var(--spacing-sm) 0}.onboarding-header p{color:var(--text-secondary);font-size:18px;line-height:1.6;margin:0 0 var(--spacing-xl) 0}.progress-container{background:var(--bg-primary,#fff);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.progress-bar{background-color:var(--color-gray-200);height:8px;margin-bottom:var(--spacing-sm);overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:var(--radius-sm)}.progress-fill{background:linear-gradient(90deg,var(--color-healthcare-green) 0,var(--color-ocean-blue) 100%);height:100%;transition:width .3s ease}.progress-text{color:var(--text-secondary);font-size:14px;font-weight:600;text-align:center}.onboarding-content{margin:0 auto;max-width:1000px}.setup-steps{display:flex;flex-direction:column;gap:var(--spacing-lg)}.setup-step{background:var(--bg-primary,#fff);border:2px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);overflow:hidden;padding:var(--spacing-xl);position:relative;transition:all .3s ease}.setup-step.completed{background:var(--color-healthcare-green-50);border-color:var(--color-healthcare-green);box-shadow:var(--shadow-md)}.setup-step.in-progress{background:var(--color-ocean-blue-50);border-color:var(--color-ocean-blue);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.step-header{align-items:flex-start;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.step-icon{align-items:center;background:var(--bg-primary,#fff);border:2px solid var(--border-light);border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:48px;justify-content:center;transition:all .3s ease;width:48px}.setup-step.completed .step-icon{background:var(--color-healthcare-green);border-color:var(--color-healthcare-green);color:var(--white,#fff)}.setup-step.in-progress .step-icon{background:var(--color-ocean-blue);border-color:var(--color-ocean-blue);color:var(--white,#fff)}.step-info h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 var(--spacing-xs) 0}.step-info p{color:var(--text-secondary);font-size:16px;line-height:1.5;margin:0}.step-form{border-top:1px solid var(--border-light);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.form-fields{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-fields h3{border-bottom:2px solid var(--border-light);font-size:20px;margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md)}.form-fields h3,.form-fields h4{color:var(--text-primary);font-weight:600}.form-fields h4{font-size:16px;margin:0 0 var(--spacing-md) 0}.form-row{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:var(--spacing-sm)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary,#fff);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-size:16px;min-height:48px;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-ocean-blue);box-shadow:0 0 0 3px var(--color-ocean-blue-100);outline:none;transform:translateY(-1px)}.form-group input:required:invalid{border-color:var(--color-alert-red)}.form-group small{color:var(--text-muted);font-size:12px;line-height:1.4;margin-top:var(--spacing-xs)}.form-group input::-moz-placeholder,.form-group select::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-muted);opacity:.7}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.7}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--color-gray-100);color:var(--text-muted);cursor:not-allowed}.form-section{background:var(--color-gray-50);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.form-section h4{color:var(--text-primary);font-size:16px;font-weight:600}.form-grid,.form-section h4{margin-bottom:var(--spacing-lg)}.form-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-grid .form-group{margin-bottom:0}.form-group.full-width{grid-column:1/-1}.form-group.full-width input,.form-group.full-width select,.form-group.full-width textarea{width:100%}.step-actions{align-items:center;border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-md);justify-content:space-between;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.btn-primary{background:linear-gradient(135deg,var(--color-ocean-blue) 0,var(--color-ocean-blue-700) 100%);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--white,#fff);cursor:pointer;font-size:16px;font-weight:600;min-width:120px;padding:var(--spacing-md) var(--spacing-xl);transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-ocean-blue-700) 0,var(--color-deep-navy) 100%);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:disabled{background:var(--color-gray-300);box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-primary,#fff);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:500;min-width:100px;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--text-primary);transform:translateY(-1px)}.btn-secondary:disabled{background:var(--color-gray-100);color:var(--color-gray-400);cursor:not-allowed;transform:none}.validation-error{background:var(--color-alert-red-50);border:1px solid var(--color-alert-red-200);border-radius:var(--radius-md);color:var(--color-alert-red-700);margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.validation-error h4{color:var(--color-alert-red-700);font-size:16px;font-weight:600;margin:0 0 var(--spacing-sm) 0}.validation-error ul{margin:0;padding-left:var(--spacing-lg)}.validation-error li{margin-bottom:var(--spacing-xs)}.hipaa-notice{background:var(--color-ocean-blue-50);border:1px solid var(--color-ocean-blue-200);border-radius:var(--radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.hipaa-notice h4{color:var(--color-ocean-blue-700);font-size:16px;font-weight:600;margin:0 0 var(--spacing-sm) 0}.hipaa-notice p{color:var(--color-ocean-blue-600);font-size:14px;line-height:1.5;margin:0}@media(max-width:1024px){.onboarding-content{max-width:100%;padding:0 var(--spacing-md)}.form-row{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media(max-width:768px){.fastprax-onboarding{padding:var(--spacing-md)}.onboarding-header h2{font-size:24px}.onboarding-header p{font-size:16px}.setup-step{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.step-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.form-row{gap:var(--spacing-md);grid-template-columns:1fr}.form-group{margin-bottom:var(--spacing-lg)}.form-fields{gap:var(--spacing-lg)}.step-actions{flex-direction:column;gap:var(--spacing-md)}.btn-primary,.btn-secondary{font-size:16px;padding:var(--spacing-lg);width:100%}}@media(max-width:480px){.fastprax-onboarding{padding:var(--spacing-sm)}.setup-step{padding:var(--spacing-md)}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:var(--spacing-md)}.step-actions{gap:var(--spacing-sm)}}@media print{.fastprax-onboarding{background:var(--bg-primary,#fff);padding:0}.step-actions{display:none}.step-form{border-top:none;padding-top:0}}@media(prefers-reduced-motion:reduce){.btn-primary,.btn-secondary,.progress-fill,.setup-step,.step-icon{transition:none}}.btn-primary:focus,.btn-secondary:focus{outline:2px solid var(--color-ocean-blue);outline-offset:2px}.btn-primary:disabled{position:relative}.btn-primary:disabled:after{animation:fadeInOut 2s ease-in-out infinite;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}.btn-primary:disabled:after,.provider-modal-overlay{align-items:center;display:flex;justify-content:center}.provider-modal-overlay{animation:fadeIn .3s ease-out;backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;left:0;padding:var(--ethos-spacing-md);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:var(--ethos-panel-radius-lg);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:var(--ethos-panel-radius-sm);color:var(--text-muted,#6b7280);cursor:pointer;display:flex;justify-content:center;padding:var(--ethos-spacing-sm);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:var(--ethos-spacing-xl)}.provider-modal-content .guided-setup{margin:0;max-width:none;padding:0}.provider-modal-content .step-header{background:#f8fafc;margin-bottom:var(--ethos-spacing-lg);padding:var(--ethos-spacing-md)}.provider-modal-content .step-form,.provider-modal-content .step-header{border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius)}.provider-modal-content .step-form{background:var(--bg-primary,#fff);padding:var(--ethos-spacing-lg)}@media(max-width:768px){.provider-modal-overlay{padding:var(--ethos-spacing-sm)}.provider-modal-container{max-height:95vh;max-width:100%}.provider-modal-content .onboarding-wizard,.provider-modal-header{padding:var(--ethos-spacing-md)}.provider-modal-title h2{font-size:18px}}@media(max-width:480px){.provider-modal-content .onboarding-wizard,.provider-modal-header{padding:var(--ethos-spacing-md)}.provider-modal-title{align-items:flex-start;flex-direction:column;gap:var(--ethos-spacing-xs)}.provider-modal-title h2{font-size:16px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@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:var(--ethos-neutral-400)}.provider-edit-modal-content{max-height:calc(90vh - 120px);overflow-y:auto;padding:0}.provider-edit-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px}.provider-edit-loading .loading-spinner{animation:fadeInOut 2s ease-in-out infinite;margin-bottom:var(--ethos-spacing-md);opacity:.6}.provider-edit-loading .loading-text{color:var(--text-muted,#6b7280);font-size:14px}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:.8}}.form-container{padding:0}.form-section{margin-bottom:var(--ethos-spacing-xl)}.section-header{align-items:center;display:flex;gap:var(--ethos-spacing-sm);margin-bottom:var(--ethos-spacing-md)}.section-header h2{color:var(--text-primary,#111827);font-size:18px;font-weight:600;margin:0}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-2,.form-grid-3{display:grid;gap:var(--ethos-spacing-md)}.form-grid-3{grid-template-columns:1fr 1fr 1fr}.form-field-checkbox{margin-bottom:var(--ethos-spacing-md)}.form-field-checkbox label{align-items:center;cursor:pointer;display:flex;gap:var(--ethos-spacing-sm)}.form-actions{align-items:center;border-top:1px solid var(--border-light,#e5e7eb);display:flex;justify-content:space-between;margin-top:var(--ethos-spacing-xl);padding-top:var(--ethos-spacing-lg)}.actions-left,.actions-right{display:flex;gap:var(--ethos-panel-padding-md)}.btn-cancel{background:#fff;border:1px solid var(--border-medium,#d1d5db);border-radius:var(--ethos-panel-radius);color:var(--text-secondary,#6b7280);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-secondary,#f9fafb);border-color:var(--border-dark,#9ca3af)}.btn-save{background:var(--ethos-primary,#2563eb);border:none;border-radius:var(--ethos-panel-radius);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-save:hover:not(:disabled){background:var(--ethos-primary-700,#1d4ed8)}.btn-save:disabled{background:var(--border-medium,#d1d5db);cursor:not-allowed}.btn-delete{background:#fff;border:1px solid var(--color-error,#dc2626);border-radius:var(--ethos-panel-radius);color:var(--color-error,#dc2626);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-delete:hover{background:var(--color-error,#dc2626);color:#fff}@media(max-width:768px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.form-actions{flex-direction:column;gap:var(--ethos-panel-padding-md)}.actions-left,.actions-right{width:100%}.actions-left button,.actions-right button{flex:1}}.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}}.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 var(--ethos-error);color:var(--text-primary,#991b1b)}.offline-indicator.online{background:#d1fae5;border-bottom:2px solid var(--ethos-success);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:var(--ethos-panel-padding-md)}.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:var(--ethos-panel-padding-md);opacity:.7;padding:var(--ethos-spacing-xs);transition:opacity .2s}.offline-close:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@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}}.subscription-modal-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.subscription-modal-content{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.subscription-modal-header{border-bottom:1px solid var(--border-light,#e5e7eb);padding:40px 32px 24px;text-align:center}.subscription-modal-header h2{color:var(--text-primary,#1f2937);font-size:28px;font-weight:700;margin:16px 0 8px}.subtitle{color:var(--text-secondary,#6b7280);font-size:16px;margin:0}.subscription-modal-body{padding:var(--ethos-spacing-xl)}.main-message{color:var(--text-primary,#374151);font-size:15px;line-height:1.6;margin:0 0 24px;text-align:center}.release-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--ethos-panel-radius-lg);margin-bottom:var(--ethos-spacing-lg);padding:var(--ethos-spacing-md)}.release-info h3{color:#0369a1;font-size:16px;font-weight:600;margin:0 0 16px}.features-list{list-style:none;margin:0;padding:0}.features-list li{align-items:center;color:#075985;display:flex;font-size:14px;gap:var(--ethos-panel-padding-md);padding:8px 0}.features-list li svg{color:var(--ethos-success);flex-shrink:0;font-size:20px}.pricing-card{background:linear-gradient(135deg,var(--ethos-primary-600) 0,var(--ethos-primary-700) 100%);border-radius:var(--ethos-panel-radius-lg);margin-bottom:var(--ethos-spacing-lg);padding:var(--ethos-spacing-xl);text-align:center}.price-tag{align-items:baseline;display:flex;gap:var(--ethos-spacing-xs);justify-content:center;margin-bottom:var(--ethos-panel-padding-md)}.currency{color:#fff;font-size:32px;font-weight:700}.amount{color:#fff;font-size:64px;font-weight:800;line-height:1}.period{color:hsla(0,0%,100%,.9);font-size:20px;font-weight:500}.price-description{color:hsla(0,0%,100%,.95);font-size:14px;font-weight:500}.btn-subscribe{background:var(--ethos-primary-600);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-bottom:var(--ethos-spacing-md);padding:var(--ethos-spacing-md);transition:all .2s;width:100%}.btn-subscribe:hover{background:var(--ethos-primary-700);box-shadow:0 8px 16px rgba(37,99,235,.3);transform:translateY(-2px)}.help-text{color:var(--text-tertiary,#9ca3af);font-size:13px;margin:0;text-align:center}@media(max-width:768px){.subscription-modal-content{width:95%}.subscription-modal-header{padding:32px 24px 20px}.subscription-modal-header h2{font-size:24px}.pricing-card,.subscription-modal-body{padding:var(--ethos-spacing-lg)}.amount{font-size:48px}}