/* Harmony practice portal — selected September 11, 2026. */
:root{--practice-ink:#202c29;--practice-green:#183f36;--practice-muted:#596762;--practice-line:#dce3df;--practice-ground:#f5f7f6;--practice-selected:#e5eeea;--practice-radius:9px}
body{background:var(--practice-ground);color:var(--practice-ink);font-family:'Hanken Grotesk',Hanken,Arial,sans-serif}
::selection{background:#c6dfd2;color:#173c31}input,textarea{caret-color:#205c48}*{scrollbar-width:thin;scrollbar-color:#aebdb5 #f3f6f4}a{text-underline-offset:4px}
h1,h2,h3{font-family:'Hanken Grotesk',Hanken,Arial,sans-serif;font-weight:600;letter-spacing:-.025em}h1{font-size:32px;line-height:1.2}h2{font-size:21px;line-height:1.35}h3{font-size:16px}
button,.button,input,select,textarea{border-radius:6px}button,.button{min-height:42px}button.primary,a.primary{background:var(--practice-green);border-color:var(--practice-green)}:is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #3c8065;outline-offset:3px}
:is(.muted,.caption,small){color:var(--practice-muted)}.eyebrow{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.intro>.eyebrow,.aside-note>.eyebrow,.comm-heading .eyebrow{display:none}
.practice-skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.practice-skip:focus{top:12px}
.practice-rail{position:fixed;inset:0 auto 0 0;width:226px;height:100dvh;display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:29px 16px 20px;background:var(--practice-green);border:0;color:#fff;z-index:30;overflow:auto}
.practice-rail .brand{padding:4px 13px 20px;color:white}.practice-rail .brand span{font:500 31px/1.1 Hanken,Arial,sans-serif;letter-spacing:-1px}.practice-rail .brand small{font-size:10px;letter-spacing:1.2px;color:#d0e1d8;margin-top:8px}
.practice-rail nav{display:flex;flex-direction:column;align-items:stretch;align-self:stretch;gap:5px}.practice-rail nav a{padding:12px 14px;min-height:46px;border-radius:6px;color:#e1eee8;font-size:14px;white-space:normal}.practice-rail nav a:hover{background:#285247}.practice-rail nav a.active{background:#376357;color:white;font-weight:600}.practice-rail nav a.active:after{display:none}
.practice-rail .topright{margin: auto 0 0;padding:20px 13px 0;border-top:1px solid #45685b;display:flex;flex-direction:column;align-items:flex-start;gap:14px;color:#e1eee8}.practice-rail .topright button{color:#e1eee8}.practice-rail .demo{background:none;padding:0;text-transform:none;letter-spacing:0;color:#c4d8cd;font-size:12px}
.workspace-top{margin-left:226px;min-height:72px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--practice-line);font-size:14px}.workspace-top span{font-size:12px;color:var(--practice-muted)}.workspace{margin-left:226px;max-width:none;padding:28px 30px 48px}
.panel{border-color:var(--practice-line);border-radius:var(--practice-radius);padding:24px}.intro{margin-bottom:25px}.intro h1{font-size:32px}.counts{border:0;background:#fff;border-radius:9px;padding:20px 24px;gap:20px}.count{padding-left:20px}.count strong{font:600 28px Hanken,Arial,sans-serif}.count span{font-size:13px;color:var(--practice-muted)}.day-grid{gap:25px}.roster th{font-size:12px;letter-spacing:0;text-transform:none}.roster tbody tr:hover{background:#f4f8f5}.status{border-radius:5px;font-size:12px}.patient-header h1{font-size:30px}.initials{font:600 21px Hanken,sans-serif;background:var(--practice-selected);border:0}.steps{gap:8px;overflow:auto;background:#fff;padding:0 12px;border-radius:8px;border:1px solid var(--practice-line)}.steps button{white-space:nowrap;padding:14px 12px}.steps button.active{background:#edf3ef;border-bottom-color:#235c46}.context{background:#fff;border:1px solid var(--practice-line);border-radius:8px;padding:20px;height:fit-content}.context h3{text-transform:none;letter-spacing:0;font-size:13px}.badge-note{border:1px solid var(--practice-line);border-radius:6px;background:#edf3ef}.sheet-preview{border-radius:4px}.savebar{border:1px solid var(--practice-line);border-radius:8px;box-shadow:0 3px 18px #102d3510}.flow-list b{font:600 21px Hanken,sans-serif}
.comm-heading{gap:20px;margin-bottom:18px}.comm-heading h1{font-size:32px;letter-spacing:-.025em}.comm-heading p{font-size:14px;color:var(--practice-muted)}.comm-demo{border:0;font-size:12px;padding:0 0 17px;color:var(--practice-muted)}.comm-identity label{font-size:11px}.comm-rooms{gap:12px;border:0;background:none}.comm-rooms button{background:white;border:1px solid var(--practice-line);border-radius:8px;padding:17px 16px;min-height:106px}.comm-rooms button:last-child{border-right:1px solid var(--practice-line)}.comm-rooms strong{font-size:18px;margin-bottom:12px}.comm-rooms button[data-room-thread]{background:#eef5f0;border-color:#adccbb}.comm-rooms span{font-size:12px;color:#445b4e}.comm-rooms small{font-size:12px;color:#52665a}.comm-toolbar{padding:18px 0;gap:16px}.comm-layout{grid-template-columns:minmax(230px,.9fr) minmax(320px,1.5fr) minmax(225px,.85fr);border-color:var(--practice-line);border-radius:9px;overflow:hidden;min-height:590px}.comm-inbox{background:#fff;border-color:var(--practice-line)}.comm-row{padding:17px 18px;border-color:#e6ebe7}.comm-row.selected{background:#e8f1ec;box-shadow:none}.comm-row:hover{background:#f1f6f2}.comm-preview{line-height:1.5;margin:9px 0}.comm-row-top strong{font-size:14px}.comm-row-people{font-size:12px}.comm-row time{font-size:11px}.comm-row-meta{font-size:11px}.comm-thread-heading{padding:22px;border-color:var(--practice-line)}.comm-thread-heading h2{font-size:20px}.comm-history{height:350px;padding:0 22px 20px}.comm-message{border:0;padding:13px 0}.comm-message p{background:#f1f4f3;border-radius:0 9px 9px 9px;padding:12px 15px;margin-top:8px;font-size:14px;line-height:1.65}.comm-message.comm-system p{background:none;padding:0;font-size:12px}.comm-compose{padding:18px 20px}.comm-compose textarea{background:white;border-color:#cbd8cf}.comm-context{background:#fff;border-color:var(--practice-line);padding:23px 20px}.comm-context .comm-patient{font:600 21px/1.3 Hanken,sans-serif}.comm-context h2{font-size:14px}.comm-context p{color:#526358}.comm-state{border-radius:5px}.comm-state.done{background:#e4f1e8;color:#235136}.comm-state.claimed{background:#e7eef6;color:#315573}.comm-progress{gap:8px;font-size:11px}.comm-footnote{font-size:12px;color:var(--practice-muted)}
/* Patient pages share the same navigation position and record surfaces. */
.portal-header{position:fixed;inset:0 auto 0 0;width:226px;background:var(--practice-green);border:0;overflow:auto}.portal-header-inner{min-height:100dvh;padding:29px 16px 20px;display:flex;flex-direction:column;align-items:stretch;gap:30px}.portal-header .wordmark{padding:4px 13px 20px}.portal-header .wordmark a{color:white;font:500 31px/1.1 'Hanken Grotesk',sans-serif;letter-spacing:-1px}.portal-header .wordmark small{color:#d0e1d8;font-size:10px;letter-spacing:1px}.portal-header .navigation{flex-direction:column;align-self:stretch;margin:0;gap:5px}.portal-header .navigation a{padding:12px 14px;min-height:46px;justify-content:flex-start;color:#e1eee8;border:0;border-radius:6px;font-size:14px}.portal-header .navigation a.active{background:#376357;color:white}.portal-header .navigation a:hover{background:#285247}.portal-header .identity{margin-top:auto;padding:20px 10px 0;border-top:1px solid #45685b;gap:10px;color:white}.portal-header .identity-initials{background:#376357;color:white}.portal-header .identity-text strong,.portal-header .identity-text button{color:#e1eee8}.content{margin-left:226px;max-width:none;padding:28px 34px 50px}.record-context{min-height:43px;margin-bottom:22px}.content .page-head h1{font-size:32px}.content .card{border-radius:9px;background:#fff;border-color:var(--practice-line)}.content .care-focus{border-radius:9px}.record-footer{font-size:12px}.login,.gate{background:#fff;border:1px solid var(--practice-line);border-radius:12px;padding:36px;box-shadow:0 8px 30px #183f3608}.login h1,.gate h1{font-family:Hanken,'Hanken Grotesk',sans-serif;font-size:31px}.login .brand span{font-family:Hanken,sans-serif}.login .eyebrow,.gate .eyebrow{display:none}
@media(min-width:1450px){.workspace,.content{padding-left:36px;padding-right:36px}}
@media(max-width:1200px){.practice-rail,.portal-header{width:196px}.workspace,.workspace-top,.content{margin-left:196px}.workspace,.content{padding:24px}.workspace-top{padding:0 24px}.comm-layout{grid-template-columns:245px minmax(0,1fr)}.comm-context{grid-column:2;display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--practice-line);gap:20px}.comm-inbox{grid-row:1/3}.comm-context section+section{margin:0;padding:0;border:0}.comm-rooms{grid-template-columns:repeat(3,minmax(0,1fr))}.comm-rooms button{min-height:90px}.comm-context section{min-width:0}.comm-heading{align-items:flex-start}}
@media(max-width:820px){.practice-rail{position:relative;inset:auto;width:100%;height:auto;padding:18px 20px;gap:16px;overflow:visible}.practice-rail .brand{padding:0}.practice-rail .brand span{font-size:27px}.practice-rail .brand small{font-size:11px}.practice-rail nav{flex-direction:row;overflow:auto;gap:5px;scrollbar-width:none}.practice-rail nav a{white-space:nowrap;min-height:42px;padding:10px 12px;font-size:13px}.practice-rail .topright{margin:0;padding:0;border:0;flex-direction:row;align-items:center;flex-wrap:wrap;gap:18px}.practice-rail .demo{display:none}.workspace,.workspace-top{margin-left:0}.workspace-top{min-height:48px}.workspace{padding:24px 20px}.workspace-top span{font-size:11px}.comm-heading h1{font-size:29px}.comm-heading{flex-wrap:wrap}.comm-identity{width:100%;justify-content:space-between}.comm-identity label{flex:0 1 180px}.portal-header{position:relative;inset:auto;width:100%;overflow:visible}.portal-header-inner{min-height:0;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:20px}.portal-header .wordmark{padding:0}.portal-header .wordmark a{font-size:27px}.portal-header .identity{margin:0;padding:0;border:0}.portal-header .navigation{grid-column:1/-1;grid-row:2;flex-direction:row;overflow:auto;gap:4px}.portal-header .navigation a{font-size:12px;padding:10px;min-height:44px;white-space:nowrap}.portal-header .identity-text{display:block}.portal-header .identity-text strong{font-size:12px}.portal-header .identity-initials{display:none}.content{margin-left:0;padding:22px 20px 40px}.record-context{flex-wrap:wrap;gap:10px}.content .page-head h1{font-size:29px}.portal-header .navigation .icon{width:17px;height:17px}.portal-header .navigation a{flex-direction:row}.counts{padding:18px}.count{gap:12px}.context{padding:16px}.login,.gate{margin:6vh 18px;max-width:440px}}
@media(max-width:700px){.comm-layout{display:block}.comm-layout .comm-context{display:none}.comm-layout.comm-reading .comm-context{display:grid}.comm-layout.comm-reading .comm-inbox{display:none}.comm-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.comm-rooms button:nth-child(n){border:1px solid var(--practice-line);padding:14px;border-radius:8px}.comm-rooms button:not([data-room-thread]){display:none}.comm-rooms button[data-room-thread]+button[data-room-thread]{border:1px solid #adccbb}.comm-toolbar{flex-wrap:wrap}.comm-toolbar .comm-search{flex-basis:100%}.comm-sync{max-width:55%;text-align:right}.comm-context{padding:20px 16px;gap:20px}.comm-history{height:360px}.comm-heading p{font-size:14px}.comm-compose-actions small{font-size:12px}.comm-row time{font-size:11px}.portal-header .navigation a{flex-direction:column;min-width:65px;flex:1;gap:5px}.portal-header .identity-text strong{max-width:135px;overflow-wrap:anywhere}.steps{padding:0 6px}.patient-header h1{font-size:28px}.counts{gap:15px}.count{border:0;padding-left:0}.panel{padding:20px 16px}.workspace-top{padding:0 20px}.workspace-top strong{font-size:13px}.content .card{padding:20px}.record-footer{margin-top:32px}.portal-header .wordmark small{font-size:11px}.comm-new-form{padding:20px 16px}.comm-context button{white-space:normal}}
@media(prefers-reduced-motion:no-preference){.comm-row,.practice-rail nav a,.portal-header .navigation a{transition:background-color 140ms ease-out}.comm-conversation:focus-within{box-shadow:inset 0 0 0 1px #b6cabe}}
@media print{.practice-rail,.workspace-top,.portal-header{display:none}.workspace,.content{margin:0;padding:0}.panel{break-inside:avoid}}
.practice-rail nav a{gap:12px}.practice-nav-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1201px){.comm-layout{height:calc(100dvh - 450px);min-height:390px;max-height:650px}.comm-inbox,.comm-conversation{height:100%;min-height:0}.comm-inbox{display:flex;flex-direction:column}#comm-list{max-height:none;flex:1;min-height:0}.comm-context{overflow:auto}.comm-history{height:auto;min-height:0;flex:1}.comm-thread-heading{flex:none}.comm-compose{flex:none}.comm-context section+section{margin-top:20px;padding-top:18px}.comm-compose textarea{min-height:72px}.comm-compose-actions{margin-top:10px}}
.comm-new-form{min-height:0;overflow:auto;flex:1}.comm-inbox-title{flex:none}
.content{width:auto;min-width:0}.portal-header .navigation .icon{display:block;flex:none}.intro .eyebrow{display:none}.tooth-card>.eyebrow{display:none}
@media(max-width:700px){.portal-header .navigation{position:fixed;bottom:0;left:0;right:0;top:auto;background:#fff;border-top:1px solid #dce3df;height:76px;padding:5px 8px 9px;display:flex;gap:0;z-index:35}.portal-header .navigation a{color:#526358;font-size:11px;padding:5px 3px;min-width:0}.portal-header .navigation a.active{background:#e5eeea;color:#183f36}.portal-header .navigation a:hover{background:#edf3ef;color:#183f36}.content{padding-bottom:110px}.portal-header-inner{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.portal-header .identity{margin:0}.portal-header .navigation .icon{width:20px;height:20px}}
@media(max-width:700px){.practice-rail{padding:18px 20px 8px;gap:14px}.practice-rail .topright{position:absolute;right:20px;top:21px;font-size:11px;gap:12px}.practice-rail .topright button{font-size:11px}.practice-rail nav{height:46px}.practice-rail .brand span{font-size:25px}.practice-rail .brand small{font-size:11px}.comm-heading{gap:16px}}

/* Embedded chart tools share the practice typography and working surface. */
.scribe-workspace{background:#fff;color:var(--practice-ink);border-color:var(--practice-line)}.scribe-start h2,.scribe-approved h2{font:600 28px/1.2 Hanken,Arial,sans-serif;letter-spacing:-.02em}.scribe-brief h3{font:600 21px/1.3 Hanken,Arial,sans-serif}.scribe-editor h3,.scribe-transcript h3{font:600 24px/1.3 Hanken,Arial,sans-serif}.scribe-chart-context,.scribe-receipt,.scribe-terms{background:#f1f5f3}.scribe-evidence button,.scribe-terms button span{font-size:11px}.practice-rail .brand small,.portal-header .wordmark small{font-size:11px;line-height:1.3}.tooth-card-heading .tooth-kicker{display:none}@media(max-width:480px){.tooth-scroll-hint{font-size:12px;color:#45594e;margin:12px 0 0}}
