:root{--color-page: #eef0f2;--color-surface: #fff;--color-text: #222a31;--color-heading: #111;--color-muted: #66717d;--color-border: #d8dde1;--color-border-soft: #edf0f2;--color-brand: #05b80c;--color-danger: #aa2d2d;--color-avatar: #cf00d5;--avatar-radius: 7px;--font-body: Roboto, "Helvetica Neue", Arial, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .72rem;--text-sm: .86rem;--text-base: .95rem;--text-md: .75rem;--text-lg: 1rem;--text-xl: 1.2rem;--text-hero: 1.7rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--action-button-min-width: 132px;color:var(--color-text);background:var(--color-page);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}.local-dev-bar{background:var(--color-brand);height:5px;width:100%}.local-dev-bar+.login-shell,.local-dev-bar+.admin-shell{min-height:calc(100vh - 5px)}.local-dev-bar+.admin-shell .sidebar{min-height:calc(100vh - 5px)}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.login-shell{align-items:center;background:#eef0f2;display:grid;min-height:100vh;padding:24px}.login-panel{background:#fff;border:1px solid #d9dde1;border-radius:4px;box-shadow:0 4px 14px #141c261f;margin:auto;max-width:420px;padding:32px;width:100%}.login-logo{display:block;height:auto;margin-bottom:24px;max-width:190px;width:62%}.eyebrow{color:#78818c;font-size:.78rem;font-weight:700;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}h1{color:#151a20;font-size:var(--text-hero);font-weight:var(--weight-medium);line-height:1.25;margin:0}form{display:grid;gap:18px;margin-top:32px}label{color:#333b45;display:grid;font-size:var(--text-base);font-weight:var(--weight-semibold);gap:8px}input{background:#fff;border:1px solid #cfd4d9;border-radius:3px;color:#222a31;height:40px;outline:none;padding:0 12px}textarea{background:#fff;border:1px solid #cfd4d9;border-radius:3px;color:#222a31;min-height:110px;outline:none;padding:10px 12px;resize:vertical}select{background:#fff;border:1px solid #cfd4d9;border-radius:3px;color:#222a31;height:40px;outline:none;padding:0 34px 0 12px}input:focus,select:focus,textarea:focus{border-color:#05b80c;box-shadow:0 0 0 2px #05b80c24}.login-panel button,.green-button{align-items:center;background:#05b80c;border:0;border-radius:4px;color:#fff;display:inline-flex;font-weight:var(--weight-medium);gap:7px;height:41px;justify-content:center;min-width:var(--action-button-min-width);padding:0 15px}.date-fieldset{border:0;display:grid;gap:8px;margin:0;padding:0}.date-fieldset legend{color:#333b45;font-size:var(--text-base);font-weight:var(--weight-semibold);padding:0}.date-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.reset-success{display:grid;gap:16px;margin-top:28px}.reset-success svg{color:#05b80c}.reset-success p{color:#4c5661;line-height:1.5;margin:0}button:disabled{cursor:wait;opacity:.7}.form-error{color:var(--color-danger);font-weight:var(--weight-semibold);margin:16px}.content-message{color:var(--color-muted);font-weight:var(--weight-semibold);margin:16px}.page-spinner{align-items:center;color:#5b6670;display:flex;justify-content:center;min-height:calc(100vh - 72px)}.page-spinner svg{animation:page-spinner-rotate .8s linear infinite}.inline-spinner{align-items:center;color:#5b6670;display:flex;justify-content:center;min-height:56px}.inline-spinner svg{animation:page-spinner-rotate .8s linear infinite}.content-surface>.content-message:only-child,.patients-workspace>.content-message,.patient-record-workspace>.content-message{align-items:center;color:#5b6670;display:flex;font-size:0;justify-content:center;margin:0;min-height:calc(100vh - 72px)}.content-surface>.content-message:only-child:before,.patients-workspace>.content-message:before,.patient-record-workspace>.content-message:before{animation:page-spinner-rotate .8s linear infinite;border:3px solid #d8dde1;border-top-color:#5b6670;border-radius:999px;content:"";height:32px;width:32px}@keyframes page-spinner-rotate{to{transform:rotate(360deg)}}.admin-shell{display:grid;grid-template-columns:284px minmax(0,1fr);min-height:100vh}.sidebar{background:#404a56;color:#d5dbe2;min-height:100vh}.logo-bar{align-items:center;background:#05b80c;display:flex;height:62px;justify-content:center;padding:0 28px}.logo-bar img{display:block;max-height:34px;max-width:170px;object-fit:contain}.sidebar nav{margin:15px 0}.sidebar nav p{color:#b5bdc7;font-size:.72rem;margin:26px 18px 8px;text-transform:uppercase}.sidebar nav button{align-items:center;background:transparent;border:0;color:#d5dbe2;display:flex;gap:20px;height:56px;padding:0 21px;text-align:left;width:100%}.sidebar nav button svg{color:#aeb7c0}.sidebar nav button.active{background:#4c5662;color:#fff}.main-pane{background:#f3f4f5;min-width:0}.topbar{align-items:center;background:#fff;border-bottom:1px solid #e0e3e6;display:flex;gap:20px;height:62px;justify-content:space-between;padding:0 24px 0 31px}.topbar-left,.topbar-actions{align-items:center;display:flex;gap:10px;min-width:0}.menu-button,.icon-button{align-items:center;background:transparent;border:0;color:#54606b;display:inline-flex;height:40px;justify-content:center;width:40px}.menu-button{display:none}.icon-button{background:#f5f7f8;border:1px solid #e1e5e9;border-radius:4px}.profile-trigger{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;gap:10px;min-width:0;padding:0}.user-name{color:#303944;font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impersonation-banner{align-items:center;background:#fff7e8;border-bottom:1px solid #e8c06f;color:#493200;display:flex;gap:16px;justify-content:space-between;padding:10px 24px 10px 31px}.impersonation-banner div{display:grid;gap:2px;min-width:0}.impersonation-banner strong,.impersonation-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impersonation-banner strong{font-size:var(--text-sm);font-weight:var(--weight-bold)}.impersonation-banner span{color:#785922;font-size:var(--text-xs)}.impersonation-banner button{background:#fff;border:1px solid #d49d34;border-radius:4px;color:#513300;font-weight:var(--weight-semibold);height:34px;padding:0 14px}.avatar{align-items:center;background:#404a56;border-radius:4px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:700;height:40px;justify-content:center;width:40px}.avatar img,.profile-avatar img{border-radius:inherit;height:100%;object-fit:cover;width:100%}.content-surface{background:#fff;border:1px solid #d8dde1;border-radius:3px;box-shadow:0 1px 2px #141c260f;margin:8px 4px 0;min-height:calc(100vh - 70px);overflow:hidden}.content-surface:has(.patient-record-workspace){overflow:visible}.workspace{padding:24px}.page-shell,.patients-workspace{background:var(--color-surface);min-height:calc(100vh - 72px)}.profile-workspace{background:#fff;min-height:calc(100vh - 72px)}.workspace-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.page-header,.content-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;min-height:69px;padding:0 22px}.page-header h1,.content-header h1{color:var(--color-heading);font-size:var(--text-lg);font-weight:var(--weight-medium)}.search-row,.patient-search-row{align-items:center;border-bottom:1px solid var(--color-border);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) max-content;padding:8px 22px}.search-field,.patient-search-field{align-items:center;background:var(--color-surface);border:1px solid #cfd4d9;border-radius:3px;color:#68727e;display:flex;gap:9px;height:42px;padding:0 10px 0 12px;width:100%}.search-field input,.patient-search-field input{background:transparent;border:0;box-shadow:none;flex:1;height:40px;min-width:0;padding:0}.search-field button,.patient-search-field button{align-items:center;background:transparent;border:0;color:#68727e;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.search-field button:hover,.patient-search-field button:hover{color:#20262d}.patient-status-filter{justify-self:end;width:min(28vw,220px)}.patient-status-filter select{width:100%}.profile-save{justify-self:start;min-width:var(--action-button-min-width)}.logout-button{background:#fff;border:1px solid #cfd4d9;border-radius:4px;color:#303944;font-weight:700;height:41px;justify-self:start;min-width:var(--action-button-min-width);padding:0 18px}.logout-button:hover{background:#f5f7f8}.profile-form{align-items:start;display:grid;gap:28px;grid-template-columns:230px minmax(0,520px);margin:0;padding:28px 22px}.profile-avatar-panel{grid-column:1 / -1}.profile-avatar{align-items:center;background:#404a56;border-radius:var(--avatar-radius);color:#fff;display:flex;font-size:2rem;font-weight:700;height:132px;justify-content:center;overflow:hidden;width:132px}.profile-avatar-editor{align-items:center;display:flex;gap:10px}.avatar-upload-error{color:#aa2d2d;font-size:.85rem;font-weight:700;margin:0}.profile-fields{display:grid;gap:18px}.account-security-panel{border-top:1px solid var(--color-border-soft);display:grid;gap:14px;padding-top:18px}.account-security-panel h2,.password-form-header h3{color:var(--color-heading);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.muted-copy{color:var(--color-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.password-form-panel{display:grid;gap:14px}.password-form-header,.password-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.password-form-header .icon-button{flex:0 0 auto}.password-actions{justify-content:flex-start}.inline-message{margin:0}.patient-record-workspace{background:#fff;min-height:calc(100vh - 72px)}.breadcrumbs{align-items:center;background:#f8f9fa;border-bottom:1px solid var(--color-border);color:var(--color-muted);display:flex;gap:8px;min-height:42px;padding:0 22px}.breadcrumbs button{background:transparent;border:0;color:#303944;font-weight:var(--weight-bold);padding:0;text-decoration:underline;text-underline-offset:3px}.record-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:18px;justify-content:space-between;min-height:86px;padding:16px 22px}.record-header h1{color:var(--color-heading);font-size:var(--text-xl);font-weight:var(--weight-medium)}.record-header p{color:var(--color-muted);font-weight:var(--weight-semibold);margin:5px 0 0}.patient-status-editor{align-items:center;display:inline-flex;margin-top:10px}.patient-status-editor select{background:#fff;border:1px solid var(--color-border);border-radius:4px;color:var(--color-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);height:34px;min-width:190px;padding:0 9px;text-transform:none}.patient-status-message{margin-top:8px}.record-header-detail{color:var(--color-muted);display:grid;gap:3px;line-height:1.35;margin-top:6px;overflow-wrap:anywhere}.record-header-profile{align-items:center;display:flex;gap:16px;min-width:0}.record-avatar{flex:0 0 auto;height:64px;width:64px}.patient-record-workspace .record-avatar{font-size:calc(var(--text-md) * 1.5);height:96px;width:96px}.back-button{background:#f5f7f8;border:1px solid #d8dde1;border-radius:4px;color:#303944;font-weight:600;height:38px;padding:0 14px}.record-edit-button{min-width:var(--action-button-min-width)}.record-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:10px}.record-tabs{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:0;padding:0 22px}.record-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--color-muted);font-weight:var(--weight-bold);height:52px;padding:0 18px}.record-tabs button.active{border-bottom-color:var(--color-brand);color:#20262d}.count-tabs button{align-items:center;display:inline-flex;gap:6px}.count-tabs button span{align-items:center;background:var(--color-border-soft);border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:var(--text-xs);height:17px;justify-content:center;min-width:17px;padding:0 5px}.count-tabs button.active span{background:var(--color-brand);color:#fff}.status-row{align-items:center;display:flex;padding:0 22px}.status-row .record-tabs{border-bottom:0;padding:0}.record-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(340px,440px);padding:22px}.record-grid.single{grid-template-columns:1fr}.record-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;margin:22px;padding:20px}.record-grid .record-panel{margin:0}.record-panel h2{color:#20262d;font-size:var(--text-md);margin:0 0 18px}.record-panel h3{color:#303944;font-size:.95rem;margin:22px 0 12px}.detail-list{display:grid;gap:0;margin:0}.detail-list div{border-bottom:1px solid var(--color-border-soft);display:grid;gap:8px;grid-template-columns:210px minmax(0,1fr);padding:12px 0}.detail-list div:first-child{padding-top:0}.detail-list dt{color:var(--color-muted);font-weight:var(--weight-bold)}.detail-list dd{color:#20262d;margin:0}.address-list{display:grid;gap:12px}.address-list address{border:1px solid #e1e5e9;border-radius:4px;color:#303944;display:grid;font-style:normal;gap:5px;padding:14px}.edit-patient-form{display:grid;gap:14px}.edit-page-form{grid-template-columns:repeat(2,minmax(0,1fr));margin:22px;max-width:920px}.edit-patient-form h2{margin-bottom:2px}.record-list{display:grid}.lazy-list{max-height:62vh;overflow:auto;padding-right:10px}.record-list-row{border-bottom:1px solid var(--color-border-soft);display:grid;gap:5px;padding:14px 0}.record-list-row:first-child{padding-top:0}.record-list-row:last-child{border-bottom:0}.record-list-row strong{color:#20262d;font-weight:var(--weight-semibold)}.record-list-row span,.record-list-row small{color:var(--color-muted)}.record-list-row .visit-flag{background:#1185ee;border-radius:999px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:var(--weight-semibold);margin-left:10px;padding:3px 8px;text-transform:uppercase;vertical-align:middle}.record-list-row .visit-flag.upcoming,.record-list-row .visit-flag.missed{background:#1185ee;color:#fff}.notes-layout{display:grid;gap:8px;grid-template-columns:minmax(260px,390px) minmax(0,1fr)}.note-row{background:transparent;border:1px solid transparent;border-left:4px solid transparent;gap:7px;position:relative;padding:20px 12px 20px 9px;text-align:left;width:100%}.notes-list-panel .note-row:first-child{padding-top:20px}.note-row:after{background:#00000061;bottom:0;content:"";height:1px;left:0;position:absolute;width:61.8%}.note-row:last-child:after{display:none}.note-row:hover{background:#f5f7f8}.note-row.active{background:#fff;border-color:var(--color-border);border-left-color:#05b80c;border-left-width:5px;border-radius:4px;box-shadow:0 1px 3px #18202814;padding:20px 12px 20px 8px}.note-row.active:after{display:none}.note-row.flash-added-a,.note-pane.flash-added-a{animation:note-added-flash-a .85s ease-in-out 3 forwards}.note-row.flash-added-b,.note-pane.flash-added-b{animation:note-added-flash-b .85s ease-in-out 3 forwards}@keyframes note-added-flash-a{0%,to{background:#fff;box-shadow:0 1px 3px #18202814}22%,48%{background:#ddf9e3;box-shadow:0 0 0 3px #05b80c33,0 10px 28px #05b80c29}}@keyframes note-added-flash-b{0%,to{background:#fff;box-shadow:0 1px 3px #18202814}22%,48%{background:#ddf9e3;box-shadow:0 0 0 3px #05b80c33,0 10px 28px #05b80c29}}.note-row-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.note-row-title strong{flex:1 1 180px}.note-row-title em,.note-detail-tags em{align-items:center;background:#1185ee;border-radius:999px;color:#fff;display:inline-flex;font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-bold);min-height:22px;padding:0 8px}.note-row-title em.muted,.note-detail-tags em.muted{background:#e9edf1;color:#4e5965}.notes-list-panel{border:0;margin-right:0;padding:0 10px 0 0}.note-pane{align-self:start;border-left:5px solid #05b80c;margin-left:0;max-height:calc(100vh - 160px);overflow:auto;position:sticky;top:16px}.note-detail-header{align-items:start;display:flex;gap:14px;justify-content:space-between;margin-bottom:24px}.note-detail-header h2{color:#20262d;font-size:var(--text-xl);margin:0 0 6px}.note-detail-header span{color:var(--color-muted);font-weight:var(--weight-semibold)}.note-detail-tags{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.note-pane h3{margin:0 0 10px}.note-pane p{color:#303944;line-height:1.5;margin:0;white-space:pre-wrap}.note-body-section p{font-size:var(--text-lg)}.note-supporting-section,.note-signature-section{border-top:1px solid var(--color-border-soft);margin-top:24px;padding-top:18px}.signature-line{color:#66717d;display:grid;gap:4px;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.signature-break{height:8px}.toast-message{background:#00b706;border:1px solid rgba(255,255,255,.14);border-radius:4px;box-shadow:0 10px 26px #141c263d;color:#fff;font-weight:700;padding:12px 16px;position:fixed;right:24px;top:78px;z-index:20}.full-width-field,.form-actions{grid-column:1 / -1}.form-actions{display:flex;gap:10px;justify-content:center}.patient-image-editor{align-items:center;display:flex;grid-column:1 / -1}.patient-image-upload{border-radius:var(--avatar-radius);cursor:pointer;display:inline-flex;position:relative}.patient-image-upload:hover .patient-photo,.patient-image-upload:focus-within .patient-photo{box-shadow:0 0 0 3px #05b80c38}.patient-image-input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.patient-photo{height:96px;width:96px}.update-button{align-items:center;background:#05b80c;border:0;border-radius:4px;color:#fff;display:inline-flex;font-weight:700;height:41px;justify-content:center;min-width:var(--action-button-min-width);padding:0 18px}.update-button:disabled{background:#e1e5e9;color:#8a949f;cursor:default;opacity:1}.form-success{color:#058a0a;font-weight:600}.dashboard-title{align-items:center;display:flex;justify-content:center;min-height:160px;padding:20px 16px 36px;text-align:center}.dashboard-title h1{color:#2f2f2f;font-size:3.15rem;font-weight:700;line-height:1.1}.stat-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stat-tile{align-items:center;background:#fff;border:1px solid #d8dde1;border-radius:4px;display:flex;gap:14px;min-height:112px;padding:18px}.stat-icon{align-items:center;background:#e9f8ea;border-radius:4px;color:#058a0a;display:flex;height:42px;justify-content:center;width:42px}.stat-tile div:last-child,.profile-summary div{display:grid;gap:4px}.stat-tile span,.compact-row span,.profile-summary span,.profile-summary small{color:#66717d}.stat-tile strong{color:#151a20;font-size:1.8rem;font-weight:500;line-height:1}.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.appointments-panel{background:#fff;border:1px solid #d8dde1;border-radius:3px;margin:0 0 36px}.appointments-title{align-items:center;border-bottom:1px solid #e2e5e8;display:flex;min-height:56px;padding:0 20px}.appointments-title h2{color:#111820;font-size:var(--text-xl);font-weight:var(--weight-medium);margin:0}.appointment-day-list{display:grid;gap:0;padding:0}.appointment-day{border-top:1px solid #dfe3e6}.appointment-day h3{border-bottom:1px solid #dfe3e6;color:#111820;font-size:var(--text-md);font-weight:var(--weight-bold);margin:0;padding:16px 20px}.appointment-list{display:grid}.appointment-row{align-items:center;background:#fff;border:0;border-bottom:1px solid #dfe3e6;color:#111820;cursor:pointer;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 54px;min-height:94px;padding:14px 20px;text-align:left;width:100%}.appointment-row:hover{background:#fbfcfd}.appointment-row:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.appointment-list>:last-child{border-bottom:0}.appointment-copy{display:grid;gap:4px;min-width:0}.appointment-primary{align-items:baseline;display:flex;flex-wrap:wrap;gap:7px}.appointment-primary span,.appointment-primary strong,.appointment-primary em{color:#111820;font-size:var(--text-md);font-style:normal;font-weight:var(--weight-medium)}.appointment-primary .appointment-status-tag{align-items:center;background:#1185ee;border-radius:999px;color:#fff;display:inline-flex;font-size:.78rem;font-weight:var(--weight-bold);line-height:1;min-height:28px;padding:0 10px}.appointment-copy>span,.appointment-copy small{color:#111820;font-size:var(--text-md)}.appointment-copy small{padding-left:24px}.appointment-chevron{color:#0b1630;justify-self:center}.appointment-empty{border-bottom:1px solid #dfe3e6;color:var(--color-muted);margin:0;padding:12px 20px}.portal-panel{background:#fff;border:1px solid #d8dde1;border-radius:4px}.panel-header{align-items:center;border-bottom:1px solid #e2e5e8;display:flex;justify-content:space-between;min-height:56px;padding:0 18px}.panel-header h2{font-size:1rem;font-weight:600;margin:0}.compact-list{display:grid}.compact-row{align-items:center;border-bottom:1px solid #edf0f2;display:grid;gap:12px;min-height:72px;padding:14px 18px}.compact-row:last-child{border-bottom:0}.compact-row div:first-child{display:grid;gap:5px}.compact-row strong,.profile-summary strong{color:#20262d;font-weight:500}.profile-summary{align-items:center;color:#058a0a;display:flex;gap:14px;min-height:160px;padding:18px}.patient-list{background:#fff}.billing-workspace{color:var(--color-heading);padding:0 0 64px}.billing-workspace .search-row,.billing-search-row{align-items:center;border-bottom:1px solid var(--color-border);display:grid;gap:0;grid-template-columns:minmax(0,1fr);padding:8px 22px}.billing-workspace .search-field,.billing-search-field{align-items:center;background:var(--color-surface);border:0;border-radius:0;color:#68727e;display:flex;gap:9px;height:42px;padding:0 10px 0 12px;width:100%}.billing-workspace .search-field input,.billing-search-field input{background:transparent;border:0;box-shadow:none;flex:1;height:40px;min-width:0;padding:0}.billing-workspace .search-field input::placeholder,.billing-search-field input::placeholder{color:#7b8490}.billing-workspace .search-field button,.billing-search-field button{align-items:center;background:transparent;border:0;color:#68727e;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.billing-workspace .search-field button:hover,.billing-search-field button:hover{color:#20262d}.billing-status-row{align-items:center;border-bottom:0;display:flex;gap:0;padding:0 22px}.billing-tabs{align-items:center;display:flex;gap:0;margin:0;max-width:none}.billing-tabs button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--color-muted);display:inline-flex;font-weight:var(--weight-bold);gap:6px;height:52px;justify-content:center;padding:0 18px}.billing-tabs button span{align-items:center;background:var(--color-border-soft);border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:var(--text-xs);height:17px;justify-content:center;min-width:17px;padding:0 5px}.billing-tabs button.active span{background:var(--color-brand);color:#fff}.billing-tabs button.active{border-bottom-color:var(--color-brand);color:#20262d}.billing-card-list{background:var(--color-surface);margin:0;padding:0}.billing-notice{margin:14px 22px}.billing-card{align-items:center;background:var(--color-surface);border:0;border-bottom:1px solid #dfe3e6;color:#242b33;cursor:pointer;display:grid;gap:18px;grid-template-columns:minmax(280px,1fr) minmax(190px,.48fr) 54px 28px;min-height:86px;padding:14px 18px 14px 26px;text-align:left}.billing-card:has(.billing-card-status:nth-child(2)){grid-template-columns:minmax(280px,1fr) minmax(190px,.48fr) 54px 28px}.billing-card:not(:has(.billing-card-status)){grid-template-columns:minmax(280px,1fr) 54px 28px}.billing-card:hover{background:#fbfcfd}.billing-card:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.billing-card-copy{display:grid;gap:4px;line-height:1.2;min-width:0}.billing-card-copy strong,.billing-card-copy span{display:block;margin:0}.billing-card-copy strong{color:#242b33;font-size:var(--text-md);font-weight:var(--weight-medium)}.billing-card-copy span,.billing-card-copy small,.billing-card-status small{color:var(--color-muted)}.billing-card-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-card-status{display:grid;gap:4px;justify-items:start;min-width:0}.billing-card-status span{color:#2f2f2f;font-size:var(--text-base);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.billing-card-avatar{height:46px;width:46px}.billing-detail{padding:0 0 36px}.billing-detail-header{border-top:1px solid var(--color-border)}.billing-detail-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.green-button.secondary{background:#fff;border:1px solid #cfd4d9;color:#303944;text-decoration:none}.billing-detail-grid{display:grid;gap:14px;grid-template-columns:1fr;padding:18px 22px 22px}.billing-detail-grid .record-panel{margin:0}.billing-detail-notes{grid-column:1 / -1}.billing-summary-panel{margin:0;padding:16px 18px}.billing-summary-panel h2{margin-bottom:10px}.billing-summary-list{display:grid;gap:5px;min-width:0}.billing-summary-list strong{color:#20262d;font-size:var(--text-md);font-weight:var(--weight-semibold)}.billing-summary-list span{color:var(--color-muted);line-height:1.35;overflow-wrap:anywhere}.billing-visit-panel,.billing-detail-notes{grid-column:1 / -1}.billing-detail .record-list-row p{color:#303944;line-height:1.5;margin:4px 0 0;white-space:pre-wrap}.billing-history-note{overflow-wrap:anywhere}.billing-detail .detail-list dd{min-width:0;overflow-wrap:anywhere}.modal-backdrop{align-items:start;background:#14181c7a;display:flex;justify-content:center;inset:0;overflow:auto;padding:42px 18px;position:fixed;z-index:40}.billing-modal{background:#fff;border:1px solid var(--color-border);border-radius:4px;box-shadow:0 18px 48px #141c2633;display:grid;gap:14px;margin:0;max-width:680px;padding:28px;width:min(100%,680px)}.billing-modal h2{color:var(--color-heading);font-size:var(--text-xl);font-weight:var(--weight-medium);margin:0 0 6px;text-align:center}.modal-copy{color:var(--color-muted);font-weight:var(--weight-semibold);line-height:1.4;margin:0;text-align:center}.billing-modal label{color:#303944;font-size:var(--text-sm);font-weight:var(--weight-bold);gap:7px;text-transform:uppercase}.billing-modal input,.billing-modal textarea{font-size:var(--text-md)}.billing-modal textarea{min-height:150px}.billing-info-modal{max-width:820px;width:min(100%,820px)}.billing-info-modal h2{text-align:left}.billing-modal-context{color:var(--color-heading);display:grid;gap:24px;font-size:var(--text-md);line-height:1.35}.billing-modal-context p{margin:0}.billing-modal-context div{display:grid;gap:3px}.billing-modal-context strong{font-size:var(--text-sm);text-transform:uppercase}.billing-info-modal textarea{min-height:280px}.currency-field{align-items:center;display:grid;gap:10px;grid-template-columns:max-content minmax(0,1fr)}.currency-field>span{color:#303944;font-size:var(--text-lg)}.billing-modal-actions{display:grid;gap:12px;justify-self:center;margin-top:10px;max-width:360px;width:100%}.reset-password-modal{max-width:520px;width:min(100%,520px)}.requisition-modal{max-width:620px;width:min(100%,620px)}.requisition-modal textarea{min-height:190px}.patient-row{align-items:center;background:var(--color-surface);border:0;border-bottom:1px solid #dfe3e6;color:#242b33;display:grid;gap:18px;grid-template-columns:minmax(280px,1fr) minmax(190px,.48fr) 54px 28px;min-height:86px;padding:14px 18px 14px 26px;text-align:left;width:100%}.patient-row:hover{background:#fbfcfd}.patient-copy{display:grid;gap:4px;line-height:1.2;min-width:0}.patient-copy strong{color:#242b33;font-size:var(--text-md);font-weight:var(--weight-medium)}.patient-copy span,.patient-copy small,.patient-status small{color:var(--color-muted)}.patient-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-status{display:grid;gap:4px;justify-items:start;min-width:0}.patient-status span{color:#2f2f2f;font-size:var(--text-base);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.patient-company-name{font-weight:var(--weight-semibold)}.app-avatar,.patient-avatar{align-items:center;background:var(--color-avatar);border-radius:var(--avatar-radius);color:#fff;display:flex;font-size:var(--text-md);font-weight:var(--weight-bold);height:46px;justify-content:center;justify-self:center;width:46px}.app-avatar img,.patient-avatar img{border-radius:inherit;height:100%;object-fit:cover;width:100%}.row-chevron{color:#707982;justify-self:end}.empty-state{color:#66717d;font-weight:500;margin:0;padding:28px 22px}@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{height:auto;padding:14px 16px}.topbar-left,.topbar-actions{flex-wrap:wrap}.impersonation-banner{align-items:stretch;flex-direction:column;padding:12px 16px}.impersonation-banner strong,.impersonation-banner span{white-space:normal}.impersonation-banner button{width:100%}.menu-button{display:inline-flex}.green-button{width:100%}.record-header-actions{align-items:stretch;flex-direction:column;width:100%}.workspace{padding:16px}.workspace-header{align-items:stretch;flex-direction:column;gap:14px}.content-header{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.search-row,.patient-search-row{grid-template-columns:1fr;padding:8px 16px}.patient-status-filter{justify-self:stretch;width:100%}.dashboard-title{min-height:120px;padding:12px 0 24px}.dashboard-title h1{font-size:2.2rem}.stat-grid,.dashboard-grid{grid-template-columns:1fr}.appointments-title,.appointment-day h3,.appointment-row,.appointment-empty{padding-left:14px;padding-right:14px}.appointment-row{grid-template-columns:minmax(0,1fr) 38px}.appointment-chevron{width:34px}.profile-form{grid-template-columns:1fr;padding:20px 16px}.record-header{align-items:stretch;flex-direction:column}.record-grid{grid-template-columns:1fr;padding:16px}.record-panel{margin:16px}.detail-list div{grid-template-columns:1fr}.edit-page-form{grid-template-columns:1fr;margin:16px}.notes-layout{grid-template-columns:1fr}.patient-row{grid-template-columns:1fr 54px 28px;min-height:132px;padding:16px 14px}.patient-status{grid-column:1 / -1;grid-row:2}.billing-workspace{padding:0 0 40px}.billing-header{min-height:69px}.billing-workspace .search-row,.billing-search-row{padding:8px 16px}.billing-workspace .search-field,.billing-search-field{gap:9px}.billing-status-row{padding:0 16px}.billing-tabs{flex-wrap:wrap}.billing-tabs button{border-bottom:3px solid transparent;height:48px;padding:0 12px}.billing-card{grid-template-columns:1fr 54px 28px;min-height:132px;padding:16px 14px}.billing-card-status{grid-column:1 / -1;grid-row:2}.billing-detail-header{align-items:stretch}.billing-detail-actions{align-items:stretch;flex-direction:column;margin-left:0}.billing-detail-grid{grid-template-columns:1fr;padding:16px}.billing-detail-notes{grid-column:auto}}
