@font-face{font-family:Manrope;src:url('/brand/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;color:#232956;background:#f2f4f5;--ink:#232956;--muted:#6c7488;--line:#dce1e6;--aqua:#3db5b4;--paper:#fff;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;min-width:300px}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #278d93;outline-offset:4px}button{color:inherit}[hidden]{display:none!important}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Access */
#access-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:45px 24px;background:#fff;border-top:4px solid var(--ink)}
.brand{display:block;flex-shrink:0}.brand-art{display:block;width:240px;height:100px;position:relative;overflow:hidden}.brand-art img{position:absolute;width:280px;height:280px;max-width:none;left:-22px;top:-79px}.auth{width:100%;max-width:390px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:30px}.tabs button{flex:1;border:0;border-bottom:2px solid transparent;padding:14px 10px;margin-bottom:-1px;background:transparent;color:var(--muted);font-size:14px;transition:color .2s,border-color .2s}.tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--aqua);font-weight:700}label{display:block;font-size:12px;font-weight:650;margin:22px 0 9px}input,select{width:100%;min-width:0;height:48px;padding:12px 14px;color:var(--ink);border:1px solid #cfd6df;border-radius:6px;background:#fff;font-size:14px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#7c8497}input:focus,select:focus{border-color:#2c969c;box-shadow:0 0 0 3px #3db5b413}input[readonly]{background:#f3f5f7;color:#737c90}.password-field{position:relative}.password-field input{padding-right:83px}.reveal{position:absolute;right:7px;top:5px;height:38px;border:0;background:none;padding:0 8px;color:#59667e;font-size:11px;min-width:58px}.submit,.portal-button{min-height:44px;border:1px solid var(--ink);border-radius:6px;padding:12px 20px;background:var(--ink);color:#fff;font-size:12px;font-weight:650;transition:background .2s,box-shadow .2s,transform .2s}.submit:hover,.portal-button:hover{background:#343d74;box-shadow:0 3px 10px #23295616}.submit:active,.portal-button:active{transform:translateY(1px)}.submit{display:flex;align-items:center;justify-content:center;width:100%;margin-top:26px}.remember-option{display:flex;align-items:center;gap:11px;min-height:44px;margin-top:16px;cursor:pointer;font-weight:500;font-size:12px}.remember-option input{width:18px;height:18px;min-width:18px;accent-color:var(--ink);margin:0;padding:0;box-shadow:none}.remember-option small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.password-strength{margin-top:12px}.strength-track{display:flex;gap:5px}.strength-track span{height:3px;flex:1;background:#e1e6eb;border-radius:2px}.strength-track span.filled{background:var(--strength-color)}.strength-track[data-score="1"]{--strength-color:#b65a48}.strength-track[data-score="2"]{--strength-color:#a18430}.strength-track[data-score="3"]{--strength-color:#278d91}.strength-track[data-score="4"]{--strength-color:#232956}#password-strength-label{font-size:10px;color:var(--muted);margin:8px 0 0}#feedback{font-size:12px;line-height:1.7;border-left:3px solid var(--aqua);padding:12px 15px;background:#edf7f6;margin-bottom:20px}#feedback.error{background:#fff3ef;border-color:#b4614c;color:#9c493a}.section-label{font-size:10px;color:var(--muted);letter-spacing:1px}.account h2{font-size:27px;font-weight:600;letter-spacing:-1px;overflow-wrap:anywhere}.intro,#account-note{font-size:13px;line-height:1.8;color:var(--muted)}.account-details{display:grid;gap:9px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.account-details span{font-size:10px;color:var(--muted)}.account-details strong{font-weight:600;overflow-wrap:anywhere;margin-bottom:8px}.session-loading{min-height:100svh;display:flex;align-items:center;justify-content:center;gap:12px;background:white;color:var(--muted);font-size:12px}.session-spinner{width:19px;height:19px;border:2px solid #e2e6ed;border-top-color:var(--aqua);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Studio navigation */
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:226px;z-index:40;display:flex;flex-direction:column;background:#f9fafb;border-right:1px solid var(--line);padding:37px 22px}.portal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:0 1px 49px;font-size:22px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.portal-brand img{width:33px;height:37px;object-fit:contain}.portal-nav{display:grid;gap:5px}.portal-nav button{position:relative;display:block;min-height:49px;width:100%;padding:14px 14px;border:0;border-radius:4px;text-align:left;color:#626b80;background:transparent;font-size:13px;font-weight:500;transition:background .2s,color .2s,transform .2s}.portal-nav button:hover{background:#e9edf1;color:var(--ink);transform:translateX(2px)}.portal-nav button[aria-current=page]{background:var(--ink);color:#fff;box-shadow:0 4px 9px #2329560d}.portal-nav button[aria-current=page]:after{content:'';position:absolute;left:0;top:13px;bottom:13px;width:3px;background:var(--aqua)}.portal-workspace{margin-left:226px;min-height:100svh;border-top:3px solid var(--ink)}.portal-topbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(28px,5vw,84px);background:#f2f4f5}.portal-location{min-width:0}#portal-menu{display:none;padding:10px 0;min-height:44px;background:none;border:0;font-size:12px;font-weight:700}.portal-content{max-width:1460px;margin:0 auto;padding:20px clamp(28px,5vw,84px) 70px}.portal-content>[data-page]{position:relative;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px;padding-bottom:28px;border-bottom:1px solid var(--line)}.portal-content h1{font-size:clamp(30px,3vw,43px);font-weight:550;letter-spacing:-1.8px;line-height:1.2;margin:0}.portal-content h1:focus{outline:none}.portal-content h2{font-size:17px;font-weight:650;letter-spacing:-.4px;margin:0}.portal-content p{line-height:1.7}.portal-error,#portal-global-error,#account-error{font-size:12px;color:#9e483d}.portal-success{font-size:12px;color:#247f7e}.portal-error:empty,.portal-success:empty,#portal-global-error:empty{display:none}.portal-button.secondary,.portal-button.subtle{background:transparent;border-color:#ced5de;color:#4b5872}.portal-button.secondary:hover,.portal-button.subtle:hover{background:#e8edf1;box-shadow:none}.portal-button.subtle{border-color:transparent}.text-button{padding:11px 0;border:0;background:none;text-align:left;font-size:12px;font-weight:650;color:var(--ink);border-bottom:1px solid var(--aqua);transition:color .2s}.text-button:hover{color:#217d83}
/* Overview: a working index rather than promotional panels. */
.overview-heading{align-items:flex-end}.calendar-stamp{display:flex;align-items:center;gap:13px;max-width:220px}.calendar-stamp>span:first-child{font-size:53px;font-weight:350;letter-spacing:-3px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.calendar-stamp>span:last-child{font-size:10px;line-height:1.8;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;max-width:115px}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(30px,5vw,80px);align-items:start}.workspace-index{border-top:2px solid var(--ink)}.index-row{width:100%;display:flex;gap:21px;align-items:center;text-align:left;min-height:123px;background:transparent;border:0;border-bottom:1px solid #ccd4dd;padding:25px 4px;transition:padding .3s var(--ease),background .3s}.index-row:hover{padding-left:18px;background:#e8eeee}.index-name{font-size:clamp(21px,2.3vw,32px);letter-spacing:-1px;font-weight:450}.availability-label{margin-left:auto;font-size:10px;color:#69758a;background:#e5e9ed;padding:5px 8px;border-radius:3px;white-space:nowrap}.team-summary{border-left:1px solid #cad4dc;padding-left:26px;padding-top:5px}.team-summary h2{margin-bottom:30px}.team-stats{display:flex;justify-content:space-between;gap:22px}.team-stats strong{display:block;font-size:39px;letter-spacing:-1.7px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.team-stats span{display:block;font-size:10px;color:var(--muted);margin-top:8px}.team-summary p{font-size:11px;color:var(--muted);margin:26px 0 12px}.empty-register{min-height:330px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:26px 0}.register-label{display:block;font-size:11px;font-weight:650;color:#5c6980}.empty-register p{font-size:13px;color:var(--muted);margin-top:70px}
/* Forms and account management */
.portal-card{padding:32px;background:#fff;border:1px solid #d7dfe5;border-radius:5px}.personal-card{width:100%;max-width:800px;margin-inline:auto;border-top:3px solid var(--aqua);padding:36px 40px}.portal-content .personal-title{font-size:25px;font-weight:550;letter-spacing:-.8px;line-height:1.3;padding-bottom:24px;margin:0 0 27px;border-bottom:1px solid var(--line)}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.personal-grid>div{margin-bottom:16px}.personal-card label{margin-top:7px}.personal-card input{font-size:14px}.profile-role{padding:10px 0 18px;font-size:11px;color:var(--muted)}.profile-role strong{display:block;font-size:13px;color:var(--ink);font-weight:550;margin-top:8px}.profile-hint{font-size:11px;color:var(--muted);margin:13px 0 0;line-height:1.8}.personal-card .portal-button{margin-top:18px}.personal-feedback{font-size:12px;color:#247f7e}.personal-feedback:empty{display:none}.personal-feedback.is-error{color:#9e483d}.security-card{max-width:540px}.security-card label{margin-top:22px}.security-card form>label:first-child{margin-top:0}#team-search{max-width:350px;margin:0 0 22px;height:44px;font-size:12px}.team-list{border-top:1px solid #d9e0e6}.team-row{display:grid;grid-template-columns:minmax(160px,1fr) 100px 145px auto;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #e4e9ed}.team-person{min-width:0}.team-person strong{display:block;font-size:12px;font-weight:700}.team-person span{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin-top:7px}.status-pill{font-size:10px;justify-self:start;white-space:nowrap;color:#687288;padding:5px 8px;background:#edf0f4;border-radius:3px}.status-pill.active{color:#256e6e;background:#e8f5f2}.status-pill.pending{color:#86622c;background:#f9f1df}.role-select{height:42px;padding:8px;font-size:11px;background:#fafbfc}.team-actions{display:flex;gap:6px}.team-actions .portal-button{font-size:10px;padding:10px 12px;min-height:40px}.self-note{font-size:11px;color:var(--muted)}.empty-description{font-size:12px;color:var(--muted);padding:15px 0}
/* Personal dropdown */
.user-menu-wrap{position:relative;z-index:45}.user-menu-trigger{display:flex;align-items:center;gap:11px;min-height:48px;padding:5px 0 5px 9px;border:0;border-radius:5px;background:transparent;text-align:left;color:var(--ink);transition:background .2s}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:#e6ebef}.user-avatar{display:grid;place-items:center;width:35px;height:35px;border:1px solid #c8d8df;border-radius:50%;font-size:10px;color:#247f85;background:#edf5f5;flex-shrink:0;font-weight:700}.user-identity{display:block;padding-right:10px}.user-identity strong{display:block;font-size:11px;font-weight:650}.user-identity small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.user-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:265px;max-width:calc(100vw - 36px);padding:10px;background:#fff;border:1px solid #d8e0e7;border-radius:7px;box-shadow:0 15px 40px #23295614;transform-origin:top right;animation:menu-in .22s var(--ease) both}.dropdown-heading{padding:12px 12px 19px}.dropdown-heading strong{display:block;font-size:11px;font-weight:650}.dropdown-heading>span{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-top:7px}.user-dropdown button{display:flex;width:100%;align-items:center;min-height:43px;padding:11px 12px;border:0;background:transparent;border-radius:4px;text-align:left;font-size:12px;transition:background .18s,padding .18s}.user-dropdown button:hover{background:#edf4f5;padding-left:16px}.dropdown-divider{height:1px;background:var(--line);margin:8px 9px}.user-dropdown .dropdown-logout{color:#9e483d}.sidebar-shade{display:none}
@keyframes menu-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1500px){.portal-content{padding-top:35px}.index-row{min-height:143px}.overview-layout{grid-template-columns:minmax(0,1fr) 275px}.team-summary{padding-left:35px}}
@media(max-width:1200px){.portal-sidebar{width:198px;padding:32px 16px}.portal-brand{font-size:19px;gap:7px}.portal-brand img{width:28px;height:33px}.portal-workspace{margin-left:198px}.portal-topbar{padding-inline:30px}.portal-content{padding:18px 30px 50px}.team-row{grid-template-columns:1fr 100px 140px}.team-actions{grid-column:1/-1;justify-content:flex-end}.overview-layout{gap:30px;grid-template-columns:minmax(0,1fr) 205px}.team-summary{padding-left:20px}.index-row{gap:15px}}
@media(max-width:950px){.overview-layout{grid-template-columns:1fr}.team-summary{border-left:0;border-top:1px solid var(--line);padding:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.team-summary h2{margin:0}.team-stats{grid-column:2;grid-row:1/4;justify-content:flex-start;gap:45px}.team-summary p{margin:0}.team-summary .text-button{justify-self:start}.overview-heading{margin-bottom:30px}.calendar-stamp{gap:8px}.calendar-stamp>span:first-child{font-size:42px}.page-heading{margin-bottom:30px}.personal-card{padding:27px}.personal-grid{grid-template-columns:1fr;gap:0}.personal-grid>div{margin-bottom:16px}}
@media(max-width:720px){.portal-sidebar{width:250px;padding:35px 23px;transform:translateX(-105%);transition:transform .34s var(--ease);box-shadow:12px 0 40px #2329561b}.portal-sidebar.is-open{transform:translateX(0)}.portal-brand{font-size:23px;padding-bottom:40px}.portal-brand img{width:34px;height:39px}.portal-nav button{font-size:14px;min-height:51px}.portal-workspace{margin-left:0}.portal-topbar{position:sticky;top:0;height:73px;padding:0 22px;background:#f2f4f5eb;backdrop-filter:blur(12px);z-index:25;border-bottom:1px solid #dce1e677}.portal-content{padding:28px 22px 45px}#portal-menu{display:block}.user-menu-trigger{gap:8px;min-height:44px}.user-identity strong{font-size:10px}.user-identity small{font-size:8px}.user-avatar{width:32px;height:32px}.page-heading{gap:15px;padding-bottom:24px;margin-bottom:28px}.portal-content h1{font-size:29px;letter-spacing:-1.3px}.calendar-stamp{gap:8px;max-width:145px}.calendar-stamp>span:first-child{font-size:37px;letter-spacing:-2px}.calendar-stamp>span:last-child{font-size:8px;max-width:85px}.index-row{min-height:105px;gap:13px}.index-name{font-size:25px}.availability-label{font-size:8px;padding:4px 6px}.team-summary{grid-template-columns:1fr}.team-stats{grid-column:1;grid-row:auto;margin:12px 0;gap:50px}.team-summary h2{font-size:17px}.portal-card{padding:22px}.personal-card{padding:25px 22px}.portal-content .personal-title{font-size:22px}.personal-card input,input{font-size:16px}.personal-card .portal-button{width:100%}.team-row{grid-template-columns:1fr auto;gap:16px}.team-row .role-select{grid-column:1/-1;font-size:14px}.team-person strong{font-size:13px}.team-person span{font-size:11px}.team-actions{flex-wrap:wrap;justify-content:flex-start}.team-actions .portal-button{font-size:12px;padding:11px 14px;min-height:44px}.portal-button.secondary{padding:10px 13px}.user-dropdown{top:calc(100% + 12px)}.user-dropdown button{min-height:47px;font-size:13px}.sidebar-shade{display:block;position:fixed;inset:0;z-index:35;border:0;background:#17203838;backdrop-filter:blur(2px);animation:shade-in .2s ease}.sidebar-open{overflow:hidden}.empty-register{min-height:280px}.auth{max-width:390px}.reveal{font-size:11px}.remember-option{font-size:13px}.remember-option small{font-size:10px}#access-page{padding:30px 24px;gap:25px}}
@media(max-width:380px){.portal-content{padding-inline:17px}.portal-topbar{padding-inline:17px}.user-identity small{display:none}.calendar-stamp>span:first-child{display:none}.calendar-stamp{max-width:95px}.calendar-stamp>span:last-child{font-size:8px}.index-name{font-size:23px}}
@keyframes shade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Patient registry and record. */
.patient-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px}.patient-toolbar input{max-width:390px;height:45px;font-size:13px}.patient-filters{display:flex;gap:24px}.patient-filters button{background:none;border:0;border-bottom:2px solid transparent;padding:13px 0;font-size:12px;color:var(--muted);min-height:44px}.patient-filters [aria-pressed=true]{color:var(--ink);border-bottom-color:var(--aqua);font-weight:650}.registry-caption{display:flex;justify-content:space-between;align-items:center;margin:22px 0 14px;gap:18px;font-size:11px;color:var(--muted)}.registry-caption .text-button{font-size:11px;border:0;font-weight:500}.patient-table-header,.patient-row{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(95px,.7fr) minmax(110px,.9fr) minmax(140px,1.2fr);gap:18px;align-items:center}.patient-table-header{font-size:10px;font-weight:650;padding:15px 14px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);color:#647188}.patient-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:20px 14px;min-height:78px;font-size:12px;transition:background .2s}.patient-row:hover{background:#e8eeee}.patient-list-name{font-weight:650}.patient-list-name small{display:block;font-size:9px;font-weight:400;letter-spacing:.4px;color:var(--muted);margin-top:6px}.patient-list-email{overflow-wrap:anywhere;min-width:0;font-size:11px;color:var(--muted)}.patient-list-birth,.patient-list-phone{font-size:11px;color:#5b667e}.patient-empty{font-size:13px;color:var(--muted);padding:35px 14px;border-bottom:1px solid var(--line);margin:0}.patient-pagination{display:flex;gap:20px;align-items:center;justify-content:flex-end;margin-top:25px}.patient-pagination>span{font-size:11px;color:var(--muted)}.patient-status{font-size:13px;color:var(--muted);margin:20px 0}.patient-back{font-size:11px;border:0;margin-bottom:24px}.patient-heading{margin-bottom:25px}.patient-heading h1{overflow-wrap:anywhere}.patient-heading p{font-size:12px;color:var(--muted);margin:12px 0 0}.patient-record-tabs{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);margin-bottom:32px;overflow-x:auto}.patient-record-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:13px 0;font-size:12px;white-space:nowrap;min-height:44px}.patient-record-tabs [aria-current=page]{border-bottom-color:var(--aqua);font-weight:650}.patient-record-tabs button:disabled{color:#7d8799;opacity:.6;cursor:default}.patient-form{border-top:2px solid var(--ink);background:#fff;padding:32px 38px;border-bottom:1px solid var(--line)}.patient-form fieldset{min-width:0;border:0;border-bottom:1px solid var(--line);padding:0 0 25px;margin:0 0 30px}.patient-form legend{font-size:14px;font-weight:650;padding:0;margin:0 0 23px}.patient-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px}.patient-fields label{margin-top:0}.patient-wide{grid-column:1/-1}.patient-postal-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.patient-form-actions{display:flex;gap:12px;align-items:center}.patient-detail-group{border-bottom:1px solid var(--line);padding:28px 0}.patient-detail-group:first-child{padding-top:0}.patient-detail-group h2{font-size:14px;margin:0 0 24px}.patient-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px;margin:0}.patient-detail-fields>div{min-width:0}.patient-detail-fields dt{font-size:10px;color:var(--muted);margin-bottom:8px}.patient-detail-fields dd{font-size:13px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.patient-record-actions{display:flex;gap:12px;align-items:center;margin:28px 0 0;flex-wrap:wrap}.patient-update-note{font-size:10px;color:var(--muted);margin-top:20px}.patient-update-note:empty{display:none}#patient-tax-code,#patient-province{text-transform:uppercase}
@media(max-width:1100px){.patient-table-header,.patient-row{grid-template-columns:1.2fr .8fr 1fr;gap:15px}.patient-table-header>span:last-child,.patient-list-email{display:none}.patient-form{padding:27px}.patient-fields{gap:22px}}
@media(max-width:720px){.patient-toolbar{flex-direction:column;align-items:stretch;gap:12px}.patient-toolbar input{max-width:none;font-size:16px}.patient-filters{gap:25px}.patient-filters button{font-size:13px}.registry-caption{margin-top:15px}.patient-table-header{display:none}#patient-list{border-top:2px solid var(--ink)}.patient-row{grid-template-columns:1fr 1fr;gap:11px;padding:20px 1px}.patient-list-name{grid-column:1/-1;font-size:14px}.patient-list-name small{font-size:9px;margin-top:8px}.patient-list-birth,.patient-list-phone{font-size:12px}.patient-list-phone{text-align:right}.patient-list-email{display:block;grid-column:1/-1;font-size:12px}.patient-fields{grid-template-columns:1fr}.patient-wide{grid-column:auto}.patient-form{padding:25px 20px}.patient-fields input{font-size:16px}.patient-detail-fields{gap:23px 20px}.patient-detail-fields dd{font-size:13px}.patient-record-tabs{gap:23px;margin-bottom:25px}.patient-form-actions{flex-wrap:wrap}.patient-form-actions .portal-button{flex:1}.patient-pagination{justify-content:space-between;gap:12px}.patient-pagination .portal-button{font-size:11px;padding:11px 13px}.patient-heading{flex-wrap:wrap}.patient-back{margin-bottom:22px}.patient-record-actions .portal-button{flex:1}.patient-empty{padding:30px 0}.patient-status{line-height:1.8}}
/* Compact patient data entry. */
.patient-form{max-width:1040px;margin-inline:auto;padding:20px 24px;border-top-width:1px}
.patient-form fieldset{border:0;padding:0;margin:0 0 18px}
.patient-form legend{font-size:16px;margin:0 0 17px;letter-spacing:-.3px}
.patient-form legend:focus{outline:none}
.patient-fields{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 16px}
.patient-fields>div{grid-column:span 6;min-width:0}
.patient-fields>.patient-field-first_name,.patient-fields>.patient-field-last_name{grid-column:span 3}
.patient-fields>.patient-field-birth_date{grid-column:span 2}
.patient-fields>.patient-field-birth_place{grid-column:span 4}
.patient-fields>.patient-field-tax_code{grid-column:span 4}
.patient-fields>.patient-field-phone{grid-column:span 3}
.patient-fields>.patient-field-email{grid-column:span 5}
.patient-fields>.patient-field-address{grid-column:span 6}
.patient-fields>.patient-field-city{grid-column:span 3}
.patient-fields>.patient-field-postal_code{grid-column:span 2}
.patient-fields>.patient-field-province{grid-column:span 1}
.patient-fields label{margin:0 0 5px;font-size:11px;line-height:1.4}
.patient-fields input{height:36px;padding:7px 10px;font-size:13px;border-radius:4px}
.patient-form-actions{gap:9px}.patient-form-actions .portal-button{min-height:36px;padding:9px 15px;font-size:11px}
.patient-detail-group{padding:0;border:0}.patient-detail-group h2{margin-bottom:20px}.patient-detail-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}
.patient-record-actions{margin-top:22px}
@media(max-width:1200px){.patient-form{padding:19px 20px}.patient-fields{gap:12px}.patient-fields>.patient-field-first_name,.patient-fields>.patient-field-last_name{grid-column:span 6}.patient-fields>.patient-field-phone{grid-column:span 4}.patient-fields>.patient-field-email{grid-column:span 8}.patient-fields>.patient-field-birth_date,.patient-fields>.patient-field-birth_place,.patient-fields>.patient-field-tax_code{grid-column:span 4}.patient-fields>.patient-field-address{grid-column:span 12}.patient-fields>.patient-field-city{grid-column:span 6}.patient-fields>.patient-field-postal_code,.patient-fields>.patient-field-province{grid-column:span 3}}
@media(max-width:720px){.patient-form{padding:18px 16px}.patient-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px}.patient-fields>div,.patient-fields>.patient-field-first_name,.patient-fields>.patient-field-last_name,.patient-fields>.patient-field-birth_date,.patient-fields>.patient-field-birth_place{grid-column:span 2}.patient-fields>.patient-field-tax_code,.patient-fields>.patient-field-email,.patient-fields>.patient-field-address,.patient-fields>.patient-field-phone{grid-column:span 4}.patient-fields>.patient-field-city{grid-column:span 2}.patient-fields>.patient-field-postal_code,.patient-fields>.patient-field-province{grid-column:span 1}.patient-fields input{height:40px;padding:8px;font-size:16px}.patient-fields label{font-size:10px}.patient-form legend{margin-bottom:16px}.patient-form-actions .portal-button{min-height:42px;font-size:12px;padding:10px 13px}.patient-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:380px){.patient-fields>.patient-field-birth_date,.patient-fields>.patient-field-birth_place{grid-column:span 4}.patient-fields>.patient-field-city{grid-column:span 4}.patient-fields>.patient-field-postal_code,.patient-fields>.patient-field-province{grid-column:span 2}}
