.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}}:root{--feature-gate-primary:var(--ethos-primary,#2563eb);--feature-gate-primary-hover:var(--ethos-primary-700,#1d4ed8);--feature-gate-surface:var(--ethos-panel-bg-white,#fff);--feature-gate-surface-muted:var(--ethos-canvas-fill-01,#f9fafb);--feature-gate-surface-soft:var(--ethos-neutral-100,#f3f4f6);--feature-gate-surface-soft-strong:var(--ethos-neutral-200,#e5e7eb);--feature-gate-surface-dark:var(--ethos-neutral-700,#374151);--feature-gate-surface-dark-strong:var(--ethos-neutral-800,#1f2937);--feature-gate-border:var(--ethos-border-light,#e5e7eb);--feature-gate-border-strong:var(--ethos-border-medium,#d1d5db);--feature-gate-border-dark:var(--ethos-neutral-600,#4b5563);--feature-gate-text-primary:var(--ethos-text-primary,#111827);--feature-gate-text-strong:var(--ethos-neutral-700,#374151);--feature-gate-text-secondary:var(--ethos-text-secondary,#6b7280);--feature-gate-text-subtle:var(--ethos-neutral-600,#4b5563);--feature-gate-text-tertiary:var(--ethos-text-tertiary,#9ca3af);--feature-gate-success:var(--ethos-success,#10b981);--feature-gate-success-surface:var(--ethos-success-100,#d1fae5);--feature-gate-success-border:var(--ethos-success-200,#a7f3d0);--feature-gate-success-text:var(--ethos-success-dark,#065f46);--feature-gate-warning:var(--ethos-warning,#f59e0b);--feature-gate-warning-surface:var(--ethos-warning-100,#fef3c7);--feature-gate-warning-surface-strong:var(--ethos-warning-200,#fde68a);--feature-gate-warning-text:var(--ethos-warning-600,#d97706);--feature-gate-warning-text-strong:var(--ethos-warning-dark,#92400e);--feature-gate-warning-border:var(--ethos-warning,#f59e0b);--feature-gate-warning-dark-surface:var(--ethos-warning-900,#78350f);--feature-gate-warning-dark-surface-strong:var(--ethos-warning-950,#451a03);--feature-gate-warning-dark-border:var(--ethos-warning-700,#b45309);--feature-gate-warning-contrast:var(--ethos-warning-400,#fbbf24);--feature-gate-warning-soft-contrast:var(--ethos-warning-300,#fcd34d);--feature-gate-error:var(--ethos-error,#ef4444);--feature-gate-error-strong:var(--ethos-error-600,#dc2626);--feature-gate-error-text:var(--ethos-error-dark,#991b1b);--feature-gate-error-surface:var(--ethos-error-100,#fee2e2);--feature-gate-error-dark-surface:var(--ethos-error-950,#450a0a);--feature-gate-error-dark-border:var(--ethos-error-700,#b91c1c);--feature-gate-error-soft-contrast:var(--ethos-error-300,#fca5a5);--feature-gate-info-surface:var(--ethos-primary-100,#dbeafe);--feature-gate-info-surface-strong:var(--ethos-primary-200,#bfdbfe);--feature-gate-info-dark-surface:var(--ethos-primary-900,#1e3a5f);--feature-gate-info-dark-surface-strong:var(--ethos-primary-800,#1e40af)}.feature-gate-loading{align-items:center;display:flex;justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--feature-gate-border);border-radius:50%;border-top-color:var(--feature-gate-primary);height:40px;width:40px}.upgrade-prompt{flex-direction:column;margin:0 auto;max-width:500px;padding:48px 24px;text-align:center}.upgrade-prompt,.upgrade-prompt-icon{align-items:center;display:flex;justify-content:center}.upgrade-prompt-icon{background:linear-gradient(135deg,var(--feature-gate-surface-soft) 0,var(--feature-gate-surface-soft-strong) 100%);border-radius:50%;color:var(--feature-gate-text-secondary);height:80px;margin-bottom:24px;width:80px}.upgrade-prompt-icon.warning{background:linear-gradient(135deg,var(--feature-gate-warning-surface) 0,var(--feature-gate-warning-surface-strong) 100%);color:var(--feature-gate-warning-text)}.upgrade-prompt-title{color:var(--feature-gate-text-primary);font-size:24px;font-weight:700;margin:0 0 12px}.upgrade-prompt-description{color:var(--feature-gate-text-secondary);font-size:16px;line-height:1.5;margin:0 0 24px}.upgrade-prompt-benefits{background:var(--feature-gate-surface-muted);border-radius:12px;margin-bottom:24px;padding:20px;width:100%}.upgrade-prompt-benefits h3{color:var(--feature-gate-text-strong);font-size:14px;font-weight:600;margin:0 0 12px}.upgrade-prompt-benefits ul{list-style:none;margin:0 0 16px;padding:0}.upgrade-prompt-benefits li{align-items:center;color:var(--feature-gate-text-subtle);display:flex;font-size:14px;gap:8px;padding:6px 0}.upgrade-prompt-benefits li svg{color:var(--feature-gate-success);flex-shrink:0}.upgrade-prompt-price{align-items:baseline;display:flex;gap:4px;justify-content:center}.price-amount{color:var(--feature-gate-text-primary);font-size:32px;font-weight:700}.price-period{color:var(--feature-gate-text-secondary);font-size:16px}.upgrade-prompt-button{background:var(--feature-gate-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:background-color .2s,transform .1s}.upgrade-prompt-button:hover{background:var(--feature-gate-primary-hover)}.upgrade-prompt-button:active{transform:scale(.98)}.limit-meter{background:var(--feature-gate-surface-soft-strong);border-radius:12px;height:24px;margin:16px 0;overflow:hidden;position:relative;width:100%}.limit-meter-fill{background:linear-gradient(90deg,var(--feature-gate-warning) 0,var(--feature-gate-error) 100%);border-radius:12px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.limit-meter-fill--full{width:100%}.limit-meter-text{color:var(--feature-gate-text-strong);font-size:12px;font-weight:600;left:50%;position:absolute;text-shadow:0 1px 2px hsla(0,0%,100%,.8);top:50%;transform:translate(-50%,-50%)}.upgrade-suggestion{color:var(--feature-gate-text-secondary);font-size:14px;margin:0 0 20px}.usage-warning-banner{align-items:center;background:var(--feature-gate-warning-surface);border:1px solid var(--feature-gate-warning-border);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.usage-warning-banner.critical{background:var(--feature-gate-error-surface);border-color:var(--feature-gate-error)}.usage-warning-content{align-items:center;color:var(--feature-gate-warning-text-strong);display:flex;font-size:14px;font-weight:500;gap:12px}.usage-warning-banner.critical .usage-warning-content{color:var(--feature-gate-error-text)}.usage-warning-content svg{color:var(--feature-gate-warning-text);flex-shrink:0}.usage-warning-banner.critical .usage-warning-content svg{color:var(--feature-gate-error-strong)}.usage-warning-upgrade{background:#fff;border:1px solid var(--feature-gate-warning-text);border-radius:6px;color:var(--feature-gate-warning-text);cursor:pointer;font-size:14px;font-weight:600;padding:6px 16px;transition:all .2s}.usage-warning-banner.critical .usage-warning-upgrade{border-color:var(--feature-gate-error-strong);color:var(--feature-gate-error-strong)}.usage-warning-upgrade:hover{background:var(--feature-gate-warning-text);color:#fff}.usage-warning-banner.critical .usage-warning-upgrade:hover{background:var(--feature-gate-error-strong)}@media(max-width:640px){.upgrade-prompt{padding:32px 16px}.upgrade-prompt-title{font-size:20px}.upgrade-prompt-description{font-size:14px}.price-amount{font-size:28px}.usage-warning-banner{flex-direction:column;gap:12px;text-align:center}.usage-warning-upgrade{width:100%}}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.provider-upgrade-modal{background:var(--feature-gate-surface);border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:420px;padding:32px;position:relative;width:100%}.provider-upgrade-modal--surface-reset{background:transparent;box-shadow:none;max-width:100%;width:100%}.modal-close{background:none;border:none;border-radius:4px;color:var(--feature-gate-text-secondary);cursor:pointer;padding:4px;position:absolute;right:16px;top:16px;transition:background-color .2s}.modal-close:hover{background:var(--feature-gate-surface-soft);color:var(--feature-gate-text-strong)}.modal-icon{align-items:center;background:linear-gradient(135deg,var(--feature-gate-info-surface) 0,var(--feature-gate-info-surface-strong) 100%);border-radius:50%;color:var(--feature-gate-primary);display:flex;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.modal-title{color:var(--feature-gate-text-primary);font-size:24px;font-weight:700;margin:0 0 8px;text-align:center}.modal-description{color:var(--feature-gate-text-secondary);font-size:14px;line-height:1.5;margin:0 0 24px;text-align:center}.price-card{background:var(--feature-gate-surface-muted);border-radius:12px;margin-bottom:24px;padding:20px}.price-row{align-items:center;display:flex;justify-content:space-between}.price-label{color:var(--feature-gate-text-strong);font-size:14px;font-weight:500}.price-value{color:var(--feature-gate-primary);font-size:18px;font-weight:700}.price-divider{border:none;border-top:1px solid var(--feature-gate-border);margin:16px 0}.team-features{display:flex;flex-direction:column;gap:12px}.team-features-label{color:var(--feature-gate-text-secondary);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.team-feature-row{align-items:center;display:flex;gap:12px}.feature-icon{font-size:20px;text-align:center;width:32px}.feature-info{display:flex;flex-direction:column}.feature-title{color:var(--feature-gate-text-strong);font-size:14px;font-weight:500}.feature-subtitle{color:var(--feature-gate-text-tertiary);font-size:12px}.modal-actions{display:flex;flex-direction:column;gap:12px}.modal-actions .btn-primary{background:var(--feature-gate-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:background-color .2s,transform .1s}.modal-actions .btn-primary:hover{background:var(--feature-gate-primary-hover)}.modal-actions .btn-primary:active{transform:scale(.98)}.modal-actions .btn-secondary{background:transparent;border:none;border-radius:8px;color:var(--feature-gate-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:color .2s}.modal-actions .btn-secondary:hover{color:var(--feature-gate-text-strong)}@media(prefers-color-scheme:dark){.upgrade-prompt-icon{background:linear-gradient(135deg,var(--feature-gate-surface-dark) 0,var(--feature-gate-surface-dark-strong) 100%);color:var(--feature-gate-text-tertiary)}.upgrade-prompt-icon.warning{background:linear-gradient(135deg,var(--feature-gate-warning-dark-surface) 0,var(--feature-gate-warning-dark-surface-strong) 100%);color:var(--feature-gate-warning-contrast)}.upgrade-prompt-title{color:var(--feature-gate-surface-muted)}.upgrade-prompt-description{color:var(--feature-gate-text-tertiary)}.upgrade-prompt-benefits{background:var(--feature-gate-surface-dark-strong)}.upgrade-prompt-benefits h3{color:var(--feature-gate-border)}.upgrade-prompt-benefits li{color:var(--feature-gate-border-strong)}.price-amount{color:var(--feature-gate-surface-muted)}.limit-meter{background:var(--feature-gate-surface-dark)}.limit-meter-text{color:var(--feature-gate-border);text-shadow:0 1px 2px rgba(0,0,0,.5)}.upgrade-suggestion{color:var(--feature-gate-text-tertiary)}.usage-warning-banner{background:var(--feature-gate-warning-dark-surface-strong);border-color:var(--feature-gate-warning-dark-border)}.usage-warning-banner.critical{background:var(--feature-gate-error-dark-surface);border-color:var(--feature-gate-error-dark-border)}.usage-warning-content{color:var(--feature-gate-warning-soft-contrast)}.usage-warning-banner.critical .usage-warning-content{color:var(--feature-gate-error-soft-contrast)}.modal-overlay{background:rgba(0,0,0,.7)}.provider-upgrade-modal{background:var(--feature-gate-surface-dark-strong)}.modal-close{color:var(--feature-gate-text-tertiary)}.modal-close:hover{background:var(--feature-gate-surface-dark);color:var(--feature-gate-border)}.modal-icon{background:linear-gradient(135deg,var(--feature-gate-info-dark-surface) 0,var(--feature-gate-info-dark-surface-strong) 100%)}.modal-title{color:var(--feature-gate-surface-muted)}.modal-description{color:var(--feature-gate-text-tertiary)}.price-card{background:var(--feature-gate-surface-dark)}.price-label{color:var(--feature-gate-border-strong)}.price-divider{border-top-color:var(--feature-gate-border-dark)}.team-features-label{color:var(--feature-gate-text-tertiary)}.feature-title{color:var(--feature-gate-border)}.feature-subtitle,.modal-actions .btn-secondary{color:var(--feature-gate-text-tertiary)}.modal-actions .btn-secondary:hover{color:var(--feature-gate-border)}}.nppes-lookup-container{background:linear-gradient(180deg,rgba(239,246,255,.94),hsla(0,0%,100%,.98)),#fff;border:1px solid rgba(96,165,250,.26);border-radius:18px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72);margin-bottom:0;padding:18px}.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:12px;margin-bottom:18px}.nppes-lookup-copy{display:flex;flex-direction:column;gap:4px}.nppes-lookup-title-inline{color:#0f172a;font-size:16px;font-weight:700}.nppes-lookup-subtitle{color:var(--text-secondary,#475569);font-size:13px;line-height:1.5;margin:0}.nppes-lookup-form{align-items:start;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,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:hsla(0,0%,100%,.96);box-shadow:inset 0 1px 2px rgba(15,23,42,.02);transition:border-color .18s ease-in-out,box-shadow .18s ease-in-out;width:100%}.nppes-lookup-input:focus{border-color:rgba(37,99,235,.52);box-shadow:0 0 0 4px rgba(37,99,235,.08)}.nppes-lookup-button{background:linear-gradient(180deg,var(--brand,#1c3a7e) 0,#163b86 100%);border:none;border-radius:14px;box-shadow:0 10px 24px rgba(28,58,126,.16);box-sizing:border-box;color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:700;min-height:56px;padding:0 18px;transition:transform .18s ease-in-out,box-shadow .18s ease-in-out,opacity .18s ease-in-out;white-space:nowrap}.nppes-lookup-button:hover:not(:disabled){box-shadow:0 14px 28px rgba(28,58,126,.2);transform:translateY(-1px)}.nppes-lookup-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed}.nppes-lookup-error{background:#fee2e2;border:1px solid rgba(239,68,68,.28);border-radius:14px;color:var(--color-error,#dc2626);font-size:12px;font-weight:600;margin-top:var(--ethos-spacing-sm);padding:10px 12px}.nppes-lookup-results{background:var(--bg-primary,#fff);border:1px solid rgba(148,163,184,.24);border-radius:16px;box-shadow:0 12px 24px rgba(15,23,42,.05);margin-top:var(--ethos-spacing-sm);max-height:260px;overflow-y:auto}.nppes-lookup-result-item{cursor:pointer;padding:12px 14px;transition:background .18s ease-in-out}.nppes-lookup-result-item:not(:last-child){border-bottom:1px solid #e5e7eb}.nppes-lookup-result-item:hover{background:rgba(219,234,254,.38)}.nppes-lookup-result-name{color:var(--text-primary,#1f2937);font-size:13px;font-weight:600;margin-bottom:4px}.nppes-lookup-result-details{color:var(--text-muted,#6b7280);font-size:12px}.nppes-lookup-result-address{color:var(--text-primary,#9ca3af);font-size:12px;margin-top:4px}@media(max-width:768px){.nppes-lookup-form{gap:var(--ethos-spacing-sm);grid-template-columns:1fr}.nppes-lookup-button{min-height:48px;padding:0 16px;width:100%}.nppes-lookup-input{font-size:16px;min-height:48px}.nppes-lookup-label{font-size:12px}.nppes-lookup-container{padding:16px}.nppes-lookup-title-inline{font-size:15px}}.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__subtitle{color:var(--text-muted);font-size:14px;line-height:1.5;padding:16px 20px 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:var(--color-error-light);border:1px solid var(--ethos-error-300);color:var(--color-error-dark);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}@keyframes fadeInOut{0%,to{opacity:.2}50%{opacity:.5}}.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-setup-copy{font-size:16px;line-height:1.6;margin-bottom:20px}.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)}.webauthn-benefits--accent{background:var(--color-info-light);border-color:var(--ethos-primary-200);margin-bottom:24px}.success-message{background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--ethos-panel-radius-sm);color:var(--color-success-dark);font-size:14px;padding:12px 16px;text-align:center}.error-message--webauthn{color:var(--color-error);padding:12px}.error-message--webauthn,.success-message--webauthn{border-radius:var(--ethos-panel-radius);margin-bottom:16px}.success-message--webauthn{font-size:16px;font-weight:600;padding:16px}.webauthn-status-detail{font-size:14px;margin-top:8px}.webauthn-status-detail--success{font-weight:400}.webauthn-primary-button{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin:0 auto;max-width:400px;padding:14px 28px;width:100%}.webauthn-redirecting-status{color:var(--color-success);font-size:14px;font-weight:500;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%}}:root{--portal-danger:var(--color-error,#b91c1c);--portal-danger-strong:var(--color-error-dark,#991b1b);--portal-info-surface:var(--color-info-light,#eff6ff);--portal-info-surface-soft:var(--color-info-soft,#f7fbff);--portal-indigo:var(--color-indigo,#4338ca);--portal-primary:var(--color-ocean-blue-600,#2563eb);--portal-primary-strong:var(--color-info-dark,#1d4ed8);--portal-sky:var(--color-sky,#0ea5e9);--portal-slate:var(--text-secondary,#475569);--portal-surface-page:var(--bg-secondary,#f9fafb);--portal-surface-primary:var(--bg-primary,#fff);--portal-surface-secondary:var(--bg-secondary,#f8fafc);--portal-surface-top:var(--bg-top,#f5f9ff);--portal-surface-tertiary:var(--bg-tertiary,#eef4ff);--portal-success:var(--color-success,#15803d);--portal-success-strong:var(--color-success-dark,#166534);--portal-teal:var(--color-teal,#0f766e);--portal-text-disabled:var(--color-disabled-text,#9ca3af);--portal-text-primary:var(--text-primary,#0f172a);--portal-text-secondary:var(--text-muted,#64748b);--portal-text-tertiary:var(--text-secondary,#334155);--portal-text-ui:var(--text-secondary,#374151);--portal-text-ui-muted:var(--text-muted,#6b7280);--portal-border-light:var(--border-light,#e5e7eb)}.patient-portal-page-shell{background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 34%),radial-gradient(circle at top right,rgba(14,165,233,.1),transparent 30%),linear-gradient(180deg,var(--portal-surface-top) 0,var(--portal-surface-secondary) 46%,var(--portal-surface-tertiary) 100%);min-height:100vh}.patient-portal-page-content{margin:0 auto;max-width:1120px;padding:28px 24px 32px}.patient-portal-page-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:hsla(0,0%,100%,.82);border-bottom:1px solid rgba(148,163,184,.18);box-shadow:0 18px 40px -36px rgba(15,23,42,.45);position:relative;z-index:2}.patient-portal-page-header-inner{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1120px;padding:18px 24px 16px}.patient-portal-header-copy{display:flex;flex-direction:column;gap:6px}.patient-portal-header-eyebrow{color:var(--portal-primary);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.patient-portal-header-title{color:var(--portal-text-primary);font-size:30px;font-weight:700;line-height:1.1;margin:0}.patient-portal-header-subtitle{color:var(--portal-text-secondary);font-size:15px;line-height:1.5;margin:0;max-width:620px}.patient-portal-header-actions{align-items:center;display:flex;gap:12px}.patient-portal-action-button{align-items:center;background:hsla(0,0%,100%,.92);border:1px solid rgba(148,163,184,.22);border-radius:999px;box-shadow:0 20px 45px -34px rgba(15,23,42,.35);color:var(--portal-text-primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 18px;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease}.patient-portal-action-button:hover{box-shadow:0 24px 48px -34px rgba(15,23,42,.42);transform:translateY(-1px)}.patient-portal-action-button:active{transform:scale(.98)}.patient-portal-action-button-primary{background:linear-gradient(135deg,var(--portal-primary) 0,var(--portal-primary-strong) 100%);border-color:transparent;color:var(--portal-surface-primary)}.patient-portal-action-button-secondary{background:rgba(239,246,255,.9);color:var(--portal-primary-strong)}.patient-portal-tabs-desktop{display:flex;gap:10px;margin:0 auto;max-width:1120px;overflow-x:auto;padding:14px 24px 12px;-webkit-overflow-scrolling:touch}.patient-portal-tab-button{align-items:center;background:transparent;border:none;border-radius:999px;color:var(--portal-text-secondary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;line-height:1;padding:10px 14px;transition:background-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap}.patient-portal-tab-button:hover{background:rgba(241,245,249,.9)}.patient-portal-tab-button:active{transform:scale(.97)}.patient-portal-tab-button.active{background:rgba(37,99,235,.1);color:var(--portal-primary)}.patient-portal-tab-icon-wrapper{align-items:center;display:inline-flex;justify-content:center;position:relative}.patient-portal-tabs-mobile{display:none}.patient-portal-pull-indicator{align-items:center;color:var(--portal-text-secondary);display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;overflow:hidden}.patient-portal-inline-error{background:hsla(0,86%,97%,.95);border:1px solid hsla(0,94%,82%,.45);border-radius:18px;color:var(--portal-danger);font-size:14px;margin-bottom:20px;padding:14px 16px}.patient-portal-loading-state{padding:48px;text-align:center}.patient-portal-loading-state-icon{animation:spin 1s linear infinite;color:var(--color-disabled-text,#9ca3af);font-size:48px}.patient-portal-loading-state-copy{color:var(--portal-text-ui-muted);font-size:14px;margin-top:16px}.patient-portal-stat-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.patient-portal-stat-card{align-items:center;background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.98));border:1px solid rgba(226,232,240,.95);border-radius:24px;box-shadow:0 24px 60px -42px rgba(15,23,42,.3);display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:132px;padding:20px 18px;text-align:center}.patient-portal-stat-icon{align-items:center;background:rgba(239,246,255,.9);border-radius:16px;display:inline-flex;height:48px;justify-content:center;width:48px}.patient-portal-stat-value{color:var(--portal-text-primary);font-size:28px;font-weight:700;line-height:1.1}.patient-portal-stat-label{color:var(--portal-text-secondary);font-size:12px;font-weight:600;line-height:1.3}.patient-portal-surface{background:hsla(0,0%,100%,.92);border:1px solid rgba(226,232,240,.95);border-radius:24px;box-shadow:0 32px 70px -48px rgba(15,23,42,.34);padding:24px}.patient-portal-surface+.patient-portal-surface{margin-top:20px}.patient-portal-goals-surface{overflow:hidden}.patient-portal-goals-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.patient-portal-goals-eyebrow{align-items:center;color:var(--portal-teal);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.12em;margin-bottom:8px;text-transform:uppercase}.patient-portal-goals-title{margin-bottom:8px}.patient-portal-goals-subtitle{color:var(--portal-text-secondary);font-size:14px;line-height:1.6;margin:0;max-width:620px}.patient-portal-goals-summary{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.patient-portal-goals-summary-pill{align-items:center;background:rgba(219,234,254,.88);border-radius:999px;color:var(--portal-primary-strong);display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:10px 14px}.patient-portal-goals-summary-pill-success{background:rgba(220,252,231,.94);color:var(--portal-success)}.patient-portal-goals-chart-shell{background:radial-gradient(circle at top right,rgba(14,165,233,.12),transparent 36%),linear-gradient(180deg,rgba(239,246,255,.96),rgba(248,250,252,.98));border:1px solid rgba(191,219,254,.92);border-radius:24px;margin-bottom:18px;padding:18px 18px 12px}.patient-portal-goals-list{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.patient-portal-goal-card{background:rgba(248,250,252,.9);border:1px solid rgba(226,232,240,.95);border-radius:22px;padding:18px}.patient-portal-goal-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.patient-portal-goal-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.patient-portal-goal-badge{align-items:center;background:rgba(219,234,254,.92);border-radius:999px;color:var(--portal-primary-strong);display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.02em;padding:6px 10px}.patient-portal-goal-badge-muted{background:rgba(226,232,240,.9);color:var(--portal-slate)}.patient-portal-goal-card-title{color:var(--portal-text-primary);font-size:15px;line-height:1.5;margin:0}.patient-portal-goal-score{background:color-mix(in srgb,var(--goal-accent,#2563eb) 14%,#fff);border-radius:18px;color:var(--goal-accent,#2563eb);min-width:78px;padding:12px 10px;text-align:center}.patient-portal-goal-score span{display:block;font-size:24px;font-weight:700;line-height:1}.patient-portal-goal-score small{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;margin-top:4px;text-transform:uppercase}.patient-portal-goal-metrics{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.patient-portal-goal-metric{background:hsla(0,0%,100%,.92);border:1px solid rgba(226,232,240,.94);border-radius:16px;padding:12px}.patient-portal-goal-metric-label{color:var(--portal-text-secondary);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.patient-portal-goal-metric strong{color:var(--portal-text-primary);font-size:18px;line-height:1.2}.patient-portal-goal-progress-track{background:rgba(226,232,240,.9);border-radius:999px;height:10px;margin-bottom:12px;overflow:hidden;width:100%}.patient-portal-goal-progress-fill{border-radius:999px;height:100%;transition:width .22s ease}.patient-portal-goal-supporting{color:var(--portal-text-secondary);display:flex;font-size:12px;gap:12px;justify-content:space-between;line-height:1.5}.patient-portal-section-heading{color:var(--portal-text-primary);font-size:20px;font-weight:700;line-height:1.2;margin:0 0 18px}.patient-portal-list{display:flex;flex-direction:column;gap:14px}.patient-portal-list-card{background:rgba(248,250,252,.88);border:1px solid rgba(226,232,240,.95);border-radius:20px;padding:18px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.patient-portal-list-card:hover{box-shadow:0 24px 50px -40px rgba(15,23,42,.3);transform:translateY(-1px)}.patient-portal-list-card.unread{background:rgba(239,246,255,.92);border-color:rgba(147,197,253,.95)}.patient-portal-list-card-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.patient-portal-list-card-header-spaced{margin-bottom:12px}.patient-portal-flex-1{flex:1;min-width:0}.patient-portal-card-title{color:var(--portal-text-primary);font-size:18px;font-weight:600;line-height:1.4}.patient-portal-card-title+.patient-portal-card-title{margin-top:6px}.patient-portal-card-subtitle{color:var(--portal-text-ui-muted);font-size:14px;line-height:1.5}.patient-portal-card-caption{color:var(--color-disabled-text,#9ca3af);font-size:12px;line-height:1.5}.patient-portal-card-snippet{color:var(--text-secondary,#374151);font-size:14px;line-height:1.6}.patient-portal-status-dot{background:var(--color-ocean-blue-600,#2563eb);border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.patient-portal-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;line-height:1.3;padding:6px 12px;white-space:nowrap}.patient-portal-note-block{background:var(--bg-secondary,#f9fafb);border-radius:12px;color:var(--text-secondary,#374151);font-size:14px;line-height:1.6;margin-top:12px;padding:12px;white-space:pre-wrap}.patient-portal-modal-stack{display:flex;flex-direction:column;gap:16px}.patient-portal-modal-panel{background:var(--portal-surface-primary);border:1px solid var(--border-light,#e5e7eb);border-radius:10px;color:var(--text-secondary,#374151);font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}.patient-portal-modal-action-button{background:transparent;border:none;color:var(--color-ocean-blue-600,#2563eb);cursor:pointer;font-size:15px;font-weight:600;padding:6px 8px}.patient-portal-modal-action-button:disabled{color:var(--portal-text-disabled);cursor:not-allowed}.patient-portal-primary-button-inline{padding-inline:24px;width:auto}.patient-portal-action-cluster{display:flex;flex-wrap:wrap;gap:12px}.patient-portal-empty-state{background:hsla(0,0%,100%,.94);border:1px solid rgba(226,232,240,.95);border-radius:24px;box-shadow:0 24px 50px -42px rgba(15,23,42,.25);padding:42px 24px;text-align:center}.patient-portal-empty-state-icon{align-items:center;background:rgba(239,246,255,.92);border-radius:24px;color:var(--portal-primary);display:inline-flex;height:72px;justify-content:center;margin:0 auto 16px;width:72px}.patient-portal-empty-state-title{color:var(--portal-text-primary);font-size:20px;font-weight:700;line-height:1.2;margin:0 0 8px}.patient-portal-empty-state-body{color:var(--portal-text-secondary);font-size:14px;line-height:1.5;margin:0}.patient-portal-form-stack{display:flex;flex-direction:column;gap:16px}.patient-portal-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.patient-portal-field-label{color:var(--portal-text-tertiary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.patient-portal-input,.patient-portal-select,.patient-portal-textarea{background:rgba(248,250,252,.96);border:1px solid rgba(203,213,225,.9);border-radius:16px;box-sizing:border-box;color:var(--portal-text-primary);font-family:inherit;font-size:14px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;width:100%}.patient-portal-input:focus,.patient-portal-select:focus,.patient-portal-textarea:focus{background:var(--portal-surface-primary);border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.12);outline:none}.patient-portal-upload-meta{color:var(--portal-text-secondary);font-size:14px;margin-top:8px}.patient-portal-primary-button{background:linear-gradient(135deg,var(--portal-primary) 0,var(--portal-primary-strong) 100%);border:none;border-radius:18px;box-shadow:0 24px 48px -34px rgba(37,99,235,.55);color:var(--portal-surface-primary);cursor:pointer;font-size:16px;font-weight:700;padding:14px 16px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:100%}.patient-portal-primary-button:hover:not(:disabled){transform:translateY(-1px)}.patient-portal-primary-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.58}.patient-portal-tonal-panel{background:rgba(239,246,255,.9);border:1px solid rgba(191,219,254,.95);border-radius:18px;padding:16px}.patient-portal-link-button{color:var(--portal-primary);font-size:14px;font-weight:600;text-decoration:none}.patient-portal-secondary-button{align-items:center;background:rgba(239,246,255,.95);border:1px solid rgba(191,219,254,.95);border-radius:16px;color:var(--portal-primary-strong);cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;padding:11px 16px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.patient-portal-secondary-button:hover:not(:disabled){box-shadow:0 20px 40px -32px rgba(29,78,216,.4);transform:translateY(-1px)}.patient-portal-secondary-button:disabled{cursor:not-allowed;opacity:.56}.patient-portal-split-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.patient-portal-section-subtitle{color:var(--portal-text-secondary);font-size:14px;line-height:1.6;margin:0}.patient-portal-inline-pill{align-items:center;background:rgba(226,232,240,.95);border-radius:999px;color:var(--portal-text-tertiary);display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:36px;padding:8px 12px}.patient-portal-document-card{align-items:center;display:flex;gap:14px;justify-content:space-between}.patient-portal-document-card-main{align-items:flex-start;display:flex;flex:1;gap:14px}.patient-portal-document-card-icon{align-items:center;background:rgba(219,234,254,.95);border-radius:16px;color:var(--portal-primary-strong);display:inline-flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.patient-portal-document-card-icon-muted{background:rgba(241,245,249,.95);color:var(--portal-slate)}.patient-portal-document-card-topline{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:4px}.patient-portal-document-card-title{color:var(--portal-text-primary);font-size:16px;font-weight:700;line-height:1.4}.patient-portal-document-card-meta{color:var(--portal-slate);font-size:14px;line-height:1.5}.patient-portal-document-card-submeta{color:var(--portal-text-secondary);font-size:12px;line-height:1.5;margin-top:4px}.patient-portal-document-badge{align-items:center;background:rgba(241,245,249,.95);border-radius:999px;color:var(--portal-slate);display:inline-flex;font-size:11px;font-weight:700;padding:6px 10px}.patient-portal-document-badge-shared{background:rgba(219,234,254,.95);color:var(--portal-primary-strong)}.patient-portal-ios-tab-shell{margin-bottom:18px}.patient-portal-ios-appointment-card{align-items:center;background:var(--portal-surface-primary);border:1px solid rgba(226,232,240,.95);border-radius:20px;cursor:pointer;display:flex;gap:14px;padding:16px 18px;text-align:left;transition:transform .15s ease,box-shadow .15s ease;width:100%}.patient-portal-ios-appointment-card:hover{box-shadow:0 24px 48px -40px rgba(15,23,42,.3);transform:translateY(-1px)}.patient-portal-ios-appointment-time{display:flex;flex-direction:column;gap:2px;min-width:96px}.patient-portal-ios-appointment-date{color:var(--portal-text-secondary);font-size:12px;font-weight:600;line-height:1.3}.patient-portal-ios-appointment-time strong{color:var(--portal-text-primary);font-size:15px;line-height:1.3}.patient-portal-ios-appointment-accent{align-self:stretch;background:linear-gradient(180deg,var(--portal-primary-strong) 0,var(--portal-sky) 100%);border-radius:999px;width:3px}.patient-portal-ios-appointment-body{flex:1;min-width:0}.patient-portal-ios-appointment-title{color:var(--portal-text-primary);font-size:18px;font-weight:700;line-height:1.3;margin-bottom:4px}.patient-portal-ios-appointment-meta{color:var(--portal-slate);font-size:14px;line-height:1.5}.patient-portal-appointment-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.patient-portal-appointment-badge{align-items:center;background:rgba(226,232,240,.95);border-radius:999px;color:var(--portal-text-tertiary);display:inline-flex;font-size:11px;font-weight:800;justify-content:center;letter-spacing:.02em;min-height:32px;padding:6px 10px}.patient-portal-appointment-badge-telehealth{background:rgba(224,231,255,.98);color:var(--portal-indigo)}.patient-portal-empty-state-compact{padding-block:28px}.patient-portal-claim-card{gap:16px}.patient-portal-claim-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.patient-portal-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;padding:6px 10px;white-space:nowrap}.patient-portal-status-pill.success{background:rgba(220,252,231,.96);color:var(--portal-success-strong)}.patient-portal-status-pill.info{background:rgba(219,234,254,.96);color:var(--portal-primary-strong)}.patient-portal-status-pill.danger{background:hsla(0,93%,94%,.96);color:var(--portal-danger-strong)}.patient-portal-status-pill.neutral{background:rgba(241,245,249,.96);color:var(--portal-slate)}.patient-portal-financial-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.patient-portal-financial-cell{background:hsla(0,0%,100%,.95);border:1px solid rgba(226,232,240,.96);border-radius:18px;padding:14px}.patient-portal-financial-label{color:var(--portal-text-secondary);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.4;margin-bottom:6px;text-transform:uppercase}.patient-portal-financial-cell strong{color:var(--portal-text-primary);font-size:17px;line-height:1.3}.patient-portal-tonal-panel-compact{margin-bottom:12px;padding:14px 16px}.patient-portal-claim-documents{display:flex;flex-wrap:wrap;gap:10px}.patient-portal-inline-action{align-items:center;background:rgba(219,234,254,.95);border:none;border-radius:999px;color:var(--portal-primary-strong);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:10px 14px}.patient-portal-inline-action:disabled{cursor:not-allowed;opacity:.56}.patient-portal-login-shell{align-items:center;background:radial-gradient(circle at top left,rgba(37,99,235,.14),transparent 34%),linear-gradient(180deg,var(--portal-info-surface) 0,var(--portal-surface-secondary) 58%,var(--portal-surface-tertiary) 100%);display:flex;justify-content:center;min-height:100vh;padding:24px}.patient-portal-login-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:hsla(0,0%,100%,.9);border:1px solid rgba(226,232,240,.95);border-radius:28px;box-shadow:0 40px 80px -56px rgba(15,23,42,.38);max-width:430px;padding:32px;width:100%}.patient-portal-login-header{margin-bottom:28px;text-align:center}.patient-portal-login-icon{align-items:center;background:rgba(239,246,255,.9);border-radius:24px;color:var(--portal-primary);display:inline-flex;height:72px;justify-content:center;margin:0 auto 16px;width:72px}.patient-portal-login-title{color:var(--portal-text-primary);font-size:30px;font-weight:700;line-height:1.1;margin:0 0 8px}.patient-portal-login-subtitle{color:var(--portal-text-secondary);font-size:14px;line-height:1.5;margin:0}@media(max-width:767px){.patient-portal-page-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px))}.patient-portal-page-content{padding:18px 16px 24px}.patient-portal-page-header-inner{align-items:stretch;flex-direction:column;padding:18px 16px 14px}.patient-portal-header-title{font-size:28px}.patient-portal-header-actions{justify-content:flex-end;width:100%}.patient-portal-action-button-toolbar{border-radius:16px;height:48px;min-width:48px;padding:0;width:48px}.patient-portal-action-button-toolbar .patient-portal-action-label,.patient-portal-tabs-desktop{display:none}.patient-portal-tabs-mobile{align-items:flex-start;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:hsla(0,0%,100%,.88);border:1px solid rgba(226,232,240,.95);border-radius:24px;bottom:calc(10px + env(safe-area-inset-bottom, 0px));box-shadow:0 24px 55px -38px rgba(15,23,42,.38);display:flex;gap:6px;justify-content:space-around;left:12px;padding:10px 10px 12px;position:fixed;right:12px;z-index:100}.patient-portal-mobile-tab{align-items:center;background:transparent;border:none;border-radius:16px;color:var(--portal-text-secondary);cursor:pointer;display:flex;flex:1;flex-direction:column;gap:5px;justify-content:center;min-height:54px;padding:8px 4px;transition:background-color .15s ease,color .15s ease,transform .15s ease}.patient-portal-mobile-tab:active{background:rgba(241,245,249,.95);transform:scale(.96)}.patient-portal-mobile-tab.active{background:rgba(37,99,235,.1);color:var(--portal-primary)}.patient-portal-mobile-label{font-size:10px;font-weight:700;line-height:1.1}.patient-portal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-portal-surface{border-radius:22px;padding:20px 18px}.patient-portal-goals-header{flex-direction:column}.patient-portal-goals-summary{justify-content:flex-start}.patient-portal-goals-chart-shell{border-radius:20px;padding:14px 12px 10px}.patient-portal-goals-list{grid-template-columns:1fr}.patient-portal-goal-card{border-radius:20px;padding:16px}.patient-portal-goal-card-header{flex-direction:column}.patient-portal-goal-score{width:100%}.patient-portal-goal-metrics{grid-template-columns:1fr}.patient-portal-goal-supporting{flex-direction:column}.patient-portal-list-card{border-radius:18px;padding:16px}.patient-portal-claim-card-header,.patient-portal-document-card,.patient-portal-document-card-topline,.patient-portal-split-heading{flex-direction:column}.patient-portal-secondary-button{width:100%}.patient-portal-ios-appointment-card{align-items:flex-start;flex-direction:column}.patient-portal-ios-appointment-time{min-width:0}.patient-portal-ios-appointment-accent{height:3px;width:100%}.patient-portal-appointment-actions,.patient-portal-appointment-actions .patient-portal-secondary-button{width:100%}.patient-portal-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-portal-form-grid{grid-template-columns:1fr}.patient-portal-login-shell{align-items:stretch;padding:16px}.patient-portal-login-card{border-radius:24px;margin:auto 0;max-width:none;padding:24px 20px}}.patient-portal-accessibility-toggle-shell{position:fixed;right:18px;top:18px;width:min(360px,100vw - 36px);z-index:40}.patient-portal-accessibility-toggle{align-items:center;background:hsla(0,0%,100%,.96);border:2px solid rgba(37,99,235,.16);border-radius:24px;box-shadow:0 24px 50px -38px rgba(15,23,42,.35);color:var(--portal-text-primary);cursor:pointer;display:flex;gap:14px;padding:14px 16px;text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease;width:100%}.patient-portal-accessibility-toggle:hover{box-shadow:0 28px 58px -40px rgba(15,23,42,.4);transform:translateY(-1px)}.patient-portal-accessibility-toggle:focus-visible{border-color:rgba(37,99,235,.64);box-shadow:0 0 0 4px rgba(37,99,235,.16);outline:none}.patient-portal-accessibility-toggle.active{background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(219,234,254,.96));border-color:rgba(37,99,235,.52)}.patient-portal-accessibility-toggle-icon{align-items:center;background:rgba(219,234,254,.92);border-radius:18px;color:var(--portal-primary-strong);display:inline-flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.patient-portal-accessibility-toggle-copy{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.patient-portal-accessibility-toggle-title{font-size:15px;font-weight:700;line-height:1.3}.patient-portal-accessibility-toggle-subtitle{color:var(--portal-slate);font-size:13px;line-height:1.45}.patient-portal-accessibility-toggle-state{align-items:center;background:rgba(37,99,235,.1);border-radius:999px;color:var(--portal-primary-strong);display:inline-flex;font-size:14px;font-weight:800;justify-content:center;min-height:38px;min-width:58px;padding:0 12px}.patient-portal-visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}body.patient-portal-accessibility-enabled .patient-portal-page-shell{background:radial-gradient(circle at top left,rgba(29,78,216,.16),transparent 36%),radial-gradient(circle at top right,rgba(2,132,199,.12),transparent 34%),linear-gradient(180deg,var(--portal-info-surface-soft) 0,var(--portal-surface-secondary) 42%,var(--portal-surface-tertiary) 100%)}body.patient-portal-accessibility-enabled .patient-portal-page-content{padding:36px 28px 120px}body.patient-portal-accessibility-enabled .patient-portal-page-header-inner{gap:20px;padding:24px 28px 20px}body.patient-portal-accessibility-enabled .patient-portal-header-title,body.patient-portal-accessibility-enabled .patient-portal-login-title{font-size:38px;line-height:1.08}body.patient-portal-accessibility-enabled .patient-portal-card-snippet,body.patient-portal-accessibility-enabled .patient-portal-card-subtitle,body.patient-portal-accessibility-enabled .patient-portal-document-card-meta,body.patient-portal-accessibility-enabled .patient-portal-document-card-submeta,body.patient-portal-accessibility-enabled .patient-portal-empty-state-body,body.patient-portal-accessibility-enabled .patient-portal-goals-subtitle,body.patient-portal-accessibility-enabled .patient-portal-header-subtitle,body.patient-portal-accessibility-enabled .patient-portal-loading-state-copy,body.patient-portal-accessibility-enabled .patient-portal-login-subtitle,body.patient-portal-accessibility-enabled .patient-portal-modal-panel,body.patient-portal-accessibility-enabled .patient-portal-note-block,body.patient-portal-accessibility-enabled .patient-portal-section-subtitle,body.patient-portal-accessibility-enabled .patient-portal-upload-meta{color:var(--portal-text-tertiary);font-size:18px;line-height:1.7}body.patient-portal-accessibility-enabled .patient-portal-document-badge,body.patient-portal-accessibility-enabled .patient-portal-goal-badge,body.patient-portal-accessibility-enabled .patient-portal-goals-eyebrow,body.patient-portal-accessibility-enabled .patient-portal-header-eyebrow,body.patient-portal-accessibility-enabled .patient-portal-inline-pill{font-size:13px;letter-spacing:.06em}body.patient-portal-accessibility-enabled .patient-portal-empty-state,body.patient-portal-accessibility-enabled .patient-portal-goal-card,body.patient-portal-accessibility-enabled .patient-portal-goals-chart-shell,body.patient-portal-accessibility-enabled .patient-portal-list-card,body.patient-portal-accessibility-enabled .patient-portal-login-card,body.patient-portal-accessibility-enabled .patient-portal-stat-card,body.patient-portal-accessibility-enabled .patient-portal-surface{border-width:2px}body.patient-portal-accessibility-enabled .patient-portal-empty-state,body.patient-portal-accessibility-enabled .patient-portal-list-card,body.patient-portal-accessibility-enabled .patient-portal-login-card,body.patient-portal-accessibility-enabled .patient-portal-surface{padding:28px}body.patient-portal-accessibility-enabled .patient-portal-form-stack,body.patient-portal-accessibility-enabled .patient-portal-list,body.patient-portal-accessibility-enabled .patient-portal-stat-grid{gap:20px}body.patient-portal-accessibility-enabled .patient-portal-stat-value{font-size:34px}body.patient-portal-accessibility-enabled .patient-portal-goal-metric-label,body.patient-portal-accessibility-enabled .patient-portal-goal-score small,body.patient-portal-accessibility-enabled .patient-portal-stat-label{font-size:14px}body.patient-portal-accessibility-enabled .patient-portal-card-title,body.patient-portal-accessibility-enabled .patient-portal-document-card-title,body.patient-portal-accessibility-enabled .patient-portal-empty-state-title,body.patient-portal-accessibility-enabled .patient-portal-goal-card-title,body.patient-portal-accessibility-enabled .patient-portal-section-heading{font-size:26px;line-height:1.3}body.patient-portal-accessibility-enabled .patient-portal-card-caption,body.patient-portal-accessibility-enabled .patient-portal-status-badge,body.patient-portal-accessibility-enabled .patient-portal-status-pill{font-size:14px;line-height:1.5}body.patient-portal-accessibility-enabled .patient-portal-goal-score{min-width:96px}body.patient-portal-accessibility-enabled .patient-portal-goal-score span{font-size:30px}body.patient-portal-accessibility-enabled .patient-portal-action-button,body.patient-portal-accessibility-enabled .patient-portal-inline-action,body.patient-portal-accessibility-enabled .patient-portal-link-button,body.patient-portal-accessibility-enabled .patient-portal-mobile-tab,body.patient-portal-accessibility-enabled .patient-portal-primary-button,body.patient-portal-accessibility-enabled .patient-portal-secondary-button,body.patient-portal-accessibility-enabled .patient-portal-tab-button{font-size:18px;font-weight:700;min-height:58px;padding:16px 20px}body.patient-portal-accessibility-enabled .patient-portal-mobile-tab,body.patient-portal-accessibility-enabled .patient-portal-tab-button{border-width:2px}body.patient-portal-accessibility-enabled .patient-portal-mobile-tab svg,body.patient-portal-accessibility-enabled .patient-portal-tab-icon-wrapper svg{font-size:1.45rem}body.patient-portal-accessibility-enabled .patient-portal-input,body.patient-portal-accessibility-enabled .patient-portal-select,body.patient-portal-accessibility-enabled .patient-portal-textarea{border-width:2px;font-size:18px;min-height:60px;padding:16px 18px}body.patient-portal-accessibility-enabled .patient-portal-field-label{font-size:17px;margin-bottom:10px}body.patient-portal-accessibility-enabled .patient-portal-inline-error{border-width:2px;font-size:17px;padding:18px}body.patient-portal-accessibility-enabled .patient-portal-loading-state{padding:64px 32px}body.patient-portal-accessibility-enabled .patient-portal-empty-state-icon .material-icons,body.patient-portal-accessibility-enabled .patient-portal-empty-state-icon svg,body.patient-portal-accessibility-enabled .patient-portal-loading-state-icon,body.patient-portal-accessibility-enabled .patient-portal-pull-indicator .material-icons,body.patient-portal-accessibility-enabled .patient-portal-stat-icon svg{font-size:2rem!important}body.patient-portal-accessibility-enabled .patient-portal-status-dot{height:12px;margin-right:10px;width:12px}body.patient-portal-accessibility-enabled .patient-portal-status-badge,body.patient-portal-accessibility-enabled .patient-portal-status-pill{padding:10px 14px}body.patient-portal-accessibility-enabled .patient-portal-modal-panel,body.patient-portal-accessibility-enabled .patient-portal-note-block{border-width:2px;padding:18px}body.patient-portal-accessibility-enabled .patient-portal-modal-action-button{font-size:18px;min-height:58px;padding:8px 12px}body.patient-portal-accessibility-enabled .patient-portal-primary-button-inline{padding-inline:28px}body.patient-portal-accessibility-enabled .patient-portal-action-cluster{gap:14px}body.patient-portal-accessibility-enabled .patient-portal-document-card-icon,body.patient-portal-accessibility-enabled .patient-portal-empty-state-icon,body.patient-portal-accessibility-enabled .patient-portal-login-icon{border-radius:26px;height:84px;width:84px}body.patient-portal-accessibility-enabled .patient-portal-document-card,body.patient-portal-accessibility-enabled .patient-portal-document-card-main{gap:18px}body.patient-portal-accessibility-enabled .patient-portal-login-shell{padding:32px 24px 120px}@media(max-width:767px){.patient-portal-accessibility-toggle-shell{bottom:calc(96px + env(safe-area-inset-bottom, 0px));left:16px;right:16px;top:auto;width:auto}.patient-portal-accessibility-toggle{border-radius:22px;padding:14px 16px}.patient-portal-accessibility-toggle-title{font-size:16px}body.patient-portal-accessibility-enabled .patient-portal-page-content{padding:24px 18px 140px}body.patient-portal-accessibility-enabled .patient-portal-page-header-inner{padding:20px 18px 16px}body.patient-portal-accessibility-enabled .patient-portal-header-title,body.patient-portal-accessibility-enabled .patient-portal-login-title{font-size:32px}body.patient-portal-accessibility-enabled .patient-portal-action-button-toolbar{min-width:100%;width:auto}body.patient-portal-accessibility-enabled .patient-portal-action-button-toolbar .patient-portal-action-label{display:inline}body.patient-portal-accessibility-enabled .patient-portal-document-card,body.patient-portal-accessibility-enabled .patient-portal-document-card-topline,body.patient-portal-accessibility-enabled .patient-portal-list-card-header,body.patient-portal-accessibility-enabled .patient-portal-split-heading{align-items:stretch;flex-direction:column}}.send-claim-email-modal{background:#fff;border-radius:0;box-shadow:none;max-height:none;max-width:100%;overflow-y:visible;position:relative;width:100%}.send-claim-email-modal form{display:flex;flex-direction:column;gap:var(--ethos-spacing-md);padding:0}.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}.send-claim-email-helper{color:var(--text-secondary,#64748b);font-size:13px;line-height:1.5;margin-top:calc(var(--ethos-spacing-xs)*-1)}.send-claim-email-modal__actions{display:flex;gap:var(--ethos-panel-padding-md);justify-content:flex-end;margin-top:var(--ethos-spacing-sm)}.send-claim-email-modal__button{border:none;border-radius:var(--ethos-panel-radius-sm);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.send-claim-email-modal__button--primary{background:var(--ethos-primary,#2563eb);color:#fff}.send-claim-email-modal__button--primary:hover:not(:disabled){background:var(--ethos-primary-700)}.send-claim-email-modal__button--primary:disabled{cursor:not-allowed;opacity:.5}.send-claim-email-modal__button--secondary{background:#fff;border:1px solid var(--border-medium,#d1d5db);color:var(--text-secondary,#374151)}.send-claim-email-modal__button--secondary:hover:not(:disabled){background:var(--bg-secondary,#f3f4f6)}.send-claim-email-modal__button--secondary:disabled{cursor:not-allowed;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)}.provider-edit-modal-content{background:linear-gradient(180deg,rgba(239,244,255,.72) 0,rgba(248,250,252,.9) 120px),var(--bg-secondary);max-height:calc(90vh - 120px);overflow-y:auto;padding:24px 24px 32px}.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{margin-bottom:var(--ethos-spacing-md)}.provider-edit-loading .loading-text{color:var(--text-muted);font-size:14px}.form-container{display:flex;flex-direction:column;gap:18px;padding:0}.form-section{background:hsla(0,0%,100%,.94);border:1px solid rgba(148,163,184,.18);border-radius:20px;box-shadow:0 10px 28px rgba(15,23,42,.05);margin-bottom:0;padding:22px}.nppes-lookup-section{background:linear-gradient(180deg,rgba(219,234,254,.48) 0,hsla(0,0%,100%,.96) 100%),var(--bg-primary);border-color:rgba(37,99,235,.14)}.section-header{align-items:center;color:var(--color-ocean-blue-700);display:flex;gap:10px;margin-bottom:18px}.section-header svg{color:var(--color-ocean-blue-600);font-size:20px}.section-header h2{color:var(--text-primary);font-size:20px;font-weight:700;margin:0}.form-grid-2{display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-grid-3{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.provider-edit-modal-content .ifta-form-group{min-width:0}.provider-edit-modal-content .ifta-input,.provider-edit-modal-content select.ifta-input,.provider-edit-modal-content textarea.ifta-input{background:var(--bg-primary);border:1px solid rgba(148,163,184,.32);border-radius:14px;box-shadow:inset 0 1px 2px rgba(15,23,42,.02);min-height:56px;transition:border-color .18s ease-in-out,box-shadow .18s ease-in-out}.provider-edit-modal-content textarea.ifta-input{min-height:120px;padding-top:18px}.provider-edit-modal-content .ifta-input:focus,.provider-edit-modal-content select.ifta-input:focus,.provider-edit-modal-content textarea.ifta-input:focus{border-color:rgba(37,99,235,.56);box-shadow:0 0 0 4px rgba(37,99,235,.08);outline:none}.provider-edit-modal-content .ifta-label{color:var(--text-secondary);font-weight:600}.provider-edit-modal-content .field-hint{color:var(--text-muted);display:inline-block;font-size:12px;line-height:1.4;margin-top:8px}.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)}.field-error{border-color:var(--color-error)!important;box-shadow:0 0 0 1px var(--color-error)!important}.field-error-message{color:var(--color-error);font-size:12px;font-weight:500;margin-top:6px}.provider-edit-signature-meta{color:var(--text-muted);font-size:14px;margin-top:var(--ethos-spacing-sm)}.provider-edit-signature-section{margin-top:var(--ethos-spacing-xl)}.provider-edit-signature-hint{color:var(--text-muted);font-size:14px;margin:0 0 var(--ethos-spacing-md)}.provider-edit-signature-audit{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-muted);font-size:12px;margin-top:var(--ethos-spacing-md);padding:var(--ethos-spacing-md)}.provider-edit-signature-audit-title{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:var(--ethos-spacing-sm)}.provider-edit-signature-audit-row:not(:last-child){margin-bottom:6px}.provider-edit-signature-audit-label{font-weight:500}.form-actions{align-items:center;border-top:1px solid var(--border-light);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:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--ethos-panel-radius);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-secondary);border-color:var(--border-dark)}.btn-save{background:var(--color-ocean-blue-600);border:none;border-radius:var(--ethos-panel-radius);color:var(--text-inverse);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-save:hover:not(:disabled){background:var(--color-ocean-blue-700)}.btn-save:disabled{background:var(--border-medium);cursor:not-allowed}.btn-delete{background:var(--bg-primary);border:1px solid var(--color-error);border-radius:var(--ethos-panel-radius);color:var(--color-error);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-delete:hover{background:var(--color-error);color:var(--text-inverse)}@media(max-width:768px){.provider-edit-modal-content{padding:16px 16px 28px}.form-section{border-radius:18px;padding:18px}.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}}.license-scanner{background:var(--color-deep-navy);color:var(--text-inverse);display:flex;flex-direction:column;inset:0;position:fixed;z-index:10000}.license-scanner__footer,.license-scanner__header{background:color-mix(in srgb,var(--color-deep-navy) 82%,transparent);padding:16px}.license-scanner__header{align-items:center;display:flex;justify-content:space-between;z-index:1}.license-scanner__results-title,.license-scanner__title{font-size:18px;font-weight:600;margin:0}.license-scanner__icon-button{align-items:center;background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-inverse);cursor:pointer;display:inline-flex;justify-content:center;padding:8px}.license-scanner__icon-button:hover{background:color-mix(in srgb,var(--text-inverse) 10%,transparent)}.license-scanner__error{align-items:center;background:var(--color-error-light);border-radius:var(--radius-md);color:var(--color-error);display:flex;gap:8px;margin:16px;padding:12px 16px}.license-scanner__error-text{font-size:14px}.license-scanner__viewport{align-items:center;display:flex;flex:1;justify-content:center;position:relative}.license-scanner__viewport--preview{background:var(--color-deep-navy)}.license-scanner__media{height:100%;max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;width:100%}.license-scanner__hidden-canvas,.license-scanner__hidden-input{display:none}.license-scanner__capture-button{align-items:center;background:var(--color-ocean-blue-500);border:4px solid var(--bg-primary);border-radius:var(--radius-full);bottom:32px;box-shadow:var(--shadow-lg);color:var(--text-inverse);cursor:pointer;display:inline-flex;height:72px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);width:72px}.license-scanner__processing{align-items:center;background:color-mix(in srgb,var(--color-deep-navy) 82%,transparent);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:16px;left:50%;padding:24px;position:absolute;top:50%;transform:translate(-50%,-50%)}.license-scanner__loader{animation:license-scanner-spin 1s linear infinite;color:var(--color-ocean-blue-500)}.license-scanner__processing-text{color:var(--text-inverse);font-size:16px}.license-scanner__results{background:var(--bg-primary);color:var(--text-primary);flex:1;overflow-y:auto;padding:16px}.license-scanner__preview-card{margin-bottom:16px;text-align:center}.license-scanner__preview-image{border:1px solid var(--border-light);border-radius:var(--radius-md);max-height:200px;max-width:100%}.license-scanner__data-card{background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.license-scanner__data-row{margin-bottom:12px}.license-scanner__data-row--last{margin-bottom:0}.license-scanner__data-label{color:var(--text-secondary);font-size:12px;margin-bottom:4px}.license-scanner__data-value{color:var(--text-primary);font-size:16px;font-weight:600}.license-scanner__actions,.license-scanner__footer{display:flex;gap:12px}.license-scanner__footer{flex-direction:column}.license-scanner__action-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex:1;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px}.license-scanner__action-button--full{padding:16px;width:100%}.license-scanner__action-button--primary{background:var(--color-ocean-blue-500);border:none;color:var(--text-inverse)}.license-scanner__action-button--secondary{background:var(--bg-tertiary);border:1px solid var(--border-medium);color:var(--text-primary)}@keyframes license-scanner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}