:root{--ink:#14231f;--ink-soft:#5d6d67;--forest:#123c32;--forest-deep:#0d2d26;--green:#16865f;--green-light:#e5f3ec;--canvas:#f4f6f2;--paper:#fff;--line:#dce4df;--line-strong:#c9d5cf;--warm:#f0e9dd;--danger:#a83d3d;--radius-small:10px;--radius:16px;--radius-large:28px;--shadow:0 18px 55px #132b2314}.portal-session-error{text-align:center;gap:14px}.portal-session-error strong{font-size:1.2rem}.provider-callout-error{background:#75483b}.form-notice{color:var(--green);margin:0;font-size:.92rem;font-weight:700}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:var(--canvas);min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:not(:disabled),a[href]{cursor:pointer}:focus-visible{outline-offset:3px;outline:3px solid #16865f47}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.035em;line-height:1.08}.brand{align-items:center;gap:11px;min-width:fit-content;display:inline-flex}.brand img{border-radius:10px;display:block}.brand-copy{line-height:1.08;display:grid}.brand-copy strong{letter-spacing:-.02em;font-size:1rem}.brand-copy span{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;margin-top:4px;font-size:.72rem;font-weight:700}.button{border-radius:var(--radius-small);border:1px solid #0000;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:720;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button-small{min-height:42px;padding-inline:16px;font-size:.91rem}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#0f7350}.button-dark{background:var(--forest);color:#fff}.button-dark:hover{background:var(--forest-deep)}.button-light{color:var(--forest);background:#fff}.button-light:hover{background:#f3f8f5}.button-quiet{border-color:var(--line-strong);background:var(--paper);color:var(--ink)}.button-quiet:hover{border-color:var(--forest)}.button-text{color:var(--green);background:0 0}.button-full{width:100%}.text-link{color:var(--forest);text-underline-offset:4px;font-weight:720}.text-link:hover,.auth-footer a:hover,.sidebar-support a:hover{text-decoration:underline}.landing-page{background:var(--canvas);min-height:100vh}.public-header{justify-content:space-between;align-items:center;max-width:1260px;min-height:88px;margin:0 auto;padding:18px 42px;display:flex}.public-header nav{align-items:center;gap:24px;display:flex}.hero{border-radius:var(--radius-large);background:var(--paper);max-width:1260px;min-height:650px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);margin:0 auto;display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;padding:clamp(48px,7vw,100px);display:flex}.section-label{color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-size:.78rem;font-weight:800}.hero h1{max-width:770px;margin-bottom:28px;font-size:clamp(3.2rem,5.8vw,5.8rem);font-weight:760}.hero-description{max-width:660px;color:var(--ink-soft);margin-bottom:36px;font-size:clamp(1.05rem,1.8vw,1.28rem)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-summary{background:var(--forest);color:#fff;flex-direction:column;justify-content:center;padding:clamp(38px,5vw,70px);display:flex}.summary-kicker{color:#b8d7cb;letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px;font-size:.82rem;font-weight:800}.summary-row{border-top:1px solid #ffffff2b;gap:4px;padding:22px 0;display:grid}.summary-row strong{font-size:1.12rem}.summary-row span,.summary-note{color:#c5d8d1}.summary-note{margin-top:28px;font-size:.92rem}.trust-strip{grid-template-columns:repeat(3,1fr);gap:48px;max-width:1180px;margin:0 auto;padding:72px 42px;display:grid}.trust-strip p{color:var(--ink-soft);margin-bottom:0}.trust-strip strong{color:var(--ink);margin-bottom:7px;display:block}.public-footer{border-top:1px solid var(--line);max-width:1260px;color:var(--ink-soft);justify-content:space-between;margin:0 auto;padding:28px 42px 40px;font-size:.9rem;display:flex}.public-footer div{gap:24px;display:flex}.auth-page{flex-direction:column;align-items:center;min-height:100vh;padding:28px 28px 40px;display:flex}.auth-header{justify-content:space-between;align-items:center;width:min(100%,1120px);display:flex}.auth-panel{width:min(100%,520px);margin:auto 0;padding:54px 0 38px}.auth-intro{margin-bottom:34px}.auth-intro h1{margin-bottom:15px;font-size:clamp(2.25rem,5vw,3.35rem)}.auth-intro p,.auth-footer,.legal-copy,.field-help{color:var(--ink-soft)}.auth-form{gap:16px;display:grid}.auth-form label{margin-bottom:-8px;font-size:.9rem;font-weight:730}.auth-form input,.auth-form select{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:#fff;width:100%;min-height:52px;padding:0 15px;transition:border-color .16s,box-shadow .16s}.auth-form input:focus,.auth-form select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #16865f1a}.form-error{color:var(--danger);margin:-2px 0 0;font-size:.88rem;font-weight:650}.code-input{letter-spacing:.42em;text-align:center;font-size:1.35rem;font-weight:750}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-grid>div{gap:8px;display:grid}.auth-footer{text-align:center;margin-top:26px}.auth-footer p{margin:0}.auth-footer a{color:var(--green);font-weight:730}.legal-copy{text-align:center;max-width:560px;margin:14px auto 0;font-size:.76rem}.patient-shell{min-height:100vh}.portal-loading{min-height:100vh;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.loading-line{background:var(--line);border-radius:999px;width:170px;height:3px;overflow:hidden}.loading-line:after{border-radius:inherit;background:var(--green);content:"";width:45%;height:100%;animation:1.1s ease-in-out infinite alternate patient-loading;display:block}@keyframes patient-loading{0%{transform:translate(0)}to{transform:translate(120%)}}.profile-button{background:var(--warm);width:43px;height:39px;color:var(--forest);border:0;border-radius:12px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.patient-account-menu{position:relative}.patient-account-popover{z-index:40;border:1px solid var(--line);background:var(--paper);width:220px;box-shadow:var(--shadow);border-radius:12px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.patient-account-popover strong{border-bottom:1px solid var(--line);padding:10px 11px 13px;font-size:.9rem}.patient-account-popover a,.patient-account-popover button{text-align:left;background:0 0;border:0;border-radius:8px;min-height:42px;padding:0 11px;font-size:.86rem;font-weight:680}.patient-account-popover a{align-items:center;display:flex}.patient-account-popover a:hover,.patient-account-popover button:hover{background:#f1f5f2}.patient-frame{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.patient-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.patient-sidebar>.brand{margin:0 10px 34px}.patient-sidebar nav{gap:5px;display:grid}.patient-nav-link{color:var(--ink-soft);border-radius:9px;padding:11px 13px;font-weight:680}.patient-nav-link:hover{color:var(--ink);background:#f1f5f2}.patient-nav-link.active{background:var(--green-light);color:var(--forest)}.sidebar-support{color:var(--ink-soft);margin:18px 12px 0;font-size:.82rem}.patient-sidebar-footer{margin-top:auto}.patient-top-account{z-index:35;position:fixed;top:18px;right:28px}.top-account-button{text-align:right;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #d1ddd7db;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:4px 5px 4px 14px;display:flex;box-shadow:0 8px 26px #0f2d2214}.top-account-button:hover{background:#fff;border-color:#b8cfc3}.top-account-button>span:first-child{min-width:0;display:grid}.top-account-button strong,.top-account-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-account-button strong{max-width:190px;font-size:.86rem}.top-account-button small{color:var(--ink-soft);font-size:.72rem}.sidebar-support a{color:var(--forest);font-weight:730;display:block}.patient-main{min-width:0;position:relative}.portal-page{width:min(100%,1160px);margin:0 auto;padding:54px clamp(24px,5vw,64px) 80px}.narrow-page{max-width:840px}.portal-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px;display:flex}.portal-heading h1{margin-bottom:10px;font-size:clamp(2rem,4vw,3rem)}.portal-heading p:not(.section-label){max-width:660px;color:var(--ink-soft);margin-bottom:0}.provider-callout{border-radius:var(--radius);background:var(--forest);color:#fff;justify-content:space-between;align-items:center;gap:30px;margin-bottom:26px;padding:clamp(28px,5vw,46px);display:flex}.provider-callout h2{margin-bottom:10px;font-size:clamp(1.65rem,3vw,2.15rem)}.provider-callout p:not(.section-label){color:#c8d9d3;max-width:680px;margin-bottom:0}.provider-callout .section-label{color:#8fceb6}.provider-callout.pending-callout{background:#61431d}.provider-callout-loading{color:#c8d9d3;flex-direction:column;justify-content:center;align-items:center;min-height:180px}.provider-callout-loading .loading-line{background:#fff3}.portal-section{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:24px;padding:26px}.data-section{padding:0;overflow:hidden}.data-section .section-heading{margin:0;padding:24px 26px}.data-section>.empty-state{margin:0 26px;padding-bottom:26px}.data-heading{align-items:center}.segmented-control{background:#eef3f1;border-radius:11px;gap:4px;padding:4px;display:inline-flex}.segmented-control button{min-height:38px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:.86rem;font-weight:740}.segmented-control button.active{color:var(--forest);background:#fff;box-shadow:0 2px 8px #10302714}.patient-data-loading,.data-error{border-top:1px solid var(--line);min-height:180px;color:var(--ink-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:30px;display:flex}.patient-data-loading.compact-loader{min-height:112px}.patient-data-loading .loading-line{width:min(100%,280px)}.data-error{background:#fff9f8}.data-error strong{color:var(--danger)}.data-error p{max-width:520px;margin:-5px 0 0}.home-data-error{border-radius:var(--radius);border:1px solid #f0d2cf;min-height:0;margin-bottom:24px}.provider-warning{color:#674816;background:#fff9eb;border:1px solid #ebd6aa;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:24px;padding:16px 18px;font-size:.88rem;display:flex}.patient-data-list{border-top:1px solid var(--line)}.patient-pagination{border-top:1px solid var(--line);min-height:68px;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:20px;padding:14px 26px;font-size:.8rem;display:flex}.patient-pagination>div{gap:8px;display:flex}.patient-pagination button{border:1px solid var(--line-strong);min-height:38px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:0 13px;font-weight:730}.patient-pagination button:disabled{opacity:.45;cursor:not-allowed}.patient-data-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:96px;color:inherit;font:inherit;text-align:left;background:#fff;align-items:center;gap:20px;padding:18px 26px;display:flex}button.patient-data-row{cursor:pointer}button.patient-data-row:hover,button.patient-data-row:focus-visible{background:#f7faf8}.patient-data-row:last-child{border-bottom:0}.date-block{background:var(--green-light);width:58px;min-width:58px;color:var(--forest);border-radius:11px;place-items:center;padding:9px 5px;display:grid}.date-block strong{font-size:1.28rem;line-height:1}.date-block span{text-transform:uppercase;margin-top:4px;font-size:.72rem;font-weight:760}.data-row-main{flex:1;min-width:0}.data-row-main>strong,.home-summary-item>strong,.home-highlight strong{color:var(--ink);font-size:1rem;display:block}.data-row-main p,.data-row-main small,.home-summary-item p,.home-highlight p{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.84rem;display:block;overflow:hidden}.row-kicker{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:790;display:block}.row-action{color:var(--green);font-size:.84rem;font-weight:780}.record-count{color:var(--ink-soft);font-size:.84rem;font-weight:720}.compact-action{justify-content:space-between;align-items:center;gap:24px;display:flex}.compact-action p{color:var(--ink-soft);margin:5px 0 0;font-size:.88rem}.patient-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.patient-stat-grid.home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-stat-grid article{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:20px}.patient-stat-grid span,.patient-stat-grid small{color:var(--ink-soft);font-size:.78rem;display:block}.patient-stat-grid strong{color:var(--forest);text-overflow:ellipsis;margin:9px 0 4px;font-size:clamp(1.35rem,3vw,2rem);display:block;overflow:hidden}.home-highlight,.home-summary-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:112px;padding-top:24px;display:flex}.home-summary-item{display:block}.invoice-amount{text-align:right;min-width:140px}.invoice-amount strong,.invoice-amount span{display:block}.invoice-amount span{color:var(--ink-soft);margin-top:4px;font-size:.75rem}.patient-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#091e1885;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.patient-modal{background:#fff;border-radius:18px;width:min(100%,680px);max-height:min(86vh,820px);padding:30px;overflow:auto;box-shadow:0 30px 90px #0519123d}.patient-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex}.patient-modal-header h2{margin-bottom:6px}.patient-modal-header p{color:var(--ink-soft);margin:0}.modal-close{border:1px solid var(--line);min-height:40px;color:var(--forest);font:inherit;cursor:pointer;background:#fff;border-radius:9px;padding:0 14px;font-size:.82rem;font-weight:740}.booking-modal{width:min(100%,760px)}.patient-form{gap:18px;padding-top:24px;display:grid}.patient-form label{color:var(--ink);gap:8px;font-size:.86rem;font-weight:720;display:grid}.patient-form label>span{color:var(--ink-soft);font-weight:500}.patient-form input,.patient-form select,.patient-form textarea{border:1px solid var(--line-strong);border-radius:var(--radius-small);width:100%;min-height:50px;color:var(--ink);font:inherit;background:#fff;padding:0 14px}.patient-form textarea{resize:vertical;min-height:96px;padding-block:12px}.patient-form input:focus,.patient-form select:focus,.patient-form textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #16865f1a}.form-grid{grid-template-columns:minmax(0,1.5fr) minmax(150px,.5fr);gap:16px;display:grid}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:20px;display:flex}.record-detail-list,.invoice-totals{margin:8px 0 0}.record-detail-list>div,.invoice-totals>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.4fr) 1fr;gap:22px;padding:15px 0;display:grid}.record-detail-list dt,.invoice-totals dt{color:var(--ink-soft);font-size:.82rem}.record-detail-list dd,.invoice-totals dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:680}.invoice-lines{margin-top:12px}.invoice-lines>div,.payment-history>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:15px 0;display:flex}.invoice-lines span,.invoice-lines small{display:block}.invoice-lines small,.payment-history span{color:var(--ink-soft);margin-top:4px;font-size:.8rem}.invoice-totals dd{text-align:right}.invoice-totals .invoice-balance{color:var(--forest);font-size:1.04rem}.payment-history{margin-top:24px}.payment-history h3{font-size:1rem}.modal-note{color:var(--ink-soft);background:#f1f5f3;border-radius:10px;margin:24px 0 0;padding:14px 16px;font-size:.82rem;line-height:1.55}.form-section{padding:clamp(25px,5vw,42px)}.provider-link-layout{gap:24px;display:grid}.provider-link-loading{border-top:1px solid var(--line);min-height:94px;color:var(--ink-soft);align-items:center;font-size:.9rem;display:flex}.provider-link-list{border-top:1px solid var(--line)}.provider-link-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.provider-link-row:last-child{border-bottom:0;padding-bottom:0}.provider-link-row p{color:var(--ink-soft);margin:4px 0 0;font-size:.86rem}.provider-link-state{align-items:center;gap:10px;display:flex}.status-badge{min-height:30px;color:var(--ink-soft);background:#eef1ef;border-radius:999px;align-items:center;padding:4px 11px;font-size:.76rem;font-weight:760;display:inline-flex}.status-verified{background:var(--green-light);color:var(--forest)}.status-pending_review{color:#7b5013;background:#fff2d8}.status-rejected{color:var(--danger);background:#f9e7e7}.status-revoked,.status-expired{color:var(--ink-soft);background:#eef1ef}.consent-layout{gap:24px;display:grid}.consent-layout .portal-section{margin-bottom:0}.consent-scope-fieldset{border:0;min-width:0;margin:2px 0;padding:0}.consent-scope-fieldset legend{margin-bottom:10px;font-size:.9rem;font-weight:730}.consent-scope-list,.consent-list{gap:10px;display:grid}.consent-scope-row{border:1px solid var(--line);border-radius:11px;align-items:flex-start;gap:12px;padding:13px 14px;display:flex;margin:0!important}.consent-scope-row input{width:18px;min-height:18px;accent-color:var(--green);margin-top:2px;padding:0}.consent-scope-row span{gap:2px;display:grid}.consent-scope-row small{color:var(--ink-soft);font-weight:500}.consent-card{border:1px solid var(--line);border-radius:13px;padding:18px}.consent-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.consent-card-heading p{color:var(--ink-soft);margin:5px 0 0;font-size:.87rem}.consent-scope-tags{flex-wrap:wrap;gap:7px;margin:15px 0;display:flex}.consent-scope-tags span{background:var(--green-light);color:var(--forest);border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:720}.consent-dates{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.consent-dates div{gap:2px;display:grid}.consent-dates dt{color:var(--ink-soft);font-size:.72rem}.consent-dates dd{margin:0;font-size:.84rem;font-weight:680}.consent-card>.button{margin-top:14px}.consent-revoke-modal{width:min(100%,560px)}.consent-revoke-modal .auth-form{margin-top:22px}.consent-modal-actions{justify-content:flex-end;gap:10px;display:flex}.form-success{color:var(--green);margin:0;font-size:.9rem;font-weight:680}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.section-heading h2{margin-bottom:6px;font-size:1.25rem}.section-heading p{color:var(--ink-soft);margin-bottom:0;font-size:.9rem}.portal-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.empty-state{border-top:1px solid var(--line);flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:170px;padding-top:26px;display:flex}.empty-state.compact{min-height:100px}.empty-state p{max-width:520px;color:var(--ink-soft);margin:7px 0 0;font-size:.9rem}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.setting-row:first-child{padding-top:0}.setting-row:last-child{border-bottom:0;padding-bottom:0}.setting-row p{color:var(--ink-soft);margin:4px 0 0;font-size:.9rem}.profile-sections{gap:24px;display:grid}.profile-sections .portal-section{margin-bottom:0}.profile-loading{min-height:260px;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.profile-message{border-radius:10px;margin:0;padding:13px 16px;font-size:.9rem;font-weight:680}.profile-message.error{color:var(--danger);background:#f9e7e7}.profile-message.success{background:var(--green-light);color:var(--forest)}.profile-form{gap:20px;display:grid}.profile-form label{font-size:.88rem;font-weight:730}.profile-form input{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:#fff;width:100%;min-height:50px;padding:0 15px}.profile-form input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #16865f1a}.profile-form .button{justify-self:start}.verified-contact-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.verified-contact-list>div{border:1px solid var(--line);border-radius:12px;gap:4px;padding:16px;display:grid}.verified-contact-list span,.verified-contact-list small,.section-note{color:var(--ink-soft);font-size:.78rem}.verified-contact-list small{color:var(--green);font-weight:750}.section-note{margin:16px 0 0}.preference-list,.session-list{border-top:1px solid var(--line)}.preference-row,.session-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.preference-row:last-child,.session-row:last-child{border-bottom:0}.preference-row span,.session-row>div{gap:3px;display:grid}.preference-row small,.session-row p{color:var(--ink-soft);margin:0;font-size:.8rem}.preference-row input{width:42px;height:24px;accent-color:var(--green)}.install-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.install-row p{color:var(--ink-soft);margin:0}.compact-links{padding-block:8px}.compact-links>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:10px 4px;display:flex}.compact-links>a:last-child{border-bottom:0}.compact-links>a>span:first-child{gap:2px;display:grid}.compact-links small,.compact-links>a>span:last-child{color:var(--ink-soft);font-size:.8rem}.compact-links>a>span:last-child{color:var(--green);font-weight:740}.patient-bottom-nav{display:none}.offline-page{flex-direction:column;justify-content:space-between;width:min(100%,720px);min-height:100vh;margin:auto;padding:40px 28px 70px;display:flex}.offline-page section{margin:auto 0}.offline-page h1,.policy-page h1{max-width:720px;margin-bottom:20px;font-size:clamp(2.6rem,7vw,5rem)}.offline-page p,.policy-page p{max-width:700px;color:var(--ink-soft);margin-bottom:28px;font-size:1.1rem}.policy-page{max-width:980px;margin:0 auto;padding:100px 42px}.policy-page h2{margin-top:50px}@media (max-width:900px){.public-header{padding-inline:24px}.hero{grid-template-columns:1fr;min-height:0;margin:0 16px}.hero-copy{padding:68px 34px}.hero h1{font-size:clamp(2.8rem,11vw,4.5rem)}.hero-summary{padding:48px 34px}.trust-strip{grid-template-columns:1fr;gap:28px;padding:52px 28px}.patient-frame{grid-template-columns:1fr}.patient-sidebar{display:none}.patient-bottom-nav{z-index:30;border-top:1px solid var(--line);min-height:66px;padding:5px max(8px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.patient-bottom-link{min-width:0;color:var(--ink-soft);border-radius:8px;place-items:center;font-size:.72rem;font-weight:730;display:grid}.patient-bottom-link.active{color:var(--green)}.portal-page{padding-top:86px;padding-bottom:100px}.patient-top-account{top:12px;right:14px}.top-account-button{min-height:44px}.top-account-button strong{max-width:150px}.patient-stat-grid.home-stats{grid-template-columns:1fr 1fr}}@media (max-width:660px){.public-header{min-height:74px}.public-header .text-link{display:none}.public-header nav{gap:10px}.hero-copy{padding:52px 24px}.hero-summary{padding:40px 24px}.hero-actions .button{width:100%}.public-footer{flex-direction:column;align-items:flex-start;gap:14px;padding-inline:28px}.auth-page{padding:22px 20px 34px}.auth-header .text-link{font-size:.82rem}.auth-panel{padding-top:65px}.field-grid,.portal-grid,.verified-contact-list{grid-template-columns:1fr}.session-heading,.install-row{flex-direction:column;align-items:flex-start}.install-row .button{width:100%}.patient-frame{min-height:100vh}.portal-page{padding:36px 16px 96px}.portal-heading{margin-bottom:24px}.provider-callout{flex-direction:column;align-items:flex-start;padding:28px 22px}.provider-callout .button{width:100%}.portal-section{padding:21px 18px}.data-section{padding:0}.data-section .section-heading{flex-direction:column;align-items:stretch;padding:20px 18px}.data-section>.empty-state{margin-inline:18px;padding-bottom:20px}.segmented-control{width:100%}.segmented-control button{flex:1}.patient-stat-grid,.patient-stat-grid.home-stats{grid-template-columns:1fr}.patient-data-row{flex-wrap:wrap;align-items:flex-start;gap:14px;padding:18px}.patient-pagination{flex-direction:column;align-items:flex-start;padding:16px 18px}.patient-pagination>div,.patient-pagination button{flex:1}.patient-pagination>div{width:100%}.patient-data-row .status-badge,.patient-data-row .row-action{margin-left:72px}.record-row .data-row-main{flex-basis:calc(100% - 65px)}.record-row .row-action{margin-left:0}.invoice-row .data-row-main{flex-basis:100%}.invoice-amount{text-align:left;flex:1;min-width:0}.invoice-row .status-badge{margin-left:0}.compact-action,.home-highlight{flex-direction:column;align-items:flex-start}.compact-action .button{width:100%}.patient-modal-backdrop{align-items:end;padding:12px}.patient-modal{border-radius:18px 18px 10px 10px;max-height:90vh;padding:22px 18px}.patient-modal-header{gap:14px}.record-detail-list>div,.invoice-totals>div{grid-template-columns:1fr;gap:5px}.invoice-totals dd{text-align:left}.setting-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
