.fastprax-spinner{--fastprax-spinner-size:48px;--fastprax-spinner-icon-size:26px;--fastprax-spinner-thickness:4px;--fastprax-spinner-color:#2563eb;align-items:center;color:var(--fastprax-spinner-color);display:inline-flex;flex-shrink:0;height:var(--fastprax-spinner-size);justify-content:center;position:relative;width:var(--fastprax-spinner-size)}.fastprax-spinner-ring{animation:fastprax-spinner-spin .9s linear infinite;background:conic-gradient(from 90deg,color-mix(in srgb,currentColor 16%,transparent) 0deg 230deg,currentColor 230deg 1turn);border-radius:999px;inset:0;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--fastprax-spinner-thickness)),#000 calc(100% - var(--fastprax-spinner-thickness) + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--fastprax-spinner-thickness)),#000 calc(100% - var(--fastprax-spinner-thickness) + 1px));position:absolute}.fastprax-spinner-icon{height:var(--fastprax-spinner-icon-size)!important;position:relative;width:var(--fastprax-spinner-icon-size)!important;z-index:1}@keyframes fastprax-spinner-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.fastprax-spinner-ring{animation-duration:1.6s}}.loading-container{align-items:center;display:flex;justify-content:center}.loading-with-message{flex-direction:column;gap:1rem;padding:2rem;text-align:center}.loading-inline{display:inline-flex;min-height:auto;padding:0;text-align:inherit}.loading-small.loading-with-message{min-height:150px}.loading-medium.loading-with-message{min-height:250px}.loading-large.loading-with-message{min-height:350px}.loading-message{color:var(--text-primary,#7f8c8d);font-size:1rem;font-weight:500;margin:0}@media(prefers-color-scheme:dark){.loading-message{color:var(--text-primary,#bdc3c7)}}:root{--app-shell-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;--app-shell-mono:"JetBrains Mono",monospace;--app-shell-background:#f3f4f8;--app-shell-header-surface:var(--brand-color,#1c3a7e);--app-shell-sidebar-surface:#edf1f7;--app-shell-header-height:0px;--app-shell-announcement-height:0px;--app-shell-chrome-offset:calc(var(--app-shell-header-height) + var(--app-shell-announcement-height));--app-shell-content-top-gap:0px}.app-shell{--app-sidebar-width:248px;background:var(--app-shell-background);display:flex;font-family:var(--app-shell-font);min-height:100vh}.app-shell-sidebar{background:linear-gradient(180deg,hsla(0,0%,100%,.76) 0,rgba(237,241,247,.94) 100%),var(--app-shell-sidebar-surface);border-right:1px solid rgba(28,58,126,.1);box-shadow:none;color:#21385f;display:flex;flex-direction:column;height:calc(100vh - var(--app-shell-chrome-offset));inset:var(--app-shell-chrome-offset) auto 0 0;overflow:hidden;position:fixed;width:var(--app-sidebar-width);z-index:1000}.app-shell-sidebar__nav{flex:1;overflow-x:hidden;overflow-y:auto;padding:16px 28px 8px}.app-shell-sidebar__section{margin-bottom:4px}.app-shell-sidebar__section-items{display:flex;flex-direction:column}.app-shell-sidebar__nav-link{align-items:center;background:hsla(0,0%,100%,.56);border:1px solid rgba(28,58,126,.06);border-radius:10px;color:#334a70;cursor:pointer;display:flex;font-family:var(--app-shell-font);font-size:15px;font-weight:500;gap:10px;margin:2px 0;padding:10px 12px;text-align:left;transition:background .18s ease-in-out,border-color .18s ease-in-out,color .18s ease-in-out;width:100%}.app-shell-sidebar__nav-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell-sidebar__nav-link.is-active,.app-shell-sidebar__nav-link:hover{background:var(--app-shell-header-surface);border-color:var(--app-shell-header-surface);color:#fff}.app-shell-sidebar__nav-link.is-active{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.12);font-weight:600}.app-shell-sidebar__nav-icon-wrapper{align-items:center;display:inline-flex;justify-content:center;min-width:24px;position:relative;width:24px}.app-shell-sidebar__nav-icon{font-size:22px!important}.app-shell-sidebar__badge{align-items:center;background:#ef4444;border-radius:999px;box-shadow:0 2px 4px rgba(239,68,68,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 4px;position:absolute;right:-8px;top:-4px}.app-shell-sidebar__footer{margin-top:auto;padding:8px 28px 16px}.desktop-topbar{background:var(--app-shell-header-surface);color:#fff;inset:0 0 auto 0;position:fixed;z-index:990}.desktop-topbar__content{align-items:stretch;display:flex;flex-direction:column;gap:12px;justify-content:flex-start;padding:18px 28px 16px}.desktop-topbar__titles{align-items:flex-start;display:flex;flex:1;min-width:0}.desktop-topbar__heading{display:flex;flex-direction:column;gap:6px}.desktop-topbar__title-button{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;gap:6px;padding:0;text-align:left;width:-moz-fit-content;width:fit-content}.desktop-topbar__title-button--stacked{align-items:flex-start;flex:1;flex-direction:column;gap:4px;min-width:0}.desktop-topbar__title{color:#fff;font-size:24px;font-weight:700;line-height:1.2;margin:0}.desktop-topbar__title-button:hover .desktop-topbar__title,.desktop-topbar__title-button:hover .desktop-topbar__title-icon{color:#fff}.desktop-topbar__title-icon{color:hsla(0,0%,100%,.78);font-size:24px!important;transition:color .18s ease-in-out}.desktop-topbar__heading-row{align-items:center;display:flex;gap:6px;min-width:0}.desktop-topbar__date,.desktop-topbar__practice{font-weight:500;line-height:1.2;margin:0}.desktop-topbar__practice{color:hsla(0,0%,100%,.88);font-size:15px}.desktop-topbar__date{color:hsla(0,0%,100%,.72);font-size:12px}.app-announcement-banner{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.14);border-radius:6px;color:#fff;display:flex;min-height:30px;width:100%}.desktop-topbar__announcement{margin-top:12px}.app-announcement-banner{gap:6px;padding:5px 6px}.app-announcement-banner__action{background:none;color:inherit;flex:1;gap:10px;min-width:0;text-align:left}.app-announcement-banner__action,.app-announcement-banner__dismiss{align-items:center;border:none;cursor:pointer;display:inline-flex;padding:0}.app-announcement-banner__dismiss{background:transparent;border-radius:999px;color:hsla(0,0%,100%,.72);height:24px;justify-content:center;width:24px}.app-announcement-banner__action:focus-visible,.app-announcement-banner__action:hover,.app-announcement-banner__dismiss:focus-visible,.app-announcement-banner__dismiss:hover{background:hsla(0,0%,100%,.12);color:#fff}.app-announcement-banner__icon{align-items:center;background:hsla(0,0%,100%,.12);border-radius:999px;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.app-announcement-banner__copy{flex:1;font-size:13px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell-main-content{background:var(--app-shell-background);flex:1;font-family:var(--app-shell-font);margin-left:var(--app-sidebar-width);max-width:calc(100vw - var(--app-sidebar-width));min-height:100vh;overflow-x:hidden;padding-top:var(--app-shell-chrome-offset)}.app-shell-main-content.app-shell-main-content--without-header{padding-top:0}.app-shell-main-content-wrapper{background:var(--app-shell-background);display:flex;flex-direction:column;min-height:100%;padding-top:var(--app-shell-content-top-gap);width:100%}.app-announcement-banner--surface{background:color-mix(in srgb,var(--brand-color,var(--app-shell-header-surface,#1c3a7e)) 10%,#fff);border-color:color-mix(in srgb,var(--brand-color,var(--app-shell-header-surface,#1c3a7e)) 18%,transparent);color:var(--brand-color,var(--app-shell-header-surface,#1c3a7e))}.app-announcement-banner--surface .app-announcement-banner__icon{background:color-mix(in srgb,var(--brand-color,var(--app-shell-header-surface,#1c3a7e)) 12%,#fff)}.app-announcement-banner--surface .app-announcement-banner__dismiss{color:color-mix(in srgb,var(--brand-color,var(--app-shell-header-surface,#1c3a7e)) 70%,#fff)}.mobile-header-bar{align-items:stretch;background:var(--app-shell-header-surface);display:none;flex-direction:column;gap:8px;inset:0 0 auto 0;min-height:72px;padding:12px 16px 10px;position:fixed;z-index:1100}.mobile-header-bar__row{align-items:center;display:flex;gap:12px}.mobile-header-greeting{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.greeting-text{color:#fff;font-size:18px;font-weight:700;margin:0}.mobile-header-date{color:hsla(0,0%,100%,.72);font-size:12px;margin:0}.mobile-header-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.mobile-header-voice-btn{align-items:center;background:hsla(0,0%,100%,.16);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;height:44px;justify-content:center;padding:0;transition:background .18s ease-in-out,transform .12s ease-in-out;width:44px}.mobile-header-voice-btn.listening{background:#ef4444}.mobile-header-profile-btn:active,.mobile-header-voice-btn:active{transform:scale(.97)}.mobile-voice-icon{font-size:22px!important}.mobile-header-profile-btn{align-items:center;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.24);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;height:36px;justify-content:center;overflow:hidden;padding:0;width:36px}.mobile-header-profile-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.mobile-header-profile-initials{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media(max-width:767px){.app-shell-sidebar,.desktop-topbar{display:none!important}.mobile-header-bar{display:flex}.app-shell-main-content{margin-left:0;max-width:100vw;padding-top:var(--app-shell-chrome-offset)}.app-shell-main-content.app-shell-main-content--without-header{padding-top:0}.app-shell-main-content.app-shell-main-content--with-bottom-nav{padding-bottom:calc(var(--ios-bottom-nav-height, 64px) + env(safe-area-inset-bottom, 0px) + 16px)}}@media(min-width:768px)and (max-width:1023px){.app-shell{--app-sidebar-width:224px}.app-shell-sidebar__footer,.app-shell-sidebar__nav{padding-left:20px;padding-right:20px}.desktop-topbar__content{padding:12px 20px}.desktop-topbar__title{font-size:22px}}.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 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}}.login-card{display:flex;flex-direction:column;gap:10px}.login-header svg{display:block}.login-form{margin:0}.login-form.public-auth-form{gap:18px;width:100%}.public-auth-patient-panel{margin-top:36px}.login-card.public-auth-card .public-auth-header{gap:20px;margin-bottom:12px;position:relative;width:100%}.login-card.public-auth-card .public-auth-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between;width:100%}.login-card.public-auth-card .public-auth-title--compact{font-size:24px;letter-spacing:-.02em;line-height:1.1}.login-card.public-auth-card .public-auth-title-row .public-auth-title{flex:0 1 auto;margin:0}.login-card.public-auth-card .public-auth-title-row .public-auth-kicker{flex:0 0 auto;margin-left:auto}.public-auth-input--readonly{background:#fff;color:#0f172a;cursor:default}.public-auth-auth-section{display:flex;flex-direction:column;gap:18px;width:100%}.login-card.public-auth-card .public-auth-auth-section>.public-auth-field:first-child{margin-top:12px}.login-card.public-auth-card .public-auth-field{align-items:stretch;text-align:left}.public-auth-label-row{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.public-auth-label-row .public-auth-label{flex:1 1 auto}.login-card.public-auth-card .public-auth-label-row{align-items:baseline}.login-card.public-auth-card .public-auth-label,.login-card.public-auth-card .public-auth-label-row .public-auth-label{text-align:left;width:100%}.public-auth-password-reveal{display:flex;flex-direction:column;gap:12px;width:100%}.login-card.public-auth-card .public-auth-password-reveal{gap:10px}.login-card.public-auth-card .public-auth-inline-link[data-testid=forgot-password]{align-self:flex-start;margin-top:-6px}.public-auth-inline-link--subtle{color:#64748b;flex:0 0 auto;font-size:13px;font-weight:600;line-height:1}.session-history-tab{padding:var(--ethos-spacing-lg)}.session-history-header{margin-bottom:var(--ethos-spacing-lg)}.session-history-header h2{color:var(--text-primary,#1f2937);font-size:24px;font-weight:700;margin:0 0 8px}.session-count{color:var(--text-muted,#6b7280);font-size:14px;margin:0}.session-history-error,.session-history-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 24px;text-align:center}.session-history-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--ethos-neutral-200);border-radius:50%;border-top-color:var(--text-primary,#2563eb);height:48px;margin-bottom:var(--ethos-spacing-md);width:48px}.session-history-loading p{color:var(--text-muted,#6b7280);font-size:16px;margin:0}.session-history-error{color:var(--color-error,#dc2626)}.session-history-error .material-icons{font-size:64px;margin-bottom:var(--ethos-spacing-md)}.session-history-error p{font-size:16px;margin:0}.session-history-empty{align-items:center;background:var(--bg-secondary,#f9fafb);border:2px dashed #d1d5db;border-radius:var(--ethos-panel-radius-lg);display:flex;flex-direction:column;justify-content:center;padding:80px 24px;text-align:center}.session-history-empty .material-icons{color:var(--text-primary,#9ca3af);font-size:64px;margin-bottom:var(--ethos-spacing-md)}.session-history-empty h3{color:var(--text-secondary,#374151);font-size:20px;font-weight:600;margin:0 0 8px}.session-history-empty p{color:var(--text-muted,#6b7280);font-size:14px;margin:4px 0;max-width:400px}.sessions-table{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:hidden}.sessions-table table{border-collapse:collapse;width:100%}.sessions-table thead{background:var(--bg-secondary,#f9fafb);border-bottom:2px solid var(--ethos-neutral-200)}.sessions-table th{color:var(--text-secondary,#374151);font-size:13px;font-weight:600;letter-spacing:.5px;padding:var(--ethos-spacing-md);text-align:left;text-transform:uppercase}.sessions-table td{border:1px solid var(--border-light,#e5e7eb);padding:var(--ethos-spacing-md);vertical-align:top}.sessions-table tbody tr:last-child td{border-bottom:none}.sessions-table tbody tr:hover{background:var(--bg-secondary,#f9fafb)}.date-time{display:flex;flex-direction:column;gap:var(--ethos-spacing-xs)}.date-time .date{color:var(--text-primary,#1f2937);font-size:14px;font-weight:600}.date-time .time{color:var(--text-muted,#6b7280);font-size:13px}.provider-info{display:flex;flex-direction:column;gap:var(--ethos-spacing-xs)}.provider-name{color:var(--text-primary,#1f2937);font-size:14px;font-weight:500}.provider-npi{color:var(--text-muted,#6b7280);font-size:12px}.codes-list{gap:var(--ethos-spacing-sm);max-width:250px}.code-item,.codes-list{display:flex;flex-direction:column}.code-item{gap:2px}.code-item .code{color:var(--text-primary,#2563eb);font-family:Courier New,monospace;font-size:13px;font-weight:600}.code-item .description{color:var(--text-primary,#4b5563);font-size:12px;line-height:1.4}.code-item .modifiers{color:var(--color-success,#059669);font-size:11px;font-weight:500;margin-top:2px}.no-codes{color:var(--text-primary,#9ca3af);font-size:13px;font-style:italic}.status-badge{border-radius:var(--ethos-panel-radius-lg);display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;white-space:nowrap}.action-buttons{display:flex;flex-direction:column;gap:var(--ethos-spacing-sm)}.btn-download-cms,.btn-view-details{align-items:center;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius);color:var(--text-secondary,#374151);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:var(--ethos-spacing-xs);padding:8px 12px;transition:all .2s;white-space:nowrap}.btn-view-details:hover{background:var(--ethos-primary-600);border-color:var(--text-primary,#2563eb);box-shadow:0 2px 4px rgba(37,99,235,.2)}.btn-download-cms:hover,.btn-view-details:hover{color:var(--white,#fff);transform:translateY(-1px)}.btn-download-cms:hover{background:var(--ethos-secondary-600);border-color:var(--color-success,#059669);box-shadow:0 2px 4px rgba(5,150,105,.2)}.btn-download-cms .material-icons,.btn-view-details .material-icons{font-size:18px}@media(max-width:1200px){.sessions-table{overflow-x:auto}.sessions-table table{min-width:1000px}}@media(max-width:768px){.session-history-tab{padding:var(--ethos-spacing-md)}.sessions-table td,.sessions-table th{font-size:12px;padding:var(--ethos-panel-padding-md)}.code-item .code{font-size:12px}.code-item .description{font-size:11px}}.session-detail-modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:var(--ethos-spacing-md);position:fixed;right:0;top:0;z-index:1000}.session-detail-modal{background:var(--bg-primary,#fff);border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.session-detail-modal .modal-header{align-items:flex-start;border-bottom:2px solid var(--ethos-neutral-200);display:flex;justify-content:space-between;padding:var(--ethos-spacing-lg)}.session-detail-modal .header-left{align-items:flex-start;display:flex;gap:var(--ethos-spacing-md)}.session-detail-modal .header-left>.material-icons{color:var(--text-primary,#2563eb);font-size:32px}.session-detail-modal .modal-header h2{color:var(--text-primary,#1f2937);font-size:24px;font-weight:700;margin:0 0 4px}.session-date{color:var(--text-muted,#6b7280);font-size:14px;margin:0}.session-detail-modal .close-btn{align-items:center;background:transparent;border:none;border-radius:var(--ethos-panel-radius);color:var(--text-muted,#6b7280);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.session-detail-modal .close-btn:hover{background:#f3f4f6;color:var(--text-primary,#1f2937)}.session-detail-modal .close-btn .material-icons{font-size:24px}.session-detail-modal .modal-content{flex:1;overflow-y:auto;padding:var(--ethos-spacing-lg)}.detail-section{margin-bottom:var(--ethos-spacing-xl)}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:var(--text-primary,#1f2937);display:flex;font-size:18px;gap:var(--ethos-panel-padding-md);margin:0 0 16px}.ai-badge,.detail-section h3{align-items:center;font-weight:600}.ai-badge{background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:var(--ethos-panel-radius-lg);color:var(--white,#fff);display:inline-flex;font-size:12px;gap:var(--ethos-spacing-xs);padding:4px 12px}.ai-badge .material-icons{font-size:16px}.info-grid{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:var(--ethos-spacing-xs)}.info-item label{color:var(--text-muted,#6b7280);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:var(--text-primary,#1f2937);font-size:14px;font-weight:500}.status-text{text-transform:capitalize}.notes-content{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius-lg);color:var(--text-secondary,#374151);font-size:14px;line-height:1.7;max-height:300px;overflow-y:auto;padding:var(--ethos-spacing-md);white-space:pre-wrap}.codes-grid{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.code-card{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:var(--ethos-panel-radius-lg);display:flex;flex-direction:column;gap:var(--ethos-spacing-sm);padding:var(--ethos-spacing-md)}.code-number{color:var(--text-primary,#1e40af);font-family:Courier New,monospace;font-size:16px;font-weight:700}.code-desc{color:var(--text-secondary,#374151);font-size:13px;line-height:1.5}.code-meta{color:var(--text-muted,#6b7280);font-size:12px;font-weight:500}.code-modifiers{background:#d1fae5;border-radius:var(--ethos-panel-radius-sm);color:var(--color-success,#059669);font-size:12px;font-weight:600;margin-top:var(--ethos-spacing-xs);padding:6px 10px}.cms-section{text-align:center}.btn-download-full{align-items:center;background:linear-gradient(135deg,var(--ethos-secondary-600) 0,var(--ethos-secondary-700) 100%);border:none;border-radius:var(--ethos-panel-radius-lg);box-shadow:0 4px 6px rgba(5,150,105,.2);color:var(--white,#fff);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:var(--ethos-spacing-sm);padding:14px 28px;transition:all .3s}.btn-download-full:hover{box-shadow:0 8px 12px rgba(5,150,105,.3);transform:translateY(-2px)}.btn-download-full .material-icons{font-size:24px}.session-detail-modal .modal-footer{border-top:2px solid var(--ethos-neutral-200);display:flex;justify-content:flex-end;padding:20px 24px}.btn-close{background:var(--bg-primary,#fff);border:2px solid var(--ethos-neutral-200);border-radius:10px;color:var(--text-secondary,#374151);cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-close:hover{background:var(--bg-secondary,#f9fafb);border-color:var(--text-primary,#d1d5db)}@media(max-width:768px){.session-detail-modal{margin:var(--ethos-spacing-sm);max-height:95vh}.session-detail-modal .modal-content,.session-detail-modal .modal-header{padding:var(--ethos-spacing-md)}.codes-grid,.info-grid{grid-template-columns:1fr}}.documents-tab{background:var(--bg-primary,#fff);border-radius:var(--ethos-panel-radius-lg);padding:var(--ethos-spacing-lg)}.documents-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:var(--ethos-spacing-lg);padding-bottom:var(--ethos-spacing-md)}.documents-header h3{align-items:center;color:var(--text-primary,#1f2937);display:flex;font-size:1.25rem;font-weight:600;gap:var(--ethos-spacing-sm);margin:0}.documents-header h3 .material-icons{color:var(--text-primary,#3b82f6);font-size:24px}.documents-count{background:#f3f4f6;border-radius:var(--ethos-panel-radius-lg);color:var(--text-muted,#6b7280);font-size:.875rem;padding:4px 12px}.documents-table-container{margin-bottom:var(--ethos-spacing-lg);overflow-x:auto}.documents-table{background:var(--bg-primary,#fff);border-collapse:collapse;width:100%}.documents-table thead{background:var(--bg-secondary,#f9fafb)}.documents-table th{border-bottom:2px solid #e5e7eb;color:var(--text-muted,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.documents-table td{border:1px solid var(--border-light,#f3f4f6);color:var(--text-secondary,#374151);font-size:.875rem;padding:var(--ethos-spacing-md)}.documents-table tbody tr{transition:background-color .2s}.documents-table tbody tr:hover{background:var(--bg-secondary,#f9fafb)}.document-type{align-items:center;display:flex;gap:var(--ethos-spacing-sm)}.document-type .material-icons{color:var(--text-primary,#3b82f6);font-size:20px}.document-type span{font-weight:500}.amount{color:var(--color-success,#059669);font-weight:600}.amount-na{color:var(--text-primary,#9ca3af)}.file-size{color:var(--text-muted,#6b7280);font-size:.75rem}.btn-download{align-items:center;background:#3b82f6;border:none;border-radius:var(--ethos-panel-radius-sm);color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:var(--ethos-spacing-xs);padding:8px 12px;transition:all .2s}.btn-download .material-icons{font-size:16px}.btn-download:hover{background:#2563eb;box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-1px)}.btn-download:active{transform:translateY(0)}.documents-footer{margin-top:var(--ethos-spacing-md)}.hipaa-notice{align-items:center;background:#eff6ff;border:1px solid var(--border-light,#bfdbfe);border-radius:var(--ethos-panel-radius);color:var(--text-primary,#1e40af);display:flex;font-size:.75rem;gap:var(--ethos-spacing-sm);padding:var(--ethos-panel-padding-md)}.hipaa-notice .material-icons{color:var(--text-primary,#3b82f6);font-size:18px}.documents-tab-loading{color:var(--text-muted,#6b7280)}.documents-tab-error,.documents-tab-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.documents-tab-error{color:var(--color-error,#dc2626)}.documents-tab-error .material-icons{color:var(--color-error,#ef4444);font-size:48px;margin-bottom:var(--ethos-spacing-md)}.documents-tab-error p{font-size:1rem;font-weight:500;margin-bottom:var(--ethos-spacing-md)}.documents-tab-empty{align-items:center;background:var(--bg-secondary,#f9fafb);border:2px dashed #d7deea;border-radius:var(--ethos-panel-radius-lg);color:var(--text-primary,#4b5563);display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:320px;padding:60px 20px;text-align:center}.documents-tab-empty .material-icons{color:var(--text-primary,#94a3b8);font-size:52px;margin-bottom:6px}.documents-tab-empty p{color:var(--text-primary,#1f2937);font-size:1.125rem;font-weight:600;margin:0}.empty-hint{color:var(--text-muted,#64748b);line-height:1.5;max-width:460px}@media(max-width:768px){.documents-table{font-size:.75rem}.documents-table td,.documents-table th{padding:8px 12px}.btn-download span{display:none}.btn-download{padding:var(--ethos-spacing-sm)}}.billing-history-tab{background:var(--bg-primary,#fff);border-radius:var(--ethos-panel-radius-lg);padding:var(--ethos-spacing-lg)}.billing-summary{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--ethos-spacing-xl)}.summary-card{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius-lg);display:flex;justify-content:center;padding:var(--ethos-spacing-md);text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.summary-card .material-icons{display:none}.summary-content{align-items:center;display:flex;flex-direction:column;gap:var(--ethos-spacing-xs)}.summary-label{color:var(--text-muted,#6b7280);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.summary-value{color:var(--text-primary,#1f2937);font-size:1.5rem;font-weight:700}.summary-value.paid{color:var(--color-success,#059669)}.summary-value.outstanding{color:var(--color-error,#dc2626)}.billing-history-empty .empty-hint{display:none}.claims-list h3{align-items:center;color:var(--text-primary,#1f2937);display:flex;font-size:1.125rem;font-weight:600;gap:var(--ethos-spacing-sm);margin:0 0 20px}.claims-list h3 .material-icons{color:var(--text-primary,#3b82f6);font-size:24px}.claim-card{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-panel-radius-lg);margin-bottom:var(--ethos-spacing-md);overflow:hidden;transition:box-shadow .2s}.claim-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.claim-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--ethos-spacing-md);transition:background-color .2s}.claim-header:hover{background:var(--bg-secondary,#f9fafb)}.claim-main-info{flex:1}.claim-title{align-items:center;display:flex;gap:var(--ethos-panel-padding-md);margin-bottom:var(--ethos-spacing-sm)}.claim-title code{background:#f3f4f6;border-radius:var(--ethos-panel-radius-sm);color:var(--text-primary,#1f2937);font-size:.875rem;font-weight:600;padding:4px 8px}.claim-status{border-radius:var(--ethos-panel-radius-lg);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.status-draft{background:#f3f4f6;color:var(--text-muted,#6b7280)}.status-submitted{background:#dbeafe;color:var(--text-primary,#1e40af)}.status-paid{background:#d1fae5;color:var(--text-primary,#065f46)}.status-denied{background:#fee2e2;color:var(--text-primary,#991b1b)}.status-appealed{background:#fef3c7;color:var(--text-primary,#92400e)}.claim-meta{color:var(--text-muted,#6b7280);font-size:.8125rem;gap:var(--ethos-spacing-sm)}.claim-financial,.claim-meta{align-items:center;display:flex}.claim-financial{gap:var(--ethos-spacing-lg);margin-right:var(--ethos-spacing-md)}.financial-item{gap:2px}.financial-item .label{color:var(--text-primary,#9ca3af);font-size:.6875rem;letter-spacing:.05em}.financial-item .value{color:var(--text-primary,#1f2937);font-size:1rem;font-weight:600}.financial-item .value.paid{color:var(--color-success,#059669)}.financial-item .value.outstanding{color:var(--color-error,#dc2626)}.expand-icon{color:var(--text-primary,#9ca3af);transition:transform .2s}.claim-details{animation:slideDown .3s ease-out;border:1px solid var(--border-light,#e5e7eb);padding:0 20px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-grid{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--ethos-spacing-md);margin-top:var(--ethos-spacing-md)}.detail-section h4{border-bottom:2px solid #e5e7eb;color:var(--text-secondary,#374151);font-size:.875rem;font-weight:600;margin:0 0 12px;padding-bottom:var(--ethos-spacing-sm)}.detail-row{display:flex;font-size:.8125rem;justify-content:space-between;padding:8px 0}.detail-label{color:var(--text-muted,#6b7280);font-weight:500}.detail-value{color:var(--text-primary,#1f2937);font-weight:600}.denial-section{background:#fef2f2;border-left:4px solid #dc2626;border-radius:var(--ethos-panel-radius);padding:var(--ethos-spacing-md)}.denial-section h4{color:var(--text-primary,#991b1b)}.transactions-section{background:var(--bg-secondary,#f9fafb);border-radius:var(--ethos-panel-radius);margin-top:var(--ethos-spacing-md);padding:var(--ethos-spacing-md)}.transactions-section h4{color:var(--text-secondary,#374151);font-size:.875rem;font-weight:600;margin:0 0 12px}.transactions-table{background:var(--bg-primary,#fff);border-collapse:collapse;border-radius:var(--ethos-panel-radius-sm);overflow:hidden;width:100%}.transactions-table th{background:#f3f4f6;border:1px solid var(--border-light,#e5e7eb);color:var(--text-muted,#6b7280);font-size:.6875rem;font-weight:600;letter-spacing:.05em;padding:10px 12px;text-align:left;text-transform:uppercase}.transactions-table td{border:1px solid var(--border-light,#f3f4f6);color:var(--text-secondary,#374151);font-size:.8125rem;padding:10px 12px}.transactions-table tbody tr:last-child td{border-bottom:none}.txn-type{background:#f3f4f6;border-radius:var(--ethos-panel-radius-sm);font-size:.75rem;padding:2px 8px;text-transform:capitalize}.txn-amount{color:var(--color-success,#059669);font-weight:600}.notes-section{background:var(--bg-primary,#fff) beb;border-left:4px solid #f59e0b;border-radius:var(--ethos-panel-radius);margin-top:var(--ethos-spacing-md);padding:var(--ethos-spacing-md)}.notes-section h4{color:var(--text-primary,#92400e);font-size:.875rem;font-weight:600;margin:0 0 8px}.notes-section p{color:var(--text-primary,#78350f);font-size:.8125rem;line-height:1.5;margin:0}.billing-history-empty,.billing-history-error,.billing-history-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.billing-history-loading .spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--text-primary,#3b82f6);height:40px;margin-bottom:var(--ethos-spacing-md);width:40px}.billing-history-loading p{color:var(--text-muted,#6b7280)}.billing-history-error{color:var(--color-error,#dc2626)}.billing-history-error .material-icons{color:var(--color-error,#ef4444);font-size:48px;margin-bottom:var(--ethos-spacing-md)}.billing-history-error p{font-size:1rem;font-weight:500;margin-bottom:var(--ethos-spacing-md)}.btn-retry{background:#3b82f6;border:none;border-radius:var(--ethos-panel-radius-sm);color:var(--text-primary,#fff);cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-retry:hover{background:#2563eb}.billing-history-empty{color:var(--text-primary,#9ca3af)}.billing-history-empty .material-icons{color:var(--text-primary,#d1d5db);font-size:64px;margin-bottom:var(--ethos-spacing-md)}.billing-history-empty p{color:var(--text-muted,#6b7280);font-size:1rem;font-weight:500;margin:0 0 8px}.empty-hint{color:var(--text-primary,#9ca3af);font-size:.875rem;max-width:400px;text-align:center}@media(max-width:1024px){.claim-header{align-items:flex-start;flex-direction:column;gap:var(--ethos-spacing-md)}.claim-financial{justify-content:space-between;width:100%}.expand-icon{position:absolute;right:var(--ethos-spacing-md);top:var(--ethos-spacing-md)}}@media(max-width:768px){.billing-summary,.details-grid{grid-template-columns:1fr}.transactions-table{font-size:.75rem}.transactions-table td,.transactions-table th{padding:var(--ethos-spacing-sm)}}.goal-management-panel{background:var(--bg-primary,#fff);border-radius:16px;box-shadow:0 2px 16px rgba(0,0,0,.08);margin-bottom:var(--ethos-spacing-lg);padding:var(--ethos-spacing-lg)}.goal-panel-header{align-items:center;border-bottom:1px solid var(--border-light,#e5e5e7);display:flex;justify-content:space-between;margin-bottom:var(--ethos-spacing-lg);padding-bottom:var(--ethos-spacing-md)}.goal-panel-header h3{align-items:center;color:var(--text-primary,#1c1c1e);display:flex;font-size:20px;font-weight:600;gap:var(--ethos-spacing-sm);margin:0}.goal-header-actions{align-items:center;display:flex;gap:var(--ethos-panel-padding-md)}.goal-tabs{background:#f2f2f7;border-radius:var(--ethos-panel-radius-lg);margin-bottom:var(--ethos-spacing-md);padding:var(--ethos-spacing-xs)}.goal-tab,.goal-tabs{display:flex;gap:var(--ethos-spacing-xs)}.goal-tab{align-items:center;background:transparent;border:none;border-radius:var(--ethos-panel-radius);color:#6e6e73;cursor:pointer;flex:1;font-size:14px;font-weight:500;justify-content:center;padding:10px 16px;transition:all .2s ease-out}.goal-tab:hover{background:hsla(0,0%,100%,.5);color:#1c1c1e}.goal-tab.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#007aff}.goal-tab-count{background:#e5e5e7;border-radius:10px;color:#6e6e73;font-size:11px;font-weight:600;min-width:20px;padding:2px 6px;text-align:center}.goal-tab.active .goal-tab-count{background:#007aff;color:#fff}.goal-summary-cards{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--ethos-spacing-lg)}.goal-summary-card{background:linear-gradient(135deg,#f8f9fa 0,var(--ethos-neutral-200) 100%);border:1px solid var(--border-light,#e5e5e7);border-radius:var(--ethos-panel-radius-lg);padding:var(--ethos-spacing-md);text-align:center}.goal-summary-card.active{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#90caf9}.goal-summary-card.achieved{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#a5d6a7}.goal-summary-card.on-hold{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ffcc80}.summary-card-value{color:#1c1c1e;font-size:28px;font-weight:700;margin-bottom:var(--ethos-spacing-xs)}.summary-card-label{color:#6e6e73;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.goals-list{display:flex;flex-direction:column;gap:var(--ethos-spacing-md)}.goal-card{background:var(--ethos-canvas-fill-01);border:1px solid var(--border-light,#e5e5e7);border-radius:var(--ethos-panel-radius-lg);padding:var(--ethos-spacing-md);position:relative;transition:all .2s ease-out}.goal-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.goal-card.long-term{border-left:4px solid #007aff}.goal-card.short-term{border-left:4px solid #34c759}.goal-card.achieved{border-left-color:#8e8e93;opacity:.7}.goal-card.discontinued{border-left-color:#ff3b30;opacity:.5}.goal-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--ethos-panel-padding-md)}.goal-type-badge{align-items:center;border-radius:var(--ethos-panel-radius-sm);display:inline-flex;font-size:11px;font-weight:600;gap:var(--ethos-spacing-xs);letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.goal-type-badge.long-term{background:#e3f2fd;color:#1565c0}.goal-type-badge.short-term{background:#e8f5e9;color:#2e7d32}.goal-status-badge{align-items:center;border-radius:var(--ethos-panel-radius-sm);display:inline-flex;font-size:11px;font-weight:600;gap:var(--ethos-spacing-xs);padding:4px 10px;text-transform:uppercase}.goal-status-badge.active{background:#e3f2fd;color:#1565c0}.goal-status-badge.achieved{background:#e8f5e9;color:#2e7d32}.goal-status-badge.discontinued{background:#ffebee;color:#c62828}.goal-status-badge.on_hold{background:#fff3e0;color:#e65100}.goal-card-content{margin-bottom:var(--ethos-spacing-md)}.goal-text{color:#1c1c1e;font-size:15px;line-height:1.5;margin:0 0 12px}.goal-meta{color:#6e6e73;display:flex;flex-wrap:wrap;font-size:13px;gap:var(--ethos-spacing-md)}.goal-meta-item{align-items:center;display:flex;gap:var(--ethos-spacing-xs)}.goal-meta-item svg{font-size:16px}.goal-progress-section{margin-bottom:var(--ethos-spacing-md)}.goal-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--ethos-spacing-sm)}.goal-progress-label{color:#1c1c1e;font-size:13px;font-weight:500}.goal-progress-value{color:#007aff;font-size:13px;font-weight:600}.goal-progress-bar{background:#e5e5e7;height:8px;overflow:hidden;width:100%}.goal-progress-bar,.goal-progress-fill{border-radius:var(--ethos-panel-radius-sm)}.goal-progress-fill{background:linear-gradient(90deg,#007aff,#5ac8fa);height:100%;transition:width .6s ease-out}.goal-progress-fill.achieved{background:linear-gradient(90deg,#34c759,#30d158)}.goal-progress-fill.warning{background:linear-gradient(90deg,#ff9500,#fc0)}.goal-progress-fill.critical{background:linear-gradient(90deg,#ff3b30,#ff6b6b)}.goal-stats{background:#fff;border:1px solid var(--border-light,#e5e5e7);border-radius:var(--ethos-panel-radius);display:grid;gap:var(--ethos-panel-padding-md);grid-template-columns:repeat(3,1fr);margin-bottom:var(--ethos-spacing-md);padding:var(--ethos-panel-padding-md)}.goal-stat{text-align:center}.goal-stat-value{color:#1c1c1e;font-size:18px;font-weight:700}.goal-stat-label{color:#6e6e73;font-size:10px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.goal-card-actions{border-top:1px solid #e5e5e7;display:flex;gap:var(--ethos-spacing-sm);justify-content:flex-end;padding-top:var(--ethos-panel-padding-md)}.goal-action-btn{align-items:center;border:none;border-radius:var(--ethos-panel-radius);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:var(--ethos-spacing-xs);padding:8px 16px;transition:all .2s ease-out}.goal-action-btn.primary{background:#007aff;color:#fff}.goal-action-btn.primary:hover{background:#0056cc}.goal-action-btn.secondary{background:#f2f2f7;color:#6e6e73}.goal-action-btn.secondary:hover{background:#e5e5e7;color:#1c1c1e}.goal-action-btn.success{background:#34c759;color:#fff}.goal-action-btn.success:hover{background:#28a745}.goal-action-btn.danger{background:transparent;border:1px solid #ff3b30;color:#ff3b30}.goal-action-btn.danger:hover{background:#ff3b30;color:#fff}.goals-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.goals-empty-icon{color:#e5e5e7;font-size:64px;margin-bottom:var(--ethos-spacing-md)}.goals-empty-title{color:#1c1c1e;font-size:18px;font-weight:600;margin:0 0 8px}.goals-empty-message{color:#6e6e73;font-size:14px;margin:0 0 24px;max-width:400px}.goal-form-modal{max-width:700px}.goal-form{display:flex;flex-direction:column;gap:var(--ethos-spacing-md)}.goal-form-section{background:var(--ethos-canvas-fill-01);border:1px solid var(--border-light,#e5e5e7);border-radius:var(--ethos-panel-radius-lg);padding:var(--ethos-spacing-md)}.goal-form-section-title{align-items:center;color:#1c1c1e;display:flex;font-size:14px;font-weight:600;gap:var(--ethos-spacing-sm);margin:0 0 16px}.goal-form-row{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.goal-form-group{display:flex;flex-direction:column;gap:var(--ethos-spacing-xs)}.goal-form-label{color:#6e6e73;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.goal-form-input,.goal-form-select,.goal-form-textarea{background:#fff;border:1px solid #e5e5e7;border-radius:var(--ethos-panel-radius);color:#1c1c1e;font-size:14px;padding:12px 14px;transition:all .2s ease-out}.goal-form-input:focus,.goal-form-select:focus,.goal-form-textarea:focus{border-color:#007aff;box-shadow:0 0 0 3px rgba(0,122,255,.1);outline:none}.goal-form-textarea{min-height:100px;resize:vertical}.goal-form-input::-moz-placeholder,.goal-form-textarea::-moz-placeholder{color:#c7c7cc}.goal-form-input::placeholder,.goal-form-textarea::placeholder{color:#c7c7cc}.template-selector{margin-bottom:var(--ethos-spacing-md)}.template-grid{display:grid;gap:var(--ethos-panel-padding-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:300px;overflow-y:auto;padding:var(--ethos-spacing-xs)}.template-card{background:#fff;border:2px solid #e5e5e7;border-radius:10px;cursor:pointer;padding:var(--ethos-spacing-md);transition:all .2s ease-out}.template-card:hover{border-color:#007aff;box-shadow:0 2px 8px rgba(0,122,255,.15)}.template-card.selected{background:#f0f7ff;border-color:#007aff}.template-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--ethos-spacing-sm)}.template-name{color:#1c1c1e;font-size:14px;font-weight:600}.template-discipline{background:#e8e8ed;border-radius:var(--ethos-panel-radius-sm);color:#6e6e73;font-size:10px;font-weight:600;padding:3px 8px;text-transform:uppercase}.template-text{color:#6e6e73;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;-webkit-box-orient:vertical;overflow:hidden}.discipline-filter{display:flex;flex-wrap:wrap;gap:var(--ethos-spacing-sm);margin-bottom:var(--ethos-spacing-md)}.discipline-chip{background:#fff;border:1px solid #e5e5e7;border-radius:20px;color:#6e6e73;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s ease-out}.discipline-chip:hover{border-color:#007aff;color:#007aff}.discipline-chip.active{background:#007aff;border-color:#007aff;color:#fff}.goal-form-actions{border-top:1px solid #e5e5e7;display:flex;gap:var(--ethos-panel-padding-md);justify-content:flex-end;padding-top:var(--ethos-spacing-md)}.goals-loading{align-items:center;color:#6e6e73;display:flex;flex-direction:column;padding:40px 20px}.goals-loading .spinner{animation:spin 1s linear infinite;border:3px solid #e5e5e7;border-radius:50%;border-top-color:#007aff;height:32px;margin-bottom:var(--ethos-spacing-md);width:32px}.goals-error{align-items:center;color:#ff3b30;display:flex;flex-direction:column;padding:40px 20px;text-align:center}@media(prefers-color-scheme:dark){.goal-management-panel{background:#1c1c1e}.goal-panel-header{border-bottom-color:#38383a}.goal-panel-header h3{color:#fff}.goal-tabs{background:#2c2c2e}.goal-tab{color:#8e8e93}.goal-tab:hover{background:hsla(0,0%,100%,.1);color:#fff}.goal-tab.active{background:#38383a;color:#007aff}.goal-tab-count{background:#38383a;color:#8e8e93}.goal-card{background:#2c2c2e;border-color:#38383a}.goal-progress-label,.goal-stat-value,.goal-text,.summary-card-value{color:#fff}.goal-meta,.goal-stat-label,.summary-card-label{color:#8e8e93}.goal-stats{background:#1c1c1e;border-color:#38383a}.goal-card-actions{border-top-color:#38383a}.goal-action-btn.secondary{background:#38383a;color:#8e8e93}.goal-action-btn.secondary:hover{background:#48484a;color:#fff}.goal-form-section{background:#2c2c2e;border-color:#38383a}.goal-form-section-title{color:#fff}.goal-form-input,.goal-form-select,.goal-form-textarea{background:#1c1c1e;border-color:#38383a;color:#fff}.template-card{background:#2c2c2e;border-color:#38383a}.template-card:hover{border-color:#007aff}.template-card.selected{background:rgba(0,122,255,.1)}.template-name{color:#fff}.template-discipline{background:#38383a;color:#8e8e93}.discipline-chip{background:#2c2c2e;border-color:#38383a;color:#8e8e93}.discipline-chip.active{background:#007aff;border-color:#007aff;color:#fff}.goal-summary-card{background:linear-gradient(135deg,#2c2c2e,#1c1c1e);border-color:#38383a}.goal-summary-card.active{background:linear-gradient(135deg,rgba(0,122,255,.2),rgba(0,122,255,.1));border-color:rgba(0,122,255,.3)}.goal-summary-card.achieved{background:linear-gradient(135deg,rgba(52,199,89,.2),rgba(52,199,89,.1));border-color:rgba(52,199,89,.3)}}@media(max-width:768px){.goal-management-panel{margin-bottom:var(--ethos-spacing-md);padding:var(--ethos-spacing-md)}.goal-panel-header{align-items:flex-start;flex-direction:column;gap:var(--ethos-panel-padding-md)}.goal-header-actions{justify-content:flex-end;width:100%}.goal-tabs{flex-wrap:wrap}.goal-tab{flex:1 1 auto;font-size:12px;min-width:80px;padding:8px 12px}.goal-summary-cards{grid-template-columns:repeat(2,1fr)}.goal-card{padding:var(--ethos-spacing-md)}.goal-card-header{flex-direction:column;gap:var(--ethos-spacing-sm)}.goal-stats{gap:var(--ethos-spacing-sm);grid-template-columns:repeat(3,1fr);padding:var(--ethos-spacing-sm)}.goal-stat-value{font-size:16px}.goal-card-actions{flex-wrap:wrap;justify-content:center}.goal-action-btn{flex:1;justify-content:center}.goal-form-row,.template-grid{grid-template-columns:1fr}.discipline-filter{justify-content:center}.goal-form-actions{flex-direction:column}.goal-form-actions button{width:100%}}.insurance-provider-select{position:relative;width:100%}.insurance-provider-select__input{background-image:none!important;background-position:0 0!important;background-size:auto!important;padding-right:44px}.insurance-provider-select__input.invite-form-select__input{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#0f172a;font:inherit;font-size:16px;line-height:1.45;min-height:56px;min-width:0;outline:none!important;padding:18px 28px 18px 12px;width:100%}.insurance-provider-select__input.invite-form-select__input::-moz-placeholder{color:#64748b;opacity:1}.insurance-provider-select__input.invite-form-select__input::placeholder{color:#64748b;opacity:1}.insurance-provider-select__input.invite-form-select__input:disabled{color:#94a3b8;cursor:not-allowed}.insurance-provider-select__chevron{align-items:center;color:var(--fp-text-tertiary,#6b7280);display:flex;font-size:20px!important;justify-content:center;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:transform .15s ease,color .15s ease}.insurance-provider-select[data-open=true] .insurance-provider-select__chevron{color:var(--fp-brand,#1c3a7e);transform:translateY(-50%) rotate(180deg)}.insurance-provider-select__dropdown{background:var(--fp-surface,#fff);border:1px solid var(--fp-brand-border,rgba(28,58,126,.22));border-radius:var(--fp-radius-md,12px);box-shadow:var(--fp-shadow-card,0 12px 30px rgba(15,23,42,.08));left:0;max-height:280px;overflow-y:auto;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:40}.insurance-provider-select__option{background:transparent;border:none;border-radius:8px;color:var(--fp-text-primary,#0d1b2e);cursor:pointer;font-size:14px;line-height:1.4;padding:10px 12px;text-align:left;transition:background-color .15s ease,color .15s ease;width:100%}.insurance-provider-select__option:hover,.insurance-provider-select__option[data-active=true]{background:var(--fp-info-soft,rgba(28,58,126,.08));color:var(--fp-brand,#1c3a7e)}.insurance-provider-select__empty{color:var(--fp-text-tertiary,#6b7280);font-size:12px;line-height:1.45;padding:10px 12px}.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}}.register-card{display:flex;flex-direction:column;gap:14px}.register-header{margin-bottom:6px}.register-card.public-auth-card .public-auth-header{gap:0;margin-bottom:6px}.register-card.public-auth-card .public-auth-title-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;width:100%}.register-card.public-auth-card .public-auth-kicker{flex:0 0 auto;margin-top:2px}.register-title{font-size:24px!important;letter-spacing:-.02em;line-height:1.1;max-width:24ch}.register-nppes-section{margin-bottom:2px}.register-card .nppes-lookup-container{border-radius:18px;padding:14px}.register-card .nppes-lookup-header-inline{align-items:flex-start;gap:0;margin-bottom:12px}.register-card .nppes-lookup-form{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.register-card .nppes-lookup-input{text-align:center}.register-card .nppes-lookup-button{grid-column:1/-1;min-height:48px;width:100%}.register-card .nppes-lookup-copy{gap:4px}.register-card .nppes-lookup-title-inline{font-size:15px}.register-card .nppes-lookup-subtitle{font-size:14px;line-height:1.55}.register-inline-link{align-self:center;font-size:14px;font-weight:600;margin-bottom:4px;margin-top:2px;text-align:center}.register-security-card{gap:14px}.register-security-copy{display:flex;flex-direction:column;gap:4px}.register-security-copy p{color:var(--text-secondary,#475569);font-size:14px;line-height:1.5;margin:0}.register-auth-actions{margin-top:4px}.register-google-cta{justify-content:center}@media(max-width:640px){.register-card.public-auth-card .public-auth-title-row{align-items:flex-start;flex-direction:column}.register-card.public-auth-card .public-auth-kicker{margin-top:0}.register-card .nppes-lookup-form{grid-template-columns:1fr}}.signature-pad-container{margin:16px 0;width:100%}.signature-pad-wrapper{background:var(--fp-surface-subtle,#f9fafb);border:2px dashed var(--fp-brand-border,rgba(28,58,126,.22));border-radius:var(--ethos-panel-radius-lg);cursor:crosshair;max-width:600px;overflow:hidden;position:relative;transition:all .2s;width:100%}.signature-pad-wrapper:hover{background:var(--fp-info-soft,rgba(28,58,126,.08));border-color:var(--fp-brand,#1c3a7e)}.signature-canvas{background:var(--bg-primary,#fff);display:block;height:auto;touch-action:none;width:100%}.signature-placeholder{color:var(--fp-text-tertiary,#6b7280);font-size:18px;font-style:italic;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none}.signature-clear-btn{background:var(--fp-error,#dc2626);border:none;border-radius:var(--ethos-panel-radius);box-shadow:0 2px 4px rgba(220,38,38,.18);color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:600;margin-top:var(--ethos-panel-padding-md);padding:10px 20px;transition:all .2s}.signature-clear-btn:hover{background:color-mix(in srgb,var(--fp-error,#dc2626) 88%,#000);box-shadow:0 4px 8px rgba(220,38,38,.28);transform:translateY(-1px)}.signature-clear-btn:active{transform:translateY(0)}@media(max-width:768px){.signature-pad-wrapper{max-width:100%}.signature-canvas{width:100%}.signature-placeholder{font-size:16px}}@media(prefers-color-scheme:dark){.signature-pad-wrapper{background:var(--fp-surface-subtle,#f9fafb)!important;border-color:var(--fp-brand-border,rgba(28,58,126,.22))!important}.signature-canvas{background:var(--bg-primary,#fff)!important}.signature-placeholder{color:var(--fp-text-tertiary,#6b7280)!important}}.eligibility-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--ethos-panel-radius);box-shadow:0 1px 3px rgba(0,0,0,.1);margin-top:var(--ethos-spacing-lg);padding:var(--ethos-spacing-lg)}.eligibility-card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:var(--ethos-spacing-md);padding-bottom:var(--ethos-spacing-md)}.eligibility-card-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.eligibility-check-btn{align-items:center;background:#2563eb;border:none;border-radius:var(--ethos-panel-radius-sm);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:var(--ethos-spacing-sm);padding:10px 20px;transition:all .2s}.eligibility-check-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 6px rgba(37,99,235,.2);transform:translateY(-1px)}.eligibility-check-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.eligibility-check-btn.loading{background:#6b7280}.eligibility-check-btn svg{height:18px;width:18px}.eligibility-check-btn svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.eligibility-card-body{display:flex;flex-direction:column;gap:var(--ethos-spacing-md)}.insurance-info{background:#f9fafb;border-radius:var(--ethos-panel-radius-sm);display:flex;flex-direction:column;gap:var(--ethos-spacing-sm);padding:var(--ethos-spacing-md)}.detail-row,.info-row{align-items:center;display:flex;justify-content:space-between}.detail-row .label,.info-row .label{color:#6b7280;font-size:14px;font-weight:600}.detail-row .value,.info-row .value{color:#111827;font-size:14px}.alert{align-items:center;border-radius:var(--ethos-panel-radius-sm);display:flex;font-size:14px;gap:var(--ethos-panel-padding-md);padding:12px 16px}.alert svg{flex-shrink:0;height:20px;width:20px}.alert-warning{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.alert-warning svg{color:#f59e0b}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-error svg{color:#ef4444}.eligibility-results{display:flex;flex-direction:column;gap:var(--ethos-spacing-md)}.coverage-status{align-items:center;border-radius:var(--ethos-panel-radius-sm);display:flex;font-size:16px;gap:var(--ethos-panel-padding-md);padding:var(--ethos-spacing-md)}.coverage-status svg{height:24px;width:24px}.coverage-status.active{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.coverage-status.active svg{color:#10b981}.coverage-status.inactive{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.coverage-status.inactive svg{color:#ef4444}.plan-details{background:#f9fafb;border-radius:var(--ethos-panel-radius-sm);display:flex;flex-direction:column;gap:var(--ethos-panel-padding-md);padding:var(--ethos-spacing-md)}.financial-grid{display:grid;gap:var(--ethos-spacing-md);grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.financial-grid{grid-template-columns:1fr}}.financial-item{border-radius:var(--ethos-panel-radius-sm);display:flex;flex-direction:column;gap:var(--ethos-spacing-xs);padding:var(--ethos-spacing-md)}.financial-item .label{font-size:12px;font-weight:500;letter-spacing:.5px;opacity:.8;text-transform:uppercase}.financial-item .amount{font-size:20px;font-weight:700}.financial-item .sublabel{font-size:11px;margin-top:var(--ethos-spacing-xs);opacity:.7}.financial-item.coinsurance,.financial-item.copay{background:#dbeafe;color:#1e3a8a}.financial-item.deductible,.financial-item.oop-max{background:#d1fae5;color:#064e3b}.check-timestamp{color:#6b7280;font-size:12px;font-style:italic;margin-top:var(--ethos-spacing-sm);text-align:right}