:root{--ink:#14213d;--muted:#687386;--line:#e6eaf0;--bg:#f5f7fb;--card:#fff;--primary:#0d7c75;--primary2:#095e59;--danger:#b42318;--shadow:0 18px 45px rgba(20,33,61,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;padding:.78rem 1.05rem;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.ghost{border-color:var(--line);background:#fff;color:var(--ink)}.btn.light{background:#fff;color:var(--primary)}.brand{display:flex;gap:.75rem;align-items:center;color:var(--ink);font-weight:800}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--primary),#45b8a9);color:#fff;font-size:.8rem;box-shadow:0 8px 20px rgba(13,124,117,.25)}.mark.large{width:64px;height:64px;border-radius:20px;margin:auto;font-size:1.1rem}.landing-nav{max-width:1180px;margin:auto;padding:1.3rem 2rem;display:flex;justify-content:space-between;align-items:center}.landing-nav nav{display:flex;gap:1.4rem;align-items:center}.landing-nav nav>a:not(.btn){color:var(--ink)}.hero{max-width:1180px;margin:2rem auto 4rem;padding:4rem 2rem;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}.hero h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;letter-spacing:-.05em;margin:.6rem 0 1.3rem}.hero p{font-size:1.15rem;line-height:1.7;color:var(--muted);max-width:700px}.eyebrow{color:var(--primary);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-actions,.trust-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.trust-row{font-size:.88rem;color:var(--muted)}.hero-panel{padding:2rem;background:linear-gradient(145deg,#dff8f3,#eef5ff);border-radius:34px}.mini-calendar{background:#fff;border-radius:24px;padding:1.3rem;box-shadow:var(--shadow)}.panel-head,.appt,.panel-stat{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.appt span{display:flex;flex-direction:column;flex:1}.appt small{color:var(--muted);margin-top:.25rem}.panel-stat{border:0;align-items:center}.panel-stat strong{font-size:2rem}.section{max-width:1180px;margin:auto;padding:5rem 2rem}.section.alt{max-width:none;background:#eef6f5}.section.alt>*{max-width:1180px;margin-left:auto;margin-right:auto}.section-head{text-align:center;max-width:680px;margin:0 auto 2.5rem}.section-head h2{font-size:2.4rem;letter-spacing:-.03em}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.feature-grid article{background:#fff;border:1px solid var(--line);padding:1.5rem;border-radius:18px}.feature-icon{width:42px;height:42px;border-radius:12px;background:#e4f5f2;display:grid;place-items:center;color:var(--primary);font-weight:800}.feature-grid p{color:var(--muted);line-height:1.6}.workflow{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}.workflow div{background:#fff;border-radius:16px;padding:1.2rem;display:flex;gap:.7rem;align-items:center}.workflow span{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center}.cta{max-width:1180px;margin:5rem auto;padding:2.5rem;border-radius:26px;background:var(--primary);color:#fff;display:flex;justify-content:space-between;align-items:center}.landing-footer{padding:2rem;display:flex;justify-content:space-between;max-width:1180px;margin:auto;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#0d2434;color:#fff;padding:1.2rem;display:flex;flex-direction:column;z-index:20}.sidebar .brand{color:#fff;margin-bottom:2rem}.sidebar nav{display:flex;flex-direction:column;gap:.35rem}.sidebar nav a{color:#c6d3db;padding:.8rem 1rem;border-radius:10px}.sidebar nav a.active,.sidebar nav a:hover{background:#173d4e;color:#fff}.sidebar-user{margin-top:auto;display:flex;flex-direction:column;padding:1rem;background:#123243;border-radius:14px}.sidebar-user span{font-size:.8rem;color:#9fb3bd}.sidebar-user a{margin-top:.8rem;color:#fff}.main{margin-left:250px;padding:1.5rem 2rem 4rem}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.topbar h1{margin:0;font-size:1.8rem}.topbar p{margin:.25rem 0 0;color:var(--muted)}.menu-btn{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.stat-card,.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem}.stat-card{display:flex;flex-direction:column}.stat-card span,.stat-card small,.muted{color:var(--muted)}.stat-card strong{font-size:2rem;margin:.35rem 0}.grid-2{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem}.card-head,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.toolbar{margin-bottom:1rem}.toolbar form{display:flex;gap:.5rem}.toolbar>div{display:flex;flex-direction:column}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.9rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;color:var(--muted)}td small{display:block}.badge{display:inline-block;padding:.3rem .55rem;border-radius:999px;background:#eef4f5;font-size:.76rem;text-transform:capitalize}.quick-actions{display:grid;gap:.65rem}.quick-actions a{padding:1rem;border:1px solid var(--line);border-radius:12px;color:var(--ink)}input,select,textarea{width:100%;border:1px solid #ccd4de;border-radius:10px;padding:.75rem;background:#fff}textarea{min-height:96px;resize:vertical}label{display:flex;flex-direction:column;gap:.4rem;font-weight:650;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.wide{grid-column:1/-1}.flash{padding:1rem 1.2rem;border-radius:12px;margin:1rem 0}.flash.success{background:#e8f7ef;color:#176b40}.flash.error{background:#fdecec;color:#9b1c1c}.profile{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem}.profile h2{margin:.2rem 0}.avatar{width:64px;height:64px;border-radius:18px;background:#e4f5f2;color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:1.3rem}.alert-box{margin-top:1rem;padding:.8rem;background:#fff0ef;border:1px solid #f4c7c2;color:#8a2119;border-radius:10px}.tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--line);margin:1rem 0 1.3rem;overflow:auto}.tabs a{padding:.8rem 0;color:var(--muted);white-space:nowrap}.tabs a.active{color:var(--primary);border-bottom:2px solid var(--primary)}dl{display:grid;grid-template-columns:140px 1fr;gap:.8rem}dt{color:var(--muted)}dd{margin:0}.danger-text{color:var(--danger)}dialog{border:0;border-radius:18px;padding:0;box-shadow:var(--shadow);width:min(680px,94vw)}dialog::backdrop{background:rgba(10,24,38,.55)}dialog form{padding:1.5rem;position:relative}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:1.8rem;cursor:pointer}.wide-dialog{width:min(900px,96vw)}.queue-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;align-items:start}.queue-column{background:#edf1f5;border-radius:14px;padding:.8rem;min-height:300px}.queue-card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:.7rem;display:flex;flex-direction:column;gap:.35rem}.queue-no{color:var(--primary);font-weight:800}.link-btn{border:0;background:none;color:var(--primary);cursor:pointer;font-weight:700}.view-switch{display:flex;gap:.4rem}.view-switch a{padding:.65rem .9rem;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.view-switch a.active{background:var(--primary);color:#fff}.reports{grid-template-columns:repeat(2,1fr)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 460px;align-items:center;max-width:1000px;margin:auto;padding:2rem;gap:5rem}.login-brand h1{font-size:3.6rem;letter-spacing:-.05em;margin:2rem 0 .5rem}.login-brand p{color:var(--muted)}.login-card,.install-card{background:#fff;padding:2rem;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem}.install-shell{min-height:100vh;padding:3rem 1rem}.install-card{max-width:850px;margin:auto}.install-card>h1,.install-card>p{text-align:center}.install-card h3{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:.5rem}@media(max-width:1000px){.feature-grid{grid-template-columns:repeat(2,1fr)}.workflow{grid-template-columns:repeat(3,1fr)}.queue-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.landing-nav nav>a:not(.btn){display:none}.hero{grid-template-columns:1fr;padding-top:2rem}.hero-panel{display:none}.feature-grid,.grid-2,.form-grid,.login-shell{grid-template-columns:1fr}.workflow{grid-template-columns:1fr}.cta{margin:2rem 1rem;flex-direction:column;align-items:flex-start;gap:1rem}.landing-footer{flex-direction:column;gap:.5rem}.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.main{margin-left:0;padding:1rem}.menu-btn{display:block;border:0;background:none;font-size:1.4rem}.topbar .btn{display:none}.stats{grid-template-columns:1fr 1fr}.queue-grid{grid-template-columns:1fr}.wide{grid-column:auto}.login-shell{gap:1.5rem}.login-brand h1{font-size:2.6rem}}

/* Public dental information site and appointment intake */
.public-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.public-nav-wrap{max-width:1180px;margin:auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.public-nav-wrap .brand>span:last-child{display:flex;flex-direction:column;line-height:1.15}.public-nav-wrap .brand small{font-size:.72rem;color:var(--muted);font-weight:600;margin-top:.2rem}
.public-nav{display:flex;align-items:center;gap:1.25rem}.public-nav>a:not(.btn){color:var(--ink);font-weight:650;font-size:.92rem}.public-nav>a.active{color:var(--primary)}
.public-menu-button{display:none;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem .7rem;font-size:1.2rem}
.public-hero{max-width:1180px;margin:auto;padding:5rem 2rem 4rem;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center;min-height:650px}
.public-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:.55rem 0 .75rem}.public-hero .hero-tagline{font-size:1.45rem;color:var(--ink);font-weight:750;margin:.4rem 0}.public-hero-copy>p:not(.hero-tagline){font-size:1.08rem;line-height:1.75;color:var(--muted);max-width:690px}.large-button{padding:1rem 1.25rem}.public-trust-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.35rem;color:var(--muted);font-size:.88rem}
.clinic-info-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.6rem;box-shadow:var(--shadow);position:relative}.clinic-info-card:before{content:"";position:absolute;inset:-18px 18px 18px -18px;background:linear-gradient(145deg,#dff8f3,#eef5ff);border-radius:30px;z-index:-1}.clinic-info-heading{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.clinic-info-heading>div{display:flex;flex-direction:column}.clinic-info-heading strong{font-size:1.2rem}.clinic-info-heading small{color:var(--muted)}.clinic-info-list{grid-template-columns:85px 1fr;margin:1.35rem 0}.hours-list{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:#f5f9f8;border-radius:14px}.hours-list strong{margin-bottom:.3rem}.hours-list span{font-size:.9rem;color:var(--muted)}.text-link{display:inline-block;margin-top:1rem;font-weight:750}
.public-section{max-width:1180px;margin:auto;padding:5rem 2rem}.public-section-heading{max-width:720px;margin:0 auto 2.6rem;text-align:center}.public-section-heading.left{text-align:left;margin:0}.public-section-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.04em;margin:.65rem 0 1rem}.public-section-heading p{color:var(--muted);line-height:1.75;font-size:1.02rem}.info-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start;border-top:1px solid var(--line)}.info-points{display:grid;gap:1rem}.info-points article{display:flex;gap:1rem;padding:1.35rem;background:#fff;border:1px solid var(--line);border-radius:18px}.info-points article>span{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e5f5f2;color:var(--primary);font-weight:800}.info-points h3{margin:0 0 .4rem}.info-points p{margin:0;color:var(--muted);line-height:1.6}
.appointment-center{max-width:none;background:#eef6f5}.appointment-center>*{max-width:1180px;margin-left:auto;margin-right:auto}.appointment-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem}.appointment-choice{background:#fff;border:1px solid var(--line);border-radius:24px;padding:2rem;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 30px rgba(20,33,61,.05)}.appointment-choice.featured{border-color:rgba(13,124,117,.35)}.choice-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-weight:800}.choice-icon{width:54px;height:54px;border-radius:16px;background:#e5f5f2;color:var(--primary);display:grid;place-items:center;font-weight:850;margin:1rem 0}.appointment-choice h3{font-size:1.55rem;margin:.2rem 0}.appointment-choice p{color:var(--muted);line-height:1.65}.appointment-choice ul{padding-left:1.2rem;color:var(--muted);line-height:1.8;flex:1}.appointment-choice .btn{margin-top:1rem}.appointment-note{margin-top:1.25rem;padding:1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--muted)}
.public-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.public-service-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.35rem}.public-service-grid article>span{font-size:.75rem;color:var(--primary);font-weight:850}.public-service-grid h3{margin:.7rem 0}.public-service-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.care-flow-section{border-top:1px solid var(--line)}.public-workflow{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}.public-workflow div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem;display:flex;align-items:center;gap:.7rem}.public-workflow span{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.public-workflow strong{font-size:.9rem}
.contact-section{display:grid;grid-template-columns:1fr .75fr;gap:4rem;align-items:center}.contact-section h2{font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.04em;margin:.7rem 0}.contact-section>div:first-child>p{color:var(--muted);line-height:1.75;font-size:1.05rem}.contact-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.contact-card{background:#0d2434;color:#fff;padding:2rem;border-radius:24px}.contact-card p{line-height:1.7;color:#d5e0e5}.contact-card .hours-list{background:rgba(255,255,255,.08)}.contact-card .hours-list span{color:#d5e0e5}.secure-portal-banner{max-width:1180px;margin:2rem auto 5rem;padding:2.6rem;border-radius:26px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}.secure-portal-banner h2{font-size:2rem;margin:.4rem 0}.secure-portal-banner p{margin:0;color:#d9f2ef}.light-eyebrow{color:#fff}
.public-footer{background:#0d2434;color:#fff;padding:4rem 2rem 1.5rem}.public-footer-grid,.public-footer-bottom{max-width:1180px;margin:auto}.public-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2rem}.public-footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.public-footer-grid p,.public-footer-grid span{color:#a9bbc4;line-height:1.6;font-size:.9rem}.public-footer-grid a{color:#dce8ed}.footer-brand{color:#fff!important}.public-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.2rem;display:flex;justify-content:space-between;color:#90a6b0;font-size:.85rem}
.public-notice{max-width:1180px;margin:1rem auto;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted)}.public-notice.warning{background:#fff8e7;border-color:#edd49a;color:#755514}.public-notice.error{background:#fdecec;border-color:#efc3c0;color:#92221a}.public-notice code{font-weight:750}
.public-form-page{max-width:1050px;margin:auto;padding:4rem 2rem 6rem}.public-form-intro{text-align:center;max-width:760px;margin:0 auto 2.5rem}.public-form-intro h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;letter-spacing:-.045em;margin:.6rem 0 1rem}.public-form-intro p{color:var(--muted);font-size:1.05rem;line-height:1.7}.form-step-line{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}.form-step-line span{padding:.55rem .8rem;border-radius:999px;background:#eef2f5;color:var(--muted);font-size:.82rem;font-weight:700}.form-step-line span.active{background:#e5f5f2;color:var(--primary)}.public-intake-form{display:grid;gap:1.2rem}.form-section-card,.form-consent-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.7rem;box-shadow:0 10px 30px rgba(20,33,61,.04)}.form-section-heading{display:flex;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.4rem}.form-section-heading>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:#e5f5f2;color:var(--primary);font-weight:850}.form-section-heading h2{margin:0 0 .25rem}.form-section-heading p{margin:0;color:var(--muted)}.three-columns{grid-template-columns:repeat(3,1fr)}.span-2{grid-column:span 2}.guardian-fields{margin-top:1.2rem;padding:1rem;background:#f7faf9;border-radius:14px}.minor-note{font-size:.86rem;color:var(--muted);margin-bottom:.8rem}.field-error{color:var(--danger);font-weight:600}.form-helper{align-self:end;color:var(--muted);font-size:.86rem;padding-bottom:.8rem}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.check-label{flex-direction:row;align-items:flex-start;gap:.75rem;font-weight:500;line-height:1.55}.check-label input{width:auto;margin-top:.25rem}.form-submit-row{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-top:1rem}.form-consent-card .field-error{display:block;margin-top:.5rem}.public-intake-form button:disabled{opacity:.55;cursor:not-allowed}
.request-received-page{max-width:780px;margin:auto;padding:5rem 2rem}.request-received-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2.6rem;box-shadow:var(--shadow);text-align:center}.success-seal{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e8f7ef;color:#176b40;font-size:2rem;margin:0 auto 1.2rem}.request-received-card h1{font-size:2.8rem;letter-spacing:-.04em;margin:.5rem 0}.request-received-card>p{color:var(--muted);font-size:1.05rem}.receipt-reference{display:flex;flex-direction:column;gap:.4rem;background:#f4f8f7;padding:1.2rem;border-radius:16px;margin:1.5rem 0}.receipt-reference span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.receipt-reference strong{font-size:1.7rem;letter-spacing:.04em}.receipt-details{text-align:left;max-width:520px;margin:1.5rem auto;grid-template-columns:170px 1fr}
.toolbar-actions{display:flex!important;flex-direction:row!important;gap:.7rem!important}.request-filter-row{display:flex;gap:.55rem;overflow:auto;margin-bottom:1rem;padding-bottom:.2rem}.request-filter-row a{white-space:nowrap;padding:.65rem .85rem;border:1px solid var(--line);background:#fff;border-radius:10px;color:var(--muted)}.request-filter-row a.active{background:var(--primary);border-color:var(--primary);color:#fff}.request-filter-row span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:rgba(0,0,0,.08);font-size:.74rem}.request-status.submitted{background:#eaf5ff;color:#175d89}.request-status.reviewing{background:#fff4d8;color:#7b5d12}.request-status.needs_verification{background:#fff0ef;color:#92221a}.request-status.scheduled{background:#e8f7ef;color:#176b40}.request-status.declined,.request-status.cancelled{background:#edf0f2;color:#58636e}.request-review-grid{grid-template-columns:1.15fr .85fr}.request-section{padding:1.2rem 0;border-top:1px solid var(--line)}.request-section:first-of-type{border-top:0}.request-section h3{margin-top:0}.request-section dl{grid-template-columns:150px 1fr}.urgency{display:inline-block;border-radius:999px;padding:.4rem .7rem;font-size:.75rem;text-transform:uppercase;font-weight:850}.urgency.routine{background:#edf3f5;color:#53626c}.urgency.soon{background:#fff4d8;color:#7b5d12}.urgency.urgent{background:#fff0ef;color:#92221a}.schedule-request-form,.status-form{margin-bottom:1rem}.success-card{border-color:#b9dfc8;background:#f4fbf7}.empty-state{text-align:center;padding:3rem}.empty-cell{text-align:center;color:var(--muted);padding:2rem}.settings-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem}.settings-side-column{display:grid;gap:1rem;align-content:start}.settings-subheading{margin-top:1rem;border-top:1px solid var(--line);padding-top:1.5rem}.settings-actions{display:flex;gap:.7rem;flex-wrap:wrap}
@media(max-width:1000px){.public-service-grid{grid-template-columns:repeat(2,1fr)}.public-workflow{grid-template-columns:repeat(3,1fr)}.info-band,.contact-section{grid-template-columns:1fr;gap:2rem}.request-review-grid,.settings-layout{grid-template-columns:1fr}.three-columns{grid-template-columns:repeat(2,1fr)}.public-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.public-nav-wrap{padding:.85rem 1rem}.public-menu-button{display:block}.public-nav{display:none;position:absolute;top:68px;left:1rem;right:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.public-nav.open{display:flex}.public-nav .btn{width:100%}.public-hero{grid-template-columns:1fr;padding:3rem 1rem;gap:2rem;min-height:auto}.public-hero h1{font-size:3rem}.clinic-info-card:before{display:none}.public-section{padding:3.5rem 1rem}.appointment-choice-grid,.public-service-grid,.public-workflow,.three-columns{grid-template-columns:1fr}.span-2{grid-column:auto}.secure-portal-banner{margin:1rem 1rem 3rem;flex-direction:column;align-items:flex-start}.public-footer{padding:3rem 1rem 1.5rem}.public-footer-grid{grid-template-columns:1fr}.public-footer-bottom{flex-direction:column;gap:.4rem}.public-form-page{padding:3rem 1rem}.form-section-card,.form-consent-card{padding:1.15rem}.form-submit-row{flex-direction:column-reverse;align-items:stretch}.form-submit-row .btn{width:100%}.request-received-page{padding:3rem 1rem}.request-received-card{padding:1.5rem}.receipt-details{grid-template-columns:1fr}.toolbar-actions{width:100%;flex-wrap:wrap}.toolbar{align-items:flex-start;flex-direction:column}.request-section dl{grid-template-columns:1fr}.public-nav-wrap .brand small{display:none}}
.brand-logo{overflow:hidden;background:#fff}.brand-logo img{width:100%;height:100%;object-fit:contain}.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card-actions{display:flex;justify-content:flex-end;margin-top:1rem}.brand-preview{min-height:280px;border-radius:20px;padding:2rem;background:linear-gradient(145deg,var(--preview-secondary),#0d2434);color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem}.brand-preview img{max-width:180px;max-height:80px;object-fit:contain;background:#fff;border-radius:12px;padding:.5rem}.preview-mark{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--preview-primary);font-weight:900}.brand-preview button{border:0;border-radius:12px;padding:.8rem 1rem;background:var(--preview-accent);font-weight:800}.slot-status{padding:.75rem;border-radius:10px;background:#f4f7f8;color:var(--muted);font-size:.88rem}.slot-status.error{background:#fdecec;color:#9b1c1c}.slot-status.success{background:#e8f7ef;color:#176b40}.availability-hours{font-size:.82rem;color:var(--muted)}
@media(max-width:900px){.grid.two{grid-template-columns:1fr}}

/* Appointment, walk-in, and cashier queue */
.queue-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.queue-grid-enhanced{grid-template-columns:repeat(5,minmax(220px,1fr));overflow-x:auto;padding-bottom:.5rem}.queue-column-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.queue-column-head h3{margin:.2rem 0}.queue-column-head>span{min-width:28px;height:28px;border-radius:999px;background:#dfe7ec;display:grid;place-items:center;font-size:.8rem;font-weight:800}.queue-card{border:1px solid transparent;box-shadow:0 8px 20px rgba(20,33,61,.04)}.queue-card.emergency{border-color:#efb3ad}.queue-card.urgent{border-color:#ecd38e}.queue-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.queue-source{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .5rem;border-radius:999px}.queue-source.appointment{background:#e8f2ff;color:#175d89}.queue-source.walk_in{background:#f1eaff;color:#6441a5}.queue-patient-name{font-size:1.02rem}.queue-service{font-size:.86rem;font-weight:750;padding:.55rem .65rem;background:#f4f7f8;border-radius:9px}.queue-meta{display:grid;gap:.2rem;color:var(--muted);font-size:.78rem}.queue-alert{display:inline-flex;align-self:flex-start;background:#fdecec;color:#9b1c1c;padding:.3rem .5rem;border-radius:8px;font-size:.72rem;font-weight:800}.queue-status-form{margin-top:.25rem}.queue-status-form select{font-size:.8rem;padding:.6rem}.queue-billing-link{margin-top:.3rem;padding:.65rem .75rem}.queue-empty{text-align:center;color:var(--muted);padding:2rem .5rem;font-size:.85rem}.queue-form-divider{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.queue-form-divider:before,.queue-form-divider:after{content:"";height:1px;background:var(--line);flex:1}.cashier-queue-section{margin-bottom:1.2rem}.cashier-queue-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.cashier-queue-head h2{margin:0}.cashier-queue-head span{background:#e7f4f2;color:var(--primary);padding:.4rem .65rem;border-radius:999px;font-size:.8rem;font-weight:800}.cashier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cashier-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:0 10px 28px rgba(20,33,61,.05)}.cashier-card.called{border-color:var(--primary);box-shadow:0 12px 30px rgba(13,124,117,.13)}.cashier-patient-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cashier-patient-row h3{margin:.15rem 0;font-size:1.22rem}.cashier-patient-row p{margin:0;color:var(--muted);font-size:.82rem}.cashier-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:850}.cashier-details{grid-template-columns:95px 1fr;font-size:.86rem;margin:1rem 0}.cashier-actions{display:flex;flex-wrap:wrap;gap:.55rem}.cashier-actions form{margin:0}.cashier-actions .btn{padding:.65rem .75rem;font-size:.82rem}.invoice-table-card{margin-top:1rem}.invoice-table-card .card-head{margin-bottom:.7rem}.queue-display-page{min-height:100vh;background:#071c29;color:#fff}.queue-display-header{padding:2rem 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}.queue-display-header h1{font-size:2.2rem;margin:.2rem 0}.queue-display-header p{margin:0;color:#a8bdc8}.queue-display-shell{padding:3rem 4vw;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}.now-serving-panel,.waiting-panel{background:#0d2b3b;border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:2rem}.now-serving-panel h2,.waiting-panel h2{margin-top:0}.now-serving-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.now-serving-grid article{background:linear-gradient(145deg,var(--primary),var(--primary2));border-radius:20px;padding:2rem;display:flex;flex-direction:column;gap:.4rem;text-align:center}.now-serving-grid strong{font-size:3.8rem}.now-serving-grid span{color:#e7fffb}.waiting-ticket-grid{display:flex;flex-wrap:wrap;gap:.8rem}.waiting-ticket{min-width:84px;padding:.9rem 1rem;border-radius:14px;background:#173d4e;text-align:center;font-size:1.25rem;font-weight:850}.waiting-ticket.appointment{border-bottom:4px solid #63a8e4}.waiting-ticket.walk_in{border-bottom:4px solid #a98be2}.privacy-note{color:#9fb3bd;line-height:1.6;margin:1.5rem 0 0}.display-empty{color:#a8bdc8;padding:2rem;text-align:center;grid-column:1/-1}
@media(max-width:1100px){.queue-grid-enhanced{grid-template-columns:repeat(3,minmax(230px,1fr))}.cashier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.queue-stats{grid-template-columns:1fr 1fr}.queue-grid-enhanced{grid-template-columns:1fr;overflow:visible}.cashier-grid{grid-template-columns:1fr}.queue-display-header{padding:1.2rem;align-items:flex-start}.queue-display-header .btn{display:none}.queue-display-shell{grid-template-columns:1fr;padding:1.2rem}.now-serving-grid{grid-template-columns:1fr}.now-serving-grid strong{font-size:3rem}}

/* v0.4 grouped navigation and system setup */
.grouped-nav{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .7rem 1rem;overflow:auto}.nav-group{border:0}.nav-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:.7rem .65rem .45rem;color:rgba(255,255,255,.58);font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.nav-group summary::-webkit-details-marker{display:none}.nav-chevron{font-size:.9rem;transition:transform .18s}.nav-group:not([open]) .nav-chevron{transform:rotate(-90deg)}.nav-group-links{display:flex;flex-direction:column;gap:.18rem}.sidebar .nav-group-links a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0;padding:.72rem .75rem;border-radius:10px;color:rgba(255,255,255,.78);font-size:.86rem;text-decoration:none}.sidebar .nav-group-links a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar .nav-group-links a.active{background:rgba(255,255,255,.15);color:#fff;font-weight:800}.sidebar .nav-group-links a em{font-style:normal;font-size:.64rem;padding:.2rem .4rem;border-radius:999px;background:#ffdd8a;color:#5b4200;font-weight:900}.topbar-actions{display:flex;align-items:center;gap:.65rem}.update-chip{display:inline-flex;align-items:center;padding:.52rem .7rem;border-radius:999px;background:#fff4d8;color:#805b00;font-weight:850;font-size:.75rem;text-decoration:none;border:1px solid #f4d385}.setup-tabs{overflow:auto;white-space:nowrap}.setup-stats{margin-bottom:1rem}.setup-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.card-head h2{margin:0}.card-head p{margin:.35rem 0 0;color:var(--muted)}.health-list{display:grid;gap:.15rem;margin:1rem 0}.health-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .1rem;border-bottom:1px solid var(--line)}.ok{color:#087b55}.warn{color:#946200}.bad{color:#b42318}.setup-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.setup-link-grid a{display:flex;flex-direction:column;gap:.28rem;border:1px solid var(--line);border-radius:14px;padding:.9rem;text-decoration:none;background:#fff}.setup-link-grid a:hover{border-color:var(--primary)}.setup-link-grid a span{color:var(--muted);font-size:.78rem;line-height:1.45}.version-pill{background:#e8f4f2;color:var(--primary);padding:.5rem .7rem;border-radius:999px;font-weight:850;font-size:.78rem}.update-version-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.1rem 0}.update-version-row>div{border:1px solid var(--line);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.35rem}.update-version-row span{font-size:.73rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.update-version-row strong{font-size:1.1rem}.update-notes{background:#f7faf9;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1rem}.permissions-layout{display:grid;grid-template-columns:260px 1fr;gap:1rem}.role-list{display:flex;flex-direction:column;gap:.35rem;align-self:start}.role-list h2{margin-top:0}.role-list a{display:flex;flex-direction:column;padding:.75rem;border-radius:11px;text-decoration:none}.role-list a.active{background:#e8f4f2;color:var(--primary)}.role-list a span{font-size:.72rem;color:var(--muted)}.permission-matrix h3{margin:1.2rem 0 .4rem;padding-bottom:.4rem;border-bottom:1px solid var(--line)}.permission-row{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem .2rem}.permission-row input{width:auto;margin-top:.15rem}.permission-row span{display:flex;flex-direction:column}.permission-row small{color:var(--muted)}.mini-stats{grid-template-columns:repeat(2,1fr)}.check-option{display:flex!important;align-items:flex-start!important;gap:.7rem!important}.check-option input{width:auto!important;margin-top:.25rem}.module-toolbar strong{display:block;font-size:1rem}.module-toolbar .muted{display:block;margin-top:.25rem}.compact-filter{display:flex;align-items:end;gap:.7rem;margin-bottom:1rem;padding:.85rem}.compact-filter label{min-width:300px;margin:0}.compact-filter .btn{margin-bottom:0}.patient-record-tabs{display:flex;gap:.25rem;overflow:auto;padding:.35rem 0;margin-bottom:1rem}.patient-record-tabs a{white-space:nowrap;padding:.65rem .8rem;border-radius:10px;text-decoration:none;color:var(--muted)}.patient-record-tabs a.active{background:#e8f4f2;color:var(--primary);font-weight:800}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.record-grid .wide{grid-column:1/-1}.odontogram-shell{display:grid;grid-template-columns:1fr 360px;gap:1rem}.tooth-row{display:grid;grid-template-columns:repeat(16,minmax(38px,1fr));gap:.35rem;margin:.55rem 0}.tooth-button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.65rem .2rem;cursor:pointer;font-weight:800}.tooth-button.has-record{background:#e8f4f2;border-color:var(--primary);color:var(--primary)}.tooth-button.selected{outline:3px solid color-mix(in srgb,var(--primary) 32%,transparent)}.tooth-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.tooth-legend span{font-size:.75rem;padding:.35rem .55rem;border-radius:999px;background:#f2f4f7}.timeline-list{display:flex;flex-direction:column;gap:.7rem}.timeline-item{border-left:3px solid var(--primary);padding:.7rem .85rem;background:#f8faf9;border-radius:0 12px 12px 0}.timeline-item h4{margin:0 0 .2rem}.timeline-item p{margin:.2rem 0;color:var(--muted)}.module-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.module-card{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.module-card h3{margin:.15rem 0}.module-card dl{grid-template-columns:100px 1fr}.status-actions{display:flex;gap:.45rem;flex-wrap:wrap}.status-actions form{margin:0}.file-preview{display:flex;align-items:center;gap:.75rem}.file-icon{width:44px;height:44px;border-radius:12px;background:#e8f4f2;display:grid;place-items:center;font-weight:900;color:var(--primary)}.portal-shell{min-height:100vh;background:#f4f7f6}.portal-main{max-width:1100px;margin:0 auto;padding:2rem 1rem}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.portal-nav{display:flex;gap:.5rem;flex-wrap:wrap}.portal-nav a{padding:.55rem .7rem;border-radius:9px;text-decoration:none;background:#fff;border:1px solid var(--line)}.portal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.portal-login-card{max-width:480px;margin:4rem auto}.alert.warning{background:#fff8e6;border-color:#f4d385;color:#765100}
@media(max-width:1100px){.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.odontogram-shell{grid-template-columns:1fr}.setup-grid{grid-template-columns:1fr}}
@media(max-width:760px){.topbar-actions .update-chip{display:none}.setup-link-grid,.record-grid,.module-card-grid,.portal-summary{grid-template-columns:1fr}.permissions-layout{grid-template-columns:1fr}.update-version-row{grid-template-columns:1fr}.compact-filter{align-items:stretch;flex-direction:column}.compact-filter label{min-width:0}.tooth-row{grid-template-columns:repeat(8,minmax(34px,1fr));}.portal-header{align-items:flex-start;flex-direction:column}}

/* Version 0.4.1: preserve scrolling while hiding visual scrollbar tracks. */
html,body,.sidebar,.grouped-nav,.main,.table-wrap,.tabs,.setup-tabs,.patient-record-tabs,.public-nav,dialog,.queue-column{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.grouped-nav::-webkit-scrollbar,.main::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.tabs::-webkit-scrollbar,.setup-tabs::-webkit-scrollbar,.patient-record-tabs::-webkit-scrollbar,.public-nav::-webkit-scrollbar,dialog::-webkit-scrollbar,.queue-column::-webkit-scrollbar{width:0;height:0;display:none}

.role-welcome{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#f0faf8)}
.role-welcome h2{margin:.35rem 0 .25rem;font-size:1.75rem}.role-welcome p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}
.role-pill{display:inline-flex;align-items:center;justify-content:center;padding:.65rem .9rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.78rem;font-weight:850;white-space:nowrap}
.role-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.role-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}
.role-actions a{display:flex;align-items:center;justify-content:space-between}.role-actions a::after{content:'›';font-size:1.25rem;color:var(--primary)}
.role-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.role-directory article{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem}
.role-directory article strong{color:var(--ink)}.role-directory article span{color:var(--muted);font-size:.78rem;line-height:1.45}
.sidebar{overflow:hidden}.grouped-nav{min-height:0;flex:1;overflow-y:auto}.sidebar-user{flex:0 0 auto}
@media(max-width:1100px){.role-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.role-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.role-welcome{align-items:flex-start;flex-direction:column}.role-directory{grid-template-columns:1fr}.role-pill{align-self:flex-start}}

/* Version 0.4.3: secure Superuser/Administrator task-role switcher. */
.task-role-switcher{display:flex;align-items:center;margin:0}.task-role-switcher label{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-size:.72rem;color:var(--muted);white-space:nowrap}.task-role-switcher label>span{font-weight:800;text-transform:uppercase;letter-spacing:.06em}.task-role-switcher select{width:auto;min-width:155px;padding:.55rem 2rem .55rem .7rem;border-radius:10px;background-color:#fff;font-weight:750;color:var(--ink)}
.sidebar-task-view{margin-top:.2rem;color:#d9f4ee!important;font-weight:800}.task-view-notice{display:flex;align-items:center;gap:.35rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #b9ded8;border-radius:12px;background:#edf9f7;color:#185e58;font-size:.86rem}.topbar-title{min-width:0}.topbar-title h1{overflow-wrap:anywhere}
@media(max-width:900px){.topbar{align-items:flex-start;gap:.75rem}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.task-role-switcher label>span{display:none}.task-role-switcher select{min-width:135px}.public-site-link{display:none!important}}
@media(max-width:600px){.topbar{display:grid;grid-template-columns:auto 1fr;align-items:start}.topbar-actions{grid-column:1/-1;width:100%;justify-content:flex-start}.task-role-switcher{width:100%}.task-role-switcher label,.task-role-switcher select{width:100%}.task-view-notice{align-items:flex-start;flex-direction:column}}

/* Doctor Profile, Clinical Day, unified encounter, and SMTP diagnostics */
.doctor-profile-hero,.clinical-day-heading,.encounter-patient-header,.smtp-heading{display:flex;align-items:center;gap:20px;justify-content:space-between}.doctor-avatar{width:92px;height:92px;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--primary2));display:grid;place-items:center;color:#fff;font-size:34px;font-weight:800;flex:0 0 auto}.doctor-avatar img{width:100%;height:100%;object-fit:cover}.doctor-profile-status{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.doctor-profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px;align-items:start}.doctor-profile-side{display:grid;gap:18px}.inline-form{display:inline-flex;align-items:center;gap:6px;margin-left:8px}.inline-form select{min-width:110px}.now-serving{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;border-left:5px solid var(--primary)}.now-serving-meta{display:flex;flex-direction:column;gap:4px;text-align:right}.clinical-day-grid{align-items:start}.empty-state{text-align:center;padding:48px 24px}.encounter-patient-header{position:sticky;top:0;z-index:15;border-bottom:2px solid color-mix(in srgb,var(--primary) 22%,transparent)}.sticky-medical-alert{position:sticky;top:105px;z-index:14}.encounter-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.encounter-form{padding:0;overflow:hidden}.encounter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.encounter-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.encounter-tabs::-webkit-scrollbar{display:none}.encounter-tabs button{border:0;background:transparent;padding:10px 12px;border-radius:10px;color:var(--muted);font-weight:700;white-space:nowrap;cursor:pointer}.encounter-tabs button.active{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.encounter-form>[data-tab-panel]{padding:22px}.encounter-form textarea{min-height:190px}.encounter-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border);background:var(--surface-2)}.autosave-status{font-size:12px;color:var(--muted);white-space:nowrap}.autosave-status.saving{color:var(--brand-accent)}.autosave-status.saved{color:var(--success)}.autosave-status.error{color:var(--danger)}.completion-assistant{position:sticky;top:120px}.completion-assistant ul{list-style:none;margin:18px 0;padding:0;display:grid;gap:9px}.completion-assistant li{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;background:var(--surface-2)}.completion-assistant li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800}.completion-assistant li.complete span{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.completion-assistant li.missing span{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.completion-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.completion-links a,.quick-links a{display:block;padding:9px 10px;border:1px solid var(--border);border-radius:9px;text-decoration:none}.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.smtp-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;align-items:start}.smtp-side{display:grid;gap:18px}.smtp-side form+form{margin-top:16px}.smtp-transcript{white-space:pre-wrap;max-width:720px;max-height:340px;overflow:auto;background:#07111f;color:#d7e8ff;border-radius:10px;padding:14px;font-size:12px}.smtp-success{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.smtp-warning{background:color-mix(in srgb,var(--warning) 16%,transparent);color:#8a5a00}.smtp-failed{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.inline-actions{display:flex;align-items:center;gap:8px}.inline-actions input[type=number]{max-width:90px}
@media(max-width:1050px){.doctor-profile-layout,.encounter-workspace,.smtp-layout{grid-template-columns:1fr}.completion-assistant{position:static}.now-serving{grid-template-columns:1fr auto}.now-serving .status-actions{grid-column:1/-1}.doctor-profile-status{align-items:flex-start}}
@media(max-width:680px){.doctor-profile-hero,.clinical-day-heading,.encounter-patient-header,.smtp-heading{align-items:flex-start;flex-direction:column}.now-serving{grid-template-columns:1fr}.now-serving-meta{text-align:left}.encounter-patient-header,.sticky-medical-alert{position:static}.encounter-toolbar{align-items:flex-start;flex-direction:column}.encounter-tabs{width:100%}.encounter-actions{flex-direction:column}.encounter-actions .btn{width:100%}.doctor-profile-status{width:100%}}
.public-doctor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.public-doctor-card{display:flex;gap:16px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.public-doctor-photo{width:82px;height:82px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:30px;font-weight:800;flex:0 0 auto}.public-doctor-photo img{width:100%;height:100%;object-fit:cover}.public-doctor-card h3{margin:0 0 6px}.public-doctor-card p{margin:5px 0}

/* Version 0.5.1: Task View role scope and clinical preview safeguards. */
.task-workflow-grid{align-items:start;margin-bottom:1rem}.task-steps{margin:.35rem 0 0;padding-left:1.35rem;display:grid;gap:.7rem}.task-steps li{padding-left:.25rem;line-height:1.45}.task-target-selector{margin-bottom:1rem}.task-target-selector .toolbar{margin:0}.task-target-selector label{min-width:260px}.clinical-preview-notice{margin:0 1rem 1rem}.clinical-task-preview .main form[method="post"],.clinical-task-preview .main button[data-open]{display:none!important}.clinical-task-preview .main .btn.primary[href]{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
@media(max-width:760px){.task-target-selector label{min-width:0;width:100%}.task-target-selector select{width:100%}}

/* Data Import & Reset */
.import-hero{margin-bottom:1rem}.dataset-grid,.reset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.dataset-card,.reset-card{border:1px solid var(--border,#dbe4e7);border-radius:16px;padding:1rem;background:var(--surface,#fff)}.dataset-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dataset-card h3,.reset-card h2{margin:0 0 .35rem}.dataset-card span{color:var(--muted,#667085)}.status-ok{display:inline-block;margin:.65rem 0;color:#067647;font-weight:700}.validation-errors{margin:.65rem 0;color:#b42318;padding-left:1.15rem}.preview-table{max-height:260px;margin-top:.75rem}.preview-table table{font-size:.82rem;min-width:680px}.import-confirm-form{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border,#dbe4e7)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:.75rem 0 1rem}.reset-card.safe{border-top:4px solid #12b76a}.reset-card.caution{border-top:4px solid #f79009}.reset-card.danger{border-top:4px solid #d92d20}.reset-card ul{padding-left:1.2rem;color:var(--muted,#667085)}.destructive-form code{font-weight:800;color:#b42318}.report-json{max-height:520px;overflow:auto;white-space:pre-wrap;font-size:.82rem;background:#0f172a;color:#e2e8f0;padding:1rem;border-radius:12px}@media(max-width:720px){.dataset-grid,.reset-grid{grid-template-columns:1fr}.preview-table table{min-width:560px}}

/* Version 0.5.3: complete backups and records printing. */
.backup-coverage{margin-top:1rem}.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;margin:1rem 0}.coverage-grid span{padding:.8rem 1rem;border:1px solid var(--line);border-radius:11px;background:#f7fbfb}.checksum{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.print-center-intro{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-bottom:1rem}.print-center-intro h2{margin:.25rem 0}.print-guide{display:flex;flex-direction:column;min-width:240px;padding:1rem;border-radius:12px;background:#edf9f7}.print-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.print-category-grid .card{align-self:start}.print-category-grid hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}@media(max-width:900px){.print-category-grid{grid-template-columns:1fr}.print-center-intro{align-items:flex-start;flex-direction:column}.print-guide{width:100%}}

/* v0.5.5 compact application navigation */
.compact-sidebar{width:220px}.compact-sidebar+.main{margin-left:220px}.primary-nav{display:flex;flex-direction:column;gap:.45rem;min-height:0;overflow-y:auto}.primary-nav-link{display:flex;align-items:center;gap:.75rem;padding:.78rem .85rem;border-radius:12px;color:#c6d3db!important;font-weight:750}.primary-nav-link:hover,.primary-nav-link.active{background:#173d4e;color:#fff!important}.primary-nav-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);font-size:.76rem;font-weight:900}.primary-nav-link.active .primary-nav-symbol{background:var(--primary)}.context-tabs{display:flex;gap:.35rem;overflow-x:auto;margin:-.45rem 0 1.35rem;padding:.3rem 0 .65rem;border-bottom:1px solid var(--line);scrollbar-width:none}.context-tabs::-webkit-scrollbar{display:none}.context-tabs a{display:flex;align-items:center;gap:.4rem;white-space:nowrap;padding:.62rem .78rem;border-radius:10px;color:var(--muted);font-weight:720}.context-tabs a:hover{background:#fff;color:var(--ink)}.context-tabs a.active{background:#e8f4f2;color:var(--primary)}.context-tabs em{font-style:normal;font-size:.68rem;padding:.15rem .35rem;border-radius:99px;background:#fff0df;color:#8a5200}

/* v0.5.5 longitudinal Patient Profile workspace */
.patient-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;position:sticky;top:0;z-index:12;box-shadow:0 12px 28px rgba(20,33,61,.08)}.patient-identity{display:flex;align-items:center;gap:1rem;min-width:0}.patient-identity h2{margin:.15rem 0}.patient-identity p{margin:.25rem 0;color:var(--muted)}.patient-photo{width:64px;height:64px;border-radius:18px;overflow:hidden;display:block;flex:0 0 auto}.patient-photo img{width:100%;height:100%;object-fit:cover}.patient-workspace-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.patient-alert-strip{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;border-radius:12px;background:#fff3f1;border:1px solid #f2c8c2;color:#85251c}.patient-alert-strip span{overflow-wrap:anywhere}.patient-snapshot{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}.patient-snapshot>div{padding:.72rem .8rem;border:1px solid var(--line);border-radius:12px;background:#f8fafb;min-width:0}.patient-snapshot span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.patient-snapshot strong{display:block;margin-top:.25rem;font-size:.9rem;overflow-wrap:anywhere}.patient-primary-tabs,.patient-secondary-tabs{display:flex;gap:.28rem;overflow-x:auto;scrollbar-width:none}.patient-primary-tabs::-webkit-scrollbar,.patient-secondary-tabs::-webkit-scrollbar{display:none}.patient-primary-tabs{margin:1rem 0 .4rem;padding:.38rem;background:#fff;border:1px solid var(--line);border-radius:14px}.patient-primary-tabs a{white-space:nowrap;padding:.72rem .88rem;border-radius:10px;color:var(--muted);font-weight:780}.patient-primary-tabs a.active{background:var(--primary);color:#fff}.patient-secondary-tabs{margin:0 0 1rem;padding:.15rem 0;border-bottom:1px solid var(--line)}.patient-secondary-tabs a{white-space:nowrap;padding:.58rem .72rem;color:var(--muted);border-bottom:2px solid transparent}.patient-secondary-tabs a.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:800}.patient-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.patient-overview-grid>.wide{grid-column:1/-1}.patient-alert-card{display:flex;flex-direction:column;gap:.2rem;padding:.72rem .82rem;margin:.5rem 0;border-radius:11px;background:#f7f9fa;border-left:4px solid #7e8b99}.patient-alert-card.severity-critical{background:#fff0ef;border-left-color:#b42318}.patient-alert-card.severity-caution{background:#fff8e8;border-left-color:#c77b00}.patient-alert-card.severity-information{background:#eef7ff;border-left-color:#2a72b5}.patient-quick-actions{display:flex;flex-wrap:wrap;gap:.55rem}.patient-quick-actions a{padding:.72rem .85rem;border:1px solid var(--line);background:#fff;border-radius:11px;color:var(--ink);font-weight:720}.patient-quick-actions a:hover{border-color:var(--primary);color:var(--primary)}.history-summary{grid-template-columns:180px 1fr}.inline-portal-form{display:flex;gap:.5rem;align-items:end}.inline-portal-form input{min-width:0}.patient-context-launch{text-align:center;padding:3rem}.patient-context-launch p{color:var(--muted);max-width:600px;margin:0 auto 1.2rem}

/* v0.5.5 visit-specific clinical tabs */
.clinical-workspace-tabs{display:flex;gap:.35rem;overflow-x:auto;margin:1rem 0;padding:.4rem;background:#fff;border:1px solid var(--line);border-radius:14px;scrollbar-width:none}.clinical-workspace-tabs::-webkit-scrollbar{display:none}.clinical-workspace-tabs button{border:0;background:transparent;padding:.7rem .82rem;border-radius:10px;white-space:nowrap;color:var(--muted);font-weight:780;cursor:pointer}.clinical-workspace-tabs button.active{background:var(--primary);color:#fff}.clinical-record-shell>[data-clinical-panel],.clinical-record-form>[data-clinical-panel]{margin-top:0}.clinical-charting-panel{padding:1rem 0}.clinical-record-form fieldset[hidden],section[hidden],div[hidden]{display:none!important}

@media(max-width:1000px){.patient-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-workspace-header{position:static}}
@media(max-width:760px){.compact-sidebar+.main{margin-left:0}.patient-workspace-header{grid-template-columns:1fr}.patient-workspace-actions{justify-content:flex-start}.patient-overview-grid{grid-template-columns:1fr}.patient-overview-grid>.wide{grid-column:auto}.patient-snapshot{grid-template-columns:1fr 1fr}.patient-primary-tabs{border-radius:12px;position:sticky;top:0;z-index:10}.context-tabs{margin-top:-.2rem}.primary-nav-link{padding:.72rem}.patient-alert-strip{align-items:flex-start;flex-direction:column}.inline-portal-form{flex-direction:column;align-items:stretch}}
@media(max-width:480px){.patient-snapshot{grid-template-columns:1fr}.patient-workspace-actions .btn{flex:1}.history-summary{grid-template-columns:1fr}.history-summary dt{font-weight:800}}

/* ClinicCare v0.5.7 navigation and visual refinement */
:root{--sidebar:#102b3a;--sidebar-2:#0b2130;--sidebar-text:#d7e5eb;--surface:#ffffff;--surface-soft:#f7fafc;--focus-ring:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent)}
.icon,.nav-icon,.context-icon,.search-icon,.tiny-icon,.section-icon,.empty-state-icon,.brand-icon{width:20px;height:20px;flex:0 0 auto}.tiny-icon{width:14px;height:14px}.brand-icon{width:23px;height:23px}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.icon-button:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--primary);box-shadow:0 8px 20px rgba(20,33,61,.08)}
body.app-page{background:radial-gradient(circle at 85% -10%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 30%),var(--bg)}
.sidebar{width:216px;padding:1rem .8rem;background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));box-shadow:12px 0 35px rgba(5,22,32,.12);transition:width .2s ease,transform .2s ease}.compact-sidebar+.main{margin-left:216px;transition:margin-left .2s ease}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 .15rem 1.3rem}.sidebar .brand{min-width:0;margin:0;padding:.25rem}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-collapse{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#d9e7ec;cursor:pointer}.sidebar-collapse:hover{background:rgba(255,255,255,.15);color:#fff}.sidebar-collapse svg{width:18px;height:18px}.primary-nav{gap:.35rem;overflow:auto;padding:.15rem}.primary-nav-link{position:relative;gap:.75rem;min-height:46px;padding:.7rem .75rem;border-radius:13px;color:var(--sidebar-text)!important;font-weight:720}.primary-nav-link .nav-icon{width:21px;height:21px}.primary-nav-link:hover{background:rgba(255,255,255,.08)}.primary-nav-link.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 88%,#fff 12%),color-mix(in srgb,var(--primary2) 88%,#fff 12%));box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 22%,transparent);color:#fff!important}.primary-nav-link.active:before{content:"";position:absolute;left:-.55rem;top:11px;bottom:11px;width:3px;border-radius:99px;background:#fff}.sidebar-user{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.75rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06);border-radius:14px}.sidebar-user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--primary),var(--brand-accent));font-weight:900}.sidebar-user-copy{display:flex;flex-direction:column;min-width:0}.sidebar-user-copy strong,.sidebar-user-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy strong{font-size:.82rem}.sidebar-user-copy span{font-size:.69rem}.sidebar-signout{display:grid;place-items:center;width:32px;height:32px;margin:0!important;border-radius:9px;color:#d9e7ec!important}.sidebar-signout svg{width:17px;height:17px}.sidebar-signout span{display:none}
.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .compact-sidebar+.main{margin-left:76px}.sidebar-collapsed .brand-name,.sidebar-collapsed .brand-short,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-copy{display:none}.sidebar-collapsed .sidebar-brand-row{justify-content:center;flex-direction:column}.sidebar-collapsed .sidebar .brand{justify-content:center}.sidebar-collapsed .primary-nav-link{justify-content:center;padding:.72rem}.sidebar-collapsed .primary-nav-link.active:before{left:-.15rem}.sidebar-collapsed .sidebar-user{grid-template-columns:1fr;padding:.55rem}.sidebar-collapsed .sidebar-user-avatar{margin:auto}.sidebar-collapsed .sidebar-signout{display:none}.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}
.main{padding:0 2rem 4.5rem;min-height:100vh}.topbar{position:sticky;top:0;z-index:14;display:grid;grid-template-columns:minmax(180px,auto) minmax(260px,1fr) auto;gap:1rem;align-items:center;margin:0 -2rem 1rem;padding:1rem 2rem;background:rgba(245,247,251,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(230,234,240,.9)}.topbar-title{min-width:0}.topbar-title h1{font-size:1.45rem;line-height:1.2}.topbar-area{display:block;margin-bottom:.15rem;color:var(--primary);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.global-search{position:relative;display:flex;align-items:center;width:min(620px,100%);justify-self:center}.global-search .search-icon{position:absolute;left:.85rem;color:var(--muted);width:18px;height:18px}.global-search input{height:44px;padding:.7rem 3.7rem .7rem 2.65rem;border-color:#dfe5eb;background:rgba(255,255,255,.92);box-shadow:0 7px 22px rgba(20,33,61,.05)}.global-search input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.global-search kbd{position:absolute;right:.7rem;padding:.2rem .4rem;border:1px solid var(--line);border-radius:6px;background:#f5f7f9;color:var(--muted);font:600 .65rem ui-monospace,monospace}.topbar-actions{gap:.5rem}.quick-create{position:relative}.quick-create>summary{list-style:none;gap:.45rem;padding:.68rem .85rem;border-radius:12px}.quick-create>summary::-webkit-details-marker{display:none}.quick-create-menu,.context-more-menu{position:absolute;right:0;top:calc(100% + .5rem);z-index:40;width:245px;padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 55px rgba(20,33,61,.18)}.quick-create-menu a,.context-more-menu a{display:flex;align-items:center;gap:.7rem;padding:.7rem .75rem;border-radius:10px;color:var(--ink);font-weight:700}.quick-create-menu a:hover,.context-more-menu a:hover,.context-more-menu a.active{background:#edf7f5;color:var(--primary)}.quick-create-menu svg,.context-more-menu svg{width:18px;height:18px}.task-role-switcher select{height:42px;min-width:145px;padding:.55rem .7rem;border-radius:11px}.task-role-switcher label{gap:.15rem}.task-role-switcher label>span{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.context-nav-shell{display:flex;align-items:center;gap:.5rem;min-height:50px;margin:0 0 1.25rem;padding:.25rem .35rem;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(20,33,61,.05)}.context-tabs{flex:1;margin:0;padding:0;border:0;gap:.2rem}.context-tabs a{gap:.45rem;padding:.68rem .78rem;border-radius:11px}.context-tabs a:hover{background:#f4f7f9}.context-tabs a.active{background:linear-gradient(135deg,#e7f7f4,#edf4ff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}.context-icon{width:17px;height:17px}.context-more{position:relative;flex:0 0 auto}.context-more>summary{display:flex;align-items:center;gap:.4rem;padding:.67rem .75rem;border-radius:11px;color:var(--muted);font-weight:760;cursor:pointer;list-style:none}.context-more>summary::-webkit-details-marker{display:none}.context-more>summary:hover,.context-more.active>summary{background:#edf7f5;color:var(--primary)}.context-more>summary svg{width:18px;height:18px}.context-more-menu{min-width:250px}.context-more-menu em{margin-left:auto;font-style:normal;font-size:.65rem;padding:.16rem .35rem;border-radius:999px;background:#fff0df;color:#8a5200}
.card,.stat-card{border-color:#e3e8ee;box-shadow:0 8px 26px rgba(20,33,61,.045)}.card:hover{border-color:#d9e1e8}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--primary),var(--brand-accent))}.btn{gap:.45rem}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.8rem;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--primary) 8%,#fff))}.admin-hero h2{max-width:720px;margin:.35rem 0;font-size:1.7rem}.admin-hero p{max-width:760px;margin:.45rem 0 0;color:var(--muted)}.admin-hero-icon{width:82px;height:82px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 18px 40px color-mix(in srgb,var(--primary) 25%,transparent)}.admin-hero-icon svg{width:40px;height:40px}.admin-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-category{padding:1.2rem}.admin-category-head{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:.75rem}.admin-category-head h2{margin:.1rem 0 .25rem;font-size:1.1rem}.admin-category-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.admin-category-icon,.admin-link-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#eaf7f5;color:var(--primary)}.admin-category-icon{width:42px;height:42px}.admin-category-icon svg{width:21px;height:21px}.admin-link-list{display:grid;gap:.35rem}.admin-link-list a{display:grid;grid-template-columns:36px 1fr auto;gap:.7rem;align-items:center;padding:.65rem;border-radius:12px;color:var(--ink)}.admin-link-list a:hover{background:#f2f7f7;color:var(--primary)}.admin-link-icon{width:36px;height:36px;background:#f1f4f7;color:#536273}.admin-link-icon svg{width:18px;height:18px}.admin-link-list strong,.admin-link-list small{display:block}.admin-link-list small{margin-top:.1rem;color:var(--muted);font-size:.72rem;line-height:1.4}.admin-link-arrow{color:#9aa6b2}
.search-page-head{display:grid;grid-template-columns:1fr minmax(340px,.85fr);gap:1.5rem;align-items:center;background:linear-gradient(135deg,#fff,#f5fbfa)}.search-page-head h2{margin:.35rem 0}.search-page-head p{margin:0;color:var(--muted)}.search-page-form{display:flex;align-items:center;gap:.55rem}.search-page-form>svg{width:22px;height:22px;color:var(--primary)}.search-page-form input{height:46px}.search-summary{margin:.5rem 0 1rem;color:var(--muted)}.search-summary strong{color:var(--ink);font-size:1.15rem}.search-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.search-result-section .section-icon{width:27px;height:27px;color:var(--primary)}.search-result-list{display:grid;gap:.35rem}.search-result-list a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.65rem;border-radius:12px;color:var(--ink)}.search-result-list a:hover{background:#f2f8f7}.result-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eaf7f5;color:var(--primary)}.result-icon svg{width:19px;height:19px}.search-result-list strong,.search-result-list small{display:block}.search-result-list small{margin-top:.15rem;color:var(--muted);font-size:.74rem}.search-result-list em{font-style:normal;font-size:.69rem;padding:.25rem .45rem;border-radius:999px;background:#f0f3f6;color:#536273}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state-icon{width:48px;height:48px;color:var(--primary);margin-bottom:.5rem}.empty-state h2{margin:.4rem 0}.empty-state p{color:var(--muted)}
.mobile-bottom-nav,.mobile-nav-scrim{display:none}
@media(max-width:1120px){.topbar{grid-template-columns:minmax(160px,auto) 1fr auto}.global-search kbd{display:none}.global-search input{padding-right:.8rem}.task-role-switcher label>span{display:none}.task-role-switcher select{min-width:125px}.quick-create>summary span{display:none}.admin-category-grid{grid-template-columns:1fr}}
@media(max-width:900px){.global-search{grid-column:1/-1;grid-row:2;width:100%}.topbar{grid-template-columns:1fr auto}.topbar-title{grid-column:1}.topbar-actions{grid-column:2;grid-row:1}.search-page-head,.search-result-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{padding-bottom:70px}.sidebar{width:min(86vw,300px);padding:1rem}.sidebar-collapsed .sidebar{width:min(86vw,300px)}.compact-sidebar+.main,.sidebar-collapsed .compact-sidebar+.main{margin-left:0}.sidebar-collapse{display:none}.sidebar-collapsed .brand-name,.sidebar-collapsed .brand-short,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-copy{display:initial}.sidebar-collapsed .sidebar-brand-row{justify-content:space-between;flex-direction:row}.sidebar-collapsed .primary-nav-link{justify-content:flex-start;padding:.72rem .75rem}.sidebar-collapsed .sidebar-user{grid-template-columns:36px minmax(0,1fr) auto}.sidebar-collapsed .sidebar-signout{display:grid}.mobile-nav-scrim{position:fixed;inset:0;z-index:19;background:rgba(5,20,30,.48);backdrop-filter:blur(2px)}.menu-open .mobile-nav-scrim{display:block}.main{padding:0 1rem 5rem}.topbar{position:relative;grid-template-columns:auto minmax(0,1fr) auto;margin:0 -1rem 1rem;padding:.8rem 1rem;background:transparent;backdrop-filter:none}.menu-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff;border:1px solid var(--line)}.menu-btn svg{width:20px;height:20px}.topbar-title{grid-column:2}.topbar-title h1{font-size:1.15rem}.topbar-area{font-size:.6rem}.topbar-actions{grid-column:3;grid-row:1;flex-wrap:nowrap}.task-role-switcher,.public-site-link,.update-chip{display:none!important}.quick-create>summary{width:40px;height:40px;padding:0;display:grid;place-items:center}.quick-create>summary .tiny-icon{display:none}.quick-create-menu{position:fixed;left:1rem;right:1rem;bottom:76px;top:auto;width:auto}.global-search{grid-column:1/-1;grid-row:2;margin-top:.2rem}.global-search input{height:42px}.context-nav-shell{position:sticky;top:0;z-index:12;margin:0 0 1rem;border-radius:12px}.context-tabs a{padding:.6rem}.context-tabs a span{display:none}.context-tabs a.active span{display:inline}.context-more>summary span{display:none}.context-more-menu{position:fixed;left:1rem;right:1rem;bottom:76px;top:auto;width:auto}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:66px;padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(20,33,61,.1);backdrop-filter:blur(14px)}.mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;border:0;background:none;border-radius:10px;color:#708090;font-size:.62rem;font-weight:750}.mobile-bottom-nav svg{width:20px;height:20px}.mobile-bottom-nav a.active{background:#eaf7f5;color:var(--primary)}.admin-hero{align-items:flex-start}.admin-hero-icon{width:58px;height:58px;border-radius:18px}.admin-hero-icon svg{width:28px;height:28px}.search-page-form{align-items:stretch;flex-wrap:wrap}.search-page-form>svg{display:none}.search-page-form input{flex:1;min-width:0}.search-page-form .btn{flex:0 0 auto}.search-result-grid{grid-template-columns:1fr}}
@media(max-width:760px){.topbar .quick-create>summary.btn{display:grid!important}.topbar .quick-create{display:block}.topbar-actions .quick-create-menu .btn{display:flex!important}}

/* v0.5.7.2 automatic filters and weekly schedule tiles */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.auto-search-form{display:flex;align-items:center;gap:.55rem;min-width:min(520px,100%)}.auto-search-form .search-field{flex:1;margin:0}.auto-search-form input[type=search]{min-width:260px}.auto-filter-note{color:var(--muted);font-size:.72rem;white-space:nowrap}.patient-auto-filter,.appointment-auto-filter,.schedule-filter{align-items:end;flex-wrap:wrap}.patient-auto-filter label,.appointment-auto-filter label,.schedule-filter label{min-width:190px;flex:1}.patient-auto-filter label:first-of-type,.appointment-auto-filter label:first-of-type{min-width:min(330px,100%);flex:1.5}.compact-filter input[type=search]{height:42px}.schedule-toolbar{margin-bottom:.75rem}.weekly-schedule-card,.appointment-week-card{overflow:hidden}.weekly-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:.65rem;overflow-x:auto;padding-bottom:.25rem}.weekly-day-tile{min-height:190px;padding:.75rem;border:1px solid var(--line);border-radius:15px;background:#fbfdfd;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.weekly-day-tile:hover,.weekly-day-tile:focus{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 10px 24px rgba(20,33,61,.08);outline:none}.weekly-day-tile.closed{background:#f5f6f7;cursor:default;opacity:.78}.weekly-day-tile header{display:flex;flex-direction:column;gap:.18rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.weekly-day-tile header strong{font-size:.9rem}.weekly-day-tile header small{color:var(--muted);font-size:.68rem}.weekly-day-blocks{display:flex;flex-direction:column;gap:.45rem;padding-top:.55rem}.availability-tile{display:flex;justify-content:space-between;gap:.4rem;align-items:flex-start;padding:.55rem;border-radius:11px;background:#eaf7f5;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line))}.availability-tile strong,.availability-tile small{display:block}.availability-tile strong{font-size:.77rem}.availability-tile small{margin-top:.18rem;color:var(--muted);font-size:.62rem;line-height:1.35}.availability-tile form{margin:0}.icon-text-button{border:0;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .1rem}.icon-text-button:hover{color:var(--danger)}.empty-schedule-slot{display:grid;place-items:center;min-height:72px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.72rem;text-align:center}.week-calendar-head{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-bottom:1rem}.week-calendar-head h2{margin:.2rem 0}.week-calendar-head p{margin:0;color:var(--muted)}.week-calendar-actions{display:flex;align-items:center;gap:.5rem}.appointment-week-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:.7rem;overflow-x:auto;padding-bottom:.45rem}.appointment-day-column{min-height:420px;border:1px solid var(--line);border-radius:16px;background:#f8fafb;overflow:hidden}.appointment-day-column.today{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:inset 0 3px 0 var(--primary)}.appointment-day-column>header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.15rem;padding:.7rem .75rem;border-bottom:1px solid var(--line);background:#fff}.appointment-day-column>header span{font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.appointment-day-column>header strong{grid-row:1/3;grid-column:2;font-size:1.55rem;color:var(--primary)}.appointment-day-column>header small{font-size:.64rem;color:var(--muted)}.appointment-day-list{display:flex;flex-direction:column;gap:.55rem;padding:.55rem}.appointment-calendar-tile{padding:.65rem;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(20,33,61,.04)}.appointment-calendar-tile.status-cancelled,.appointment-calendar-tile.status-no_show{opacity:.65;border-left-color:#98a2b3}.appointment-calendar-tile.status-completed{border-left-color:#12b76a}.appointment-calendar-tile.status-pending_confirmation,.appointment-calendar-tile.status-requested{border-left-color:#f79009}.appointment-tile-head{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.appointment-tile-head strong{font-size:.8rem}.appointment-calendar-tile h3{margin:.45rem 0 .12rem;font-size:.87rem;line-height:1.25}.appointment-calendar-tile p{margin:0 0 .45rem;color:var(--muted);font-size:.72rem}.appointment-calendar-tile dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .4rem;margin:0;font-size:.65rem}.appointment-calendar-tile dt{color:var(--muted)}.appointment-calendar-tile dd{margin:0;min-width:0}.appointment-reason{display:block;margin-top:.45rem;padding-top:.4rem;border-top:1px solid var(--line);color:var(--muted);font-size:.65rem;line-height:1.4}.appointment-tile-actions{display:flex;gap:.55rem;margin-top:.5rem;padding-top:.45rem;border-top:1px solid var(--line);font-size:.68rem;font-weight:800}.empty-day-tile{display:grid;place-items:center;min-height:120px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:.72rem}.print-category-grid form .wide:last-child{grid-column:1/-1}
@media(max-width:1000px){.weekly-schedule-grid,.appointment-week-grid{grid-template-columns:repeat(7,minmax(180px,1fr))}.appointment-auto-filter label{min-width:160px}}
@media(max-width:760px){.auto-search-form{min-width:0;width:100%}.auto-search-form input[type=search]{min-width:0}.auto-filter-note{display:none}.patient-auto-filter,.appointment-auto-filter,.schedule-filter{display:grid;grid-template-columns:1fr}.patient-auto-filter label,.appointment-auto-filter label,.schedule-filter label,.patient-auto-filter label:first-of-type,.appointment-auto-filter label:first-of-type{min-width:0}.week-calendar-head{grid-template-columns:auto 1fr auto;gap:.55rem}.week-calendar-head h2{font-size:1rem}.week-calendar-head p{font-size:.7rem}.week-calendar-actions .btn{display:none}.weekly-schedule-grid,.appointment-week-grid{grid-template-columns:1fr;overflow:visible}.weekly-day-tile{min-height:0}.appointment-day-column{min-height:0}.appointment-day-column>header{position:sticky;top:0;z-index:1}.appointment-day-list{min-height:100px}}
.appointment-tile-actions form{margin:0}.appointment-tile-actions .link-btn{font-size:inherit;padding:0}.tile-more-actions{position:relative}.tile-more-actions>summary{cursor:pointer;list-style:none;color:var(--primary)}.tile-more-actions>summary::-webkit-details-marker{display:none}.tile-more-actions .compact-form{position:absolute;right:0;top:calc(100% + .35rem);z-index:8;width:220px;padding:.6rem;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 14px 32px rgba(20,33,61,.16)}

/* v0.5.7.3 unified doctor schedule builder */
.doctor-schedule-hero{display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.doctor-schedule-hero h2{margin:.25rem 0}.doctor-schedule-hero p{margin:.25rem 0 0;color:var(--muted);max-width:760px}.doctor-schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:.65rem}.doctor-schedule-summary span{padding:.8rem;border:1px solid var(--line);border-radius:13px;background:#f8fbfb;color:var(--muted);font-size:.72rem}.doctor-schedule-summary strong{display:block;color:var(--ink);font-size:1.25rem}.doctor-schedule-summary span.pending{background:#fff8e8;border-color:#f4d58a}.doctor-schedule-filter{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.doctor-schedule-filter label{min-width:210px;flex:1}.doctor-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.doctor-schedule-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.doctor-schedule-actions form{margin:0}.doctor-week-card{overflow:hidden}.doctor-calendar-legend{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:-.2rem 0 .9rem;color:var(--muted);font-size:.7rem}.doctor-calendar-legend span{display:flex;gap:.35rem;align-items:center}.doctor-calendar-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-published{background:#cdeee7;border:1px solid #52a998}.legend-draft{background:#fff0bf;border:1px dashed #c79214}.legend-exception{background:#fbd0cc;border:1px solid #d96b62}.legend-appointment{background:#d9e8ff;border:1px solid #5d8fd9}.doctor-calendar-scroll{overflow:auto;padding-bottom:.4rem}.doctor-calendar{display:grid;grid-template-columns:72px repeat(7,minmax(190px,1fr));min-width:1450px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.doctor-time-axis,.doctor-calendar-day{border-right:1px solid var(--line)}.doctor-calendar-day:last-child{border-right:0}.doctor-time-axis-head,.doctor-calendar-day>header{height:72px;background:#f8fafb;border-bottom:1px solid var(--line)}.doctor-time-axis-head{display:grid;place-items:center;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.doctor-time-axis-body,.doctor-calendar-day-body{position:relative}.doctor-time-axis-body span{position:absolute;right:.45rem;transform:translateY(-.42em);font-size:.62rem;color:var(--muted);white-space:nowrap}.doctor-calendar-day>header{display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem;align-items:center;padding:.65rem;position:relative}.doctor-calendar-day>header div{display:flex;flex-direction:column}.doctor-calendar-day>header strong{font-size:.82rem}.doctor-calendar-day>header span{font-size:.68rem;color:var(--muted)}.doctor-calendar-day>header small{font-size:.6rem;color:var(--muted);text-align:right}.doctor-calendar-day.today>header{background:#eaf7f5}.doctor-calendar-day.closed>header{background:#f1f2f4}.day-exception-button{position:absolute;right:.4rem;bottom:.28rem;width:24px;height:24px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--primary);cursor:pointer;font-weight:900}.doctor-calendar-day-body{background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(var(--schedule-row-height) - 1px),#edf0f4 calc(var(--schedule-row-height) - 1px),#edf0f4 var(--schedule-row-height))}.doctor-calendar-day.closed .doctor-calendar-day-body{background:#f5f6f7}.doctor-calendar-slot{position:absolute;left:0;right:0;width:100%;border:0;border-bottom:1px solid transparent;background:transparent;cursor:crosshair;z-index:2;touch-action:none;border-radius:0;padding:0}.doctor-calendar-slot:hover:not(:disabled){background:rgba(13,124,117,.08)}.doctor-calendar-slot.is-selecting{background:rgba(13,124,117,.22)!important;box-shadow:inset 3px 0 0 var(--primary),inset -3px 0 0 var(--primary)}.doctor-calendar-slot.outside-hours{background:rgba(104,115,134,.08);cursor:not-allowed}.doctor-calendar-block{position:absolute;left:5px;right:5px;border-radius:9px;padding:.34rem .42rem;overflow:hidden;display:flex;flex-direction:column;gap:.08rem;z-index:4;box-shadow:0 4px 10px rgba(20,33,61,.08)}.doctor-calendar-block strong{font-size:.64rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-calendar-block small{font-size:.56rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-block{pointer-events:none;left:3px;right:3px;z-index:3;background:rgba(205,238,231,.75);border:1px solid #79bcb0;color:#205e56}.availability-block.draft{background:rgba(255,240,191,.82);border:1px dashed #c79214;color:#7d5c08}.exception-block{left:10px;right:10px;z-index:5;background:rgba(251,208,204,.92);border:1px solid #d96b62;color:#7b2922;pointer-events:none}.exception-block.draft{border-style:dashed}.appointment-block{left:18px;right:8px;z-index:7;background:#eaf2ff;border:1px solid #7aa4df;border-left:4px solid #4f82c7;color:#183d70;pointer-events:auto}.appointment-block:hover{filter:brightness(.98);box-shadow:0 7px 15px rgba(20,33,61,.14)}.appointment-block.status-cancelled,.appointment-block.status-no_show{opacity:.58;border-color:#98a2b3;color:#667085}.appointment-block.status-completed{background:#e8f7ef;border-color:#61b98a;color:#176b40}.appointment-block.status-checked_in,.appointment-block.status-in_treatment{background:#fff5df;border-color:#e1a640;color:#73510b}.doctor-schedule-detail-grid{margin-top:1rem}.schedule-block-list{display:grid;gap:.55rem}.schedule-block-list article{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;padding:.75rem;border:1px solid var(--line);border-radius:12px}.schedule-block-list strong,.schedule-block-list small{display:block}.schedule-block-list strong{font-size:.8rem}.schedule-block-list small{margin-top:.2rem;color:var(--muted);font-size:.68rem}.schedule-block-list form{margin:0}.schedule-builder-dialog{width:min(760px,96vw)}.weekday-copy-fieldset{border:1px solid var(--line);border-radius:12px;padding:.75rem;display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}.weekday-copy-fieldset legend{padding:0 .35rem;color:var(--muted);font-size:.76rem;font-weight:800}.weekday-copy-fieldset label{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.55rem;border:1px solid var(--line);border-radius:9px;background:#f8fafb;font-size:.72rem}.weekday-copy-fieldset input{width:auto}.weekday-copy-fieldset label:has(input:checked){background:#eaf7f5;border-color:#7abbb1;color:var(--primary)}
@media(max-width:1100px){.doctor-schedule-hero{align-items:flex-start;flex-direction:column}.doctor-schedule-summary{width:100%}.doctor-schedule-toolbar{align-items:flex-start;flex-direction:column}.doctor-schedule-actions{width:100%}}
@media(max-width:760px){.doctor-schedule-summary{grid-template-columns:1fr}.doctor-schedule-filter{display:grid;grid-template-columns:1fr}.doctor-schedule-filter label{min-width:0}.doctor-schedule-actions{display:grid;grid-template-columns:1fr 1fr}.doctor-schedule-actions .inline-form,.doctor-schedule-actions .inline-form .btn{grid-column:1/-1;width:100%}.doctor-schedule-actions>.btn{width:100%}.doctor-calendar{grid-template-columns:62px repeat(7,minmax(170px,1fr));min-width:1250px}.weekday-copy-fieldset{grid-template-columns:repeat(4,1fr)}.schedule-builder-dialog .form-grid{grid-template-columns:1fr}.schedule-builder-dialog .wide{grid-column:1}.doctor-schedule-tabs{width:100%}.doctor-schedule-tabs a{flex:1;text-align:center}}


/* v0.5.7.4 patient-facing queue screen */
.queue-screen-launcher{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1rem 0 1.25rem;background:linear-gradient(135deg,#f3fbfa,#eef5ff);border-color:#cfe4e2}.queue-screen-launcher-copy{max-width:760px}.queue-screen-launcher h2{margin:.15rem 0 .35rem}.queue-screen-launcher p{margin:0;color:var(--muted);line-height:1.55}.queue-screen-launcher-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.patient-queue-screen{min-height:100vh;margin:0;background:radial-gradient(circle at top right,rgba(36,176,163,.16),transparent 34%),#061923;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:grid;grid-template-rows:auto 1fr auto;overflow-x:hidden}.patient-screen-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;padding:1.35rem 2.2rem;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(5,24,34,.92);backdrop-filter:blur(16px);position:relative;z-index:2}.patient-screen-brand{display:flex;align-items:center;gap:1rem}.patient-screen-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--primary2));display:grid;place-items:center;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.25)}.patient-screen-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.patient-screen-mark svg{width:30px;height:30px}.patient-screen-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:#8ecdc6;font-weight:850}.patient-screen-brand h1{font-size:1.55rem;line-height:1.1;margin:.2rem 0}.patient-screen-brand p{margin:0;color:#9fb6c0}.patient-screen-time{text-align:right;display:flex;flex-direction:column}.patient-screen-time strong{font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}.patient-screen-time span{margin-top:.35rem;color:#9fb6c0;font-size:.9rem}.patient-screen-controls{display:flex;gap:.55rem}.patient-screen-controls button,.patient-screen-controls a{appearance:none;border:1px solid rgba(255,255,255,.17);background:#102f3c;color:#fff;border-radius:12px;padding:.72rem .9rem;font:inherit;font-size:.82rem;font-weight:750;text-decoration:none;cursor:pointer}.patient-screen-controls button:hover,.patient-screen-controls a:hover{background:#184151}.patient-screen-layout{padding:1.7rem 2.2rem 2rem;display:grid;gap:1.5rem;min-height:0}.patient-serving-section{background:linear-gradient(145deg,#0b2a38,#0b2330);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:1.5rem;box-shadow:0 24px 70px rgba(0,0,0,.22)}.patient-screen-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.patient-screen-section-head span,.patient-waiting-title span{display:block;color:#8ecdc6;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:850}.patient-screen-section-head h2,.patient-waiting-title h2{margin:.22rem 0 0;font-size:1.1rem}.patient-screen-live{display:flex;align-items:center;gap:.5rem;color:#9fd7d1;font-size:.82rem;font-weight:800}.patient-screen-live i{width:10px;height:10px;border-radius:999px;background:#43d6a5;box-shadow:0 0 0 7px rgba(67,214,165,.1);animation:patient-live 1.8s infinite}.screen-offline .patient-screen-live i{background:#f4b942;box-shadow:0 0 0 7px rgba(244,185,66,.1);animation:none}@keyframes patient-live{50%{box-shadow:0 0 0 12px rgba(67,214,165,0)}}.patient-serving-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.patient-serving-card{min-height:175px;border-radius:24px;padding:1.4rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,var(--primary),var(--primary2));box-shadow:0 18px 42px rgba(0,0,0,.24);position:relative;overflow:hidden}.patient-serving-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);right:-70px;top:-90px}.patient-serving-card strong{font-size:clamp(3.4rem,7vw,6.5rem);line-height:1;letter-spacing:.03em;font-variant-numeric:tabular-nums;position:relative;z-index:1}.patient-serving-card span{font-size:clamp(1rem,1.8vw,1.35rem);margin-top:.7rem;color:#effffd;font-weight:750;position:relative;z-index:1}.patient-screen-empty{grid-column:1/-1;min-height:170px;display:grid;place-items:center;text-align:center;color:#a9bec7;border:1px dashed rgba(255,255,255,.14);border-radius:22px;font-size:1.12rem}.patient-waiting-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.5rem;min-height:0}.patient-waiting-panel{background:#0b2734;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:1.35rem;min-height:190px}.patient-waiting-panel.cashier-panel{background:#10283a}.patient-waiting-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.patient-waiting-title>strong{min-width:46px;height:46px;border-radius:15px;background:#173c49;display:grid;place-items:center;font-size:1.15rem}.patient-ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.72rem}.patient-ticket{min-height:66px;border-radius:16px;background:#153b49;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;font-size:1.55rem;font-weight:900;letter-spacing:.03em;font-variant-numeric:tabular-nums;box-shadow:inset 0 -4px 0 #4b9ed3}.patient-ticket.walk_in{box-shadow:inset 0 -4px 0 #9d7bdd}.patient-ticket.cashier-ticket{background:#19384d;box-shadow:inset 0 -4px 0 #e5b85a}.patient-screen-small-empty{grid-column:1/-1;color:#93aab4;padding:1.2rem .4rem}.patient-screen-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 2.2rem;background:#04141c;border-top:1px solid rgba(255,255,255,.1);color:#a7bac2}.patient-screen-footer>div:first-child{display:flex;gap:.65rem;align-items:baseline}.patient-screen-footer strong{color:#fff}.patient-screen-summary{display:flex;gap:1.4rem;font-size:.85rem}.patient-screen-summary b{color:#fff}.patient-queue-screen:fullscreen .patient-screen-controls a{display:none}@media(max-width:980px){.queue-screen-launcher{align-items:flex-start;flex-direction:column}.queue-screen-launcher-actions{justify-content:flex-start}.patient-screen-header{grid-template-columns:1fr auto}.patient-screen-time{grid-column:2;grid-row:1}.patient-screen-controls{grid-column:1/-1;justify-content:flex-end}.patient-waiting-grid{grid-template-columns:1fr}.patient-screen-footer{align-items:flex-start;flex-direction:column}.patient-screen-summary{flex-wrap:wrap}}@media(max-width:620px){.patient-screen-header{padding:1rem;gap:1rem}.patient-screen-mark{width:46px;height:46px;border-radius:14px}.patient-screen-brand h1{font-size:1.15rem}.patient-screen-brand p{font-size:.78rem}.patient-screen-time strong{font-size:1.35rem}.patient-screen-time span{font-size:.72rem}.patient-screen-controls{justify-content:stretch}.patient-screen-controls>*{flex:1;text-align:center}.patient-screen-layout{padding:1rem}.patient-serving-section,.patient-waiting-panel{border-radius:20px;padding:1rem}.patient-serving-card{min-height:150px}.patient-ticket-grid{grid-template-columns:repeat(3,1fr)}.patient-ticket{font-size:1.25rem}.patient-screen-footer{padding:1rem}.patient-screen-footer>div:first-child{align-items:flex-start;flex-direction:column;gap:.25rem}}


/* v0.5.7.5 expected patients on queue.php */
.expected-day-card{margin:0 0 1.25rem;padding:1.2rem}.expected-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.expected-day-head h2{margin:.15rem 0 .3rem}.expected-day-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}.expected-day-summary{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:.55rem}.expected-day-summary span{padding:.7rem .8rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);font-size:.75rem;color:var(--muted);text-align:center;white-space:nowrap}.expected-day-summary strong{display:block;color:var(--text);font-size:1.15rem}.expected-day-summary .late strong{color:#b65c22}.expected-day-tools{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1rem 0}.expected-search{min-width:min(420px,100%);font-size:.78rem;font-weight:800;color:var(--muted)}.expected-search input{display:block;width:100%;margin-top:.35rem}.expected-filter-group{display:flex;flex-wrap:wrap;gap:.45rem}.expected-filter-group button{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.55rem .75rem;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.expected-filter-group button span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:.28rem;border-radius:999px;background:var(--surface-2);color:var(--text)}.expected-filter-group button.active{background:var(--primary);border-color:var(--primary);color:#fff}.expected-filter-group button.active span{background:rgba(255,255,255,.2);color:#fff}.expected-day-list{display:grid;gap:.55rem}.expected-patient-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.expected-patient-row[hidden]{display:none}.expected-patient-row.late{border-left:4px solid #d87636}.expected-patient-row.due{border-left:4px solid #d7aa35}.expected-patient-row.arrived{border-left:4px solid var(--primary)}.expected-patient-row.completed{opacity:.78}.expected-patient-row>time{display:flex;align-items:baseline;gap:.25rem;font-variant-numeric:tabular-nums}.expected-patient-row>time strong{font-size:1.25rem}.expected-patient-row>time span{font-size:.72rem;color:var(--muted);font-weight:800}.expected-patient-main{min-width:0}.expected-patient-title{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.expected-patient-title>strong{font-size:.95rem}.expected-state{display:inline-flex;align-items:center;padding:.28rem .5rem;border-radius:999px;background:var(--surface-2);font-size:.7rem;font-weight:850;color:var(--muted)}.expected-state.late{background:#fff0e6;color:#a9501b}.expected-state.due{background:#fff7d9;color:#8a6812}.expected-state.arrived{background:#e4f7f3;color:#177266}.expected-state.completed{background:#e9f5e8;color:#37783b}.expected-state.no_show{background:#f4e9ea;color:#92464c}.expected-patient-meta{display:flex;flex-wrap:wrap;gap:.3rem .75rem;margin-top:.35rem;color:var(--muted);font-size:.76rem}.expected-patient-meta span+span:before{content:"•";margin-right:.75rem;color:var(--line-strong,var(--line))}.expected-patient-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.45rem}.expected-patient-actions>a:not(.btn){font-size:.78rem;font-weight:800}.expected-patient-actions .btn{padding:.55rem .7rem;font-size:.76rem}.expected-day-empty{padding:1.4rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.queue-card:target{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);scroll-margin-top:90px}@media(max-width:980px){.expected-day-head{flex-direction:column}.expected-day-summary{width:100%}.expected-day-tools{align-items:stretch;flex-direction:column}.expected-search{min-width:0}.expected-patient-row{grid-template-columns:70px minmax(0,1fr)}.expected-patient-actions{grid-column:1/-1;justify-content:flex-start;padding-left:86px}}@media(max-width:620px){.expected-day-summary{grid-template-columns:repeat(2,1fr)}.expected-patient-row{grid-template-columns:1fr;gap:.55rem}.expected-patient-row>time{justify-content:flex-start}.expected-patient-actions{grid-column:auto;padding-left:0}.expected-patient-actions .btn{flex:1}.expected-patient-meta span+span:before{display:none}.expected-patient-meta{display:grid;gap:.2rem}}

/* v0.5.7.6 role-safe daily command center and continuity controls */
.daily-command-center{margin:1rem 0 1.25rem}.daily-command-center .card-head{align-items:flex-start}.daily-command-center .card-head p{margin:.3rem 0 0;color:var(--muted);max-width:760px}.daily-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.daily-task-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"count title" "count note" "count action";column-gap:.8rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-decoration:none;color:var(--text);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.daily-task-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 12px 30px rgba(20,61,72,.1)}.daily-task-count{grid-area:count;display:grid;place-items:center;min-width:48px;height:48px;padding:0 .5rem;border-radius:15px;background:var(--surface-2);font-size:1.05rem;font-weight:900;font-variant-numeric:tabular-nums}.daily-task-card strong{grid-area:title;font-size:.92rem;margin-top:.05rem}.daily-task-card small{grid-area:note;color:var(--muted);line-height:1.35;margin-top:.2rem}.daily-task-card em{grid-area:action;color:var(--primary);font-style:normal;font-size:.75rem;font-weight:850;margin-top:.55rem}.daily-task-card.urgent{border-left:4px solid #c45043}.daily-task-card.urgent .daily-task-count{background:#fbe9e6;color:#a53b31}.daily-task-card.warning{border-left:4px solid #d69c2f}.daily-task-card.warning .daily-task-count{background:#fff5d9;color:#886317}.daily-task-card.normal{border-left:4px solid var(--primary)}.daily-task-card.normal .daily-task-count{background:#e2f4f1;color:#176f67}.daily-task-card.clear{opacity:.82}.daily-task-card.clear .daily-task-count{background:#edf3f2;color:#53716e}.daily-task-empty{grid-column:1/-1;padding:1.2rem;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.continuity-care-note{padding:.78rem .9rem;border:1px solid #b9ddd7;border-radius:13px;background:#edf9f7;color:#245e58;line-height:1.45}.continuity-care-note.warning{border-color:#e9c888;background:#fff8e8;color:#805b16}.portal-calendar-link{display:inline-flex;margin-top:.55rem;font-size:.78rem;font-weight:850}.doctor-schedule-actions{flex-wrap:wrap}.table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}@media(max-width:620px){.daily-task-grid{grid-template-columns:1fr}.daily-task-card{grid-template-columns:44px 1fr}.doctor-schedule-actions>.btn,.doctor-schedule-actions>.inline-form{width:100%}.doctor-schedule-actions>.inline-form .btn{width:100%}}

/* v0.5.7.8 scalable list and table navigation */
html,body,.main,.smart-list-viewport,.queue-column{scrollbar-width:thin;scrollbar-color:#9eb4bc transparent}
.smart-list-viewport::-webkit-scrollbar,.queue-column::-webkit-scrollbar{width:10px;height:10px}
.smart-list-viewport::-webkit-scrollbar-thumb,.queue-column::-webkit-scrollbar-thumb{background:#9eb4bc;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.table-wrap.contains-smart-list{overflow:visible}
.smart-list-container{display:grid;gap:.55rem;margin-top:.75rem;min-width:0;overflow:visible}
.smart-list-viewport{max-height:min(64vh,720px);overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}
.smart-list-table{margin:0;min-width:720px}
.smart-list-table thead th{position:sticky;top:0;z-index:4;background:#f7f9fb;box-shadow:0 1px 0 var(--line)}
.smart-list-table tbody tr[hidden]{display:none}
.smart-list-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.55rem .1rem;color:var(--muted);font-size:.78rem}
.smart-list-controls-top{border-bottom:1px solid var(--line)}
.smart-list-controls-bottom{border-top:1px solid var(--line)}
.smart-list-controls-left,.smart-list-controls-right,.smart-list-nav{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.smart-list-summary{color:var(--ink);font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.smart-list-search{display:flex;flex-direction:row;align-items:center;gap:.45rem;font-size:.75rem;color:var(--muted);font-weight:800}
.smart-list-search input{width:min(260px,42vw);height:36px;padding:.45rem .65rem}
.smart-list-size{display:flex;flex-direction:row;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted);font-weight:800}
.smart-list-size select{width:auto;min-width:70px;height:36px;padding:.35rem .45rem}
.smart-list-page-btn{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);min-width:36px;height:36px;padding:0 .55rem;border-radius:9px;font-size:1rem;font-weight:900;cursor:pointer}
.smart-list-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.smart-list-page-btn:disabled{opacity:.35;cursor:not-allowed}
.smart-list-page-label{min-width:96px;text-align:center;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
.smart-list-empty{padding:1.2rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;background:#fafcfd}
.smart-card-list{max-height:min(64vh,720px);overflow:auto;overscroll-behavior:contain;padding-right:.2rem}.smart-card-list-controls{margin:.1rem 0}
.expected-list-pager{margin:.15rem 0}.expected-day-list{max-height:min(58vh,640px);overflow:auto;padding-right:.2rem}.expected-day-list::-webkit-scrollbar{width:9px}.expected-day-list::-webkit-scrollbar-thumb{background:#aabcc3;border-radius:999px}
.queue-operations-bar{margin:0 0 1rem;padding:.75rem 0;align-items:center}.queue-operations-bar .toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.queue-grid-enhanced{align-items:stretch}.queue-grid-enhanced .queue-column{max-height:min(68vh,760px);overflow:auto;overscroll-behavior:contain;padding-top:0}
.queue-grid-enhanced .queue-column-head{position:sticky;top:0;z-index:5;margin:0 -.8rem .75rem;padding:.8rem;background:#edf1f5;border-bottom:1px solid #dce4e9}
@media(max-width:760px){.smart-list-controls{align-items:stretch}.smart-list-controls-left,.smart-list-controls-right{width:100%;justify-content:space-between}.smart-list-search{width:100%;align-items:stretch;flex-direction:column}.smart-list-search input{width:100%}.smart-list-nav{margin-left:auto}.smart-list-page-label{min-width:82px}.smart-list-viewport{max-height:60vh}.smart-list-table{min-width:620px}.expected-day-list{max-height:55vh}.queue-operations-bar{align-items:stretch;flex-direction:column}.queue-operations-bar .toolbar-actions{justify-content:flex-start}.queue-grid-enhanced .queue-column{max-height:58vh}}

/* v0.5.7.8 pagination completion and visible page scrolling */
html::-webkit-scrollbar,body::-webkit-scrollbar,.main::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.smart-list-viewport::-webkit-scrollbar,.expected-day-list::-webkit-scrollbar,dialog::-webkit-scrollbar,.queue-column::-webkit-scrollbar{width:10px!important;height:10px!important;display:block!important}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.main::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.smart-list-viewport::-webkit-scrollbar-thumb,.expected-day-list::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb,.queue-column::-webkit-scrollbar-thumb{background:#9eb4bc!important;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.main::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,.smart-list-viewport::-webkit-scrollbar-track,.expected-day-list::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track,.queue-column::-webkit-scrollbar-track{background:transparent}
.smart-page-hidden{display:none!important}.smart-card-list{min-width:0}.smart-card-list+.smart-list-controls-bottom{margin-bottom:1rem}.smart-card-list~.smart-list-controls-bottom{border-top:1px solid var(--line)}
.page-jump-top{position:fixed;right:1rem;bottom:1rem;z-index:50;border:0;border-radius:999px;background:var(--primary);color:#fff;padding:.72rem .9rem;font-weight:850;box-shadow:0 12px 30px rgba(10,60,70,.3);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.18s}.page-jump-top.show{opacity:1;pointer-events:auto;transform:none}

@media(max-width:760px){.page-jump-top{right:.7rem;bottom:.7rem}.smart-card-list+.smart-list-controls-bottom{margin-bottom:.75rem}}

/* v0.5.7.9 — available date tiles and chair-bound scheduling */
.available-dates-panel{grid-column:1/-1;min-width:0;border:1px solid var(--line,#d9e3ea);border-radius:14px;background:#f8fbfc;padding:12px}
.available-date-intro{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748b);margin-bottom:8px}
.available-date-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:auto;scrollbar-color:#94a3b8 transparent}
.available-date-tile{flex:0 0 92px;min-height:88px;border:1px solid #cbd8df;border-radius:12px;background:#fff;color:var(--ink,#17324d);display:grid;place-items:center;padding:8px;cursor:pointer;box-shadow:0 3px 12px rgba(15,35,55,.05)}
.available-date-tile:hover,.available-date-tile:focus-visible{border-color:var(--primary,#0f766e);transform:translateY(-1px)}
.available-date-tile.active{background:var(--primary,#0f766e);border-color:var(--primary,#0f766e);color:#fff}
.available-date-tile span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.available-date-tile strong{font-size:1.65rem;line-height:1}
.available-date-tile small{font-size:.68rem;text-align:center;line-height:1.2;color:inherit}
.available-date-empty,.available-dates-panel.error{margin:0;color:#9f1239}
.chair-binding-note{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #b8d8d5;background:#effcf9;border-radius:12px;padding:11px 13px}
.chair-binding-note.warning{border-color:#f1c46c;background:#fff8e8}
.chair-binding-note strong{display:block}
.chair-binding-note small{display:block;color:var(--muted,#64748b);margin-top:2px}
.resource-conflict-panel{border-left:4px solid #c2410c}
.resource-conflict-panel table td{vertical-align:top}
.future-appointment-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.future-appointment-controls label{min-width:170px}
@media(max-width:760px){.available-date-tile{flex-basis:82px;min-height:80px}.chair-binding-note{align-items:flex-start;flex-direction:column}}

.continuity-schedule-status{padding:.75rem .9rem;border:1px solid #d9e4ea;border-radius:12px;background:#f7fafc;color:#43566a;font-size:.9rem;line-height:1.45}.continuity-schedule-status.success{border-color:#9fd8ca;background:#edf9f5;color:#075f55}.continuity-schedule-status.error{border-color:#efb0b0;background:#fff2f2;color:#8a1f1f}.continuity-schedule-status.is-loading{opacity:.78}

.resource-conflict-list{display:grid;gap:.7rem;margin-top:.8rem}.resource-conflict-list article{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.8rem;border:1px solid #efc6a6;border-radius:12px;background:#fffaf3}.resource-conflict-list article>div:first-child{display:grid;gap:.2rem}.resource-conflict-list .table-actions{justify-content:flex-end;flex-wrap:wrap}@media(max-width:800px){.resource-conflict-list article{display:grid}.resource-conflict-list .table-actions{justify-content:flex-start}}

/* v0.5.8.1 responsive weekly appointment calendar */
.appointment-week-card{min-width:0;overflow:hidden}
.appointment-week-carousel,.appointment-week-viewport,.appointment-week-grid{min-width:0;max-width:100%}
.appointment-week-scroll-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .65rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.appointment-week-scroll-controls span{color:var(--muted);font-size:.7rem;font-weight:800;text-align:center}
.appointment-week-scroll-controls .btn.compact{min-height:34px;padding:.42rem .7rem;white-space:nowrap}
.appointment-week-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-gutter:stable;overscroll-behavior-inline:contain;padding:0 0 .7rem;outline:none}
.appointment-week-viewport:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent);border-radius:14px}
.appointment-week-grid{display:grid;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 2.8rem)/5);gap:.7rem;overflow:visible!important;padding:0 .05rem}
.appointment-day-column{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.appointment-day-column>header{position:sticky;top:0;z-index:3}
.appointment-day-list{max-height:min(68vh,720px);overflow-y:auto;scrollbar-gutter:stable}
.appointment-calendar-tile{min-width:0;overflow:visible}
.appointment-calendar-tile.has-conflict{border-color:#e9a23b;border-left-color:#d92d20;box-shadow:0 0 0 2px rgba(217,45,32,.08)}
.appointment-tile-head{min-width:0}
.appointment-tile-head .badge{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appointment-calendar-tile h3,.appointment-tile-service,.appointment-tile-meta dd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appointment-calendar-tile h3{margin:.45rem 0 .12rem}
.appointment-tile-service{margin:0 0 .45rem!important}
.appointment-tile-meta{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:.2rem .4rem!important;margin:0!important;font-size:.65rem!important}
.appointment-conflict-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:.45rem 0 .1rem}
.appointment-conflict-tags span{display:inline-flex;align-items:center;min-height:22px;padding:.18rem .42rem;border:1px solid #f3b6ae;border-radius:999px;background:#fff1ef;color:#b42318;font-size:.58rem;font-weight:900;line-height:1.1}
.appointment-tile-details{margin-top:.5rem;border-top:1px solid var(--line);padding-top:.4rem}
.appointment-tile-details>summary{cursor:pointer;color:var(--primary);font-size:.67rem;font-weight:850;list-style:none}
.appointment-tile-details>summary::-webkit-details-marker{display:none}
.appointment-tile-details>summary::after{content:' +';font-weight:900}
.appointment-tile-details[open]>summary::after{content:' −'}
.appointment-tile-details>div{display:grid;gap:.35rem;margin-top:.45rem;padding:.5rem;border-radius:9px;background:#f8fafb;color:var(--muted);font-size:.64rem;line-height:1.45}
.appointment-tile-details p{margin:0!important;font-size:inherit!important;line-height:inherit!important}
.appointment-tile-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:.4rem!important;align-items:start;margin-top:.55rem!important;padding-top:.5rem!important}
.appointment-tile-actions .tile-action-primary{display:grid;place-items:center;min-width:0;min-height:34px;padding:.38rem .5rem;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--line));border-radius:9px;background:#eef8f7;color:var(--primary);font-size:.66rem;font-weight:900;text-align:center;white-space:nowrap}
.appointment-tile-actions>.tile-more-actions{grid-column:3;margin:0;min-width:0}
.appointment-tile-actions>.tile-more-actions[open]{grid-column:1/-1}
.tile-more-actions>summary{display:grid;place-items:center;width:38px;height:34px;margin-left:auto;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--primary);cursor:pointer;list-style:none;font-size:1.05rem;font-weight:900;line-height:1}
.tile-more-actions>summary::-webkit-details-marker{display:none}
.appointment-menu-panel{display:grid;gap:.35rem;margin-top:.45rem;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(20,33,61,.08)}
.appointment-menu-panel>a,.appointment-menu-action .link-btn{display:block;width:100%;padding:.42rem .5rem;border:0;border-radius:7px;background:#f7fafb;color:var(--primary);font-size:.67rem;font-weight:850;text-align:left;text-decoration:none}
.appointment-menu-panel>a:hover,.appointment-menu-action .link-btn:hover{background:#eaf7f5}
.appointment-menu-action{margin:0}
.appointment-menu-status{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:.25rem 0 0;padding-top:.5rem;border-top:1px solid var(--line)}
.appointment-menu-status label{min-width:0;font-size:.62rem}
.appointment-menu-status select,.appointment-menu-status input{width:100%;min-width:0;height:34px;padding:.35rem .45rem;font-size:.65rem}
.appointment-menu-status .btn{grid-column:1/-1;justify-self:start}
@media(min-width:1750px){.appointment-week-grid{grid-auto-columns:calc((100% - 4.2rem)/7)}}
@media(max-width:1100px){.appointment-week-grid{grid-auto-columns:calc((100% - 1.4rem)/3)}}
@media(max-width:720px){.week-calendar-head{grid-template-columns:38px minmax(0,1fr) 38px}.week-calendar-actions .btn{display:none}.appointment-week-scroll-controls{gap:.4rem}.appointment-week-scroll-controls .btn.compact{padding:.4rem .5rem;font-size:.65rem}.appointment-week-grid{grid-auto-columns:100%}.appointment-day-column{min-height:0}.appointment-tile-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px}.appointment-menu-status{grid-template-columns:1fr}}

/* v0.5.8.2 server-side lists and remote patient search */
.server-list-card{padding:0;overflow:hidden}.server-list-card>.table-wrap{border-radius:0;border-left:0;border-right:0}.server-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#f8fbfc;border-top:1px solid #dce8eb;border-bottom:1px solid #dce8eb}.server-pagination:first-child{border-top:0}.server-pagination-summary{font-size:.86rem;color:#526774}.server-pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.pagination-number{display:inline-flex;align-items:center;justify-content:center;min-width:2.15rem;height:2.15rem;padding:.2rem .55rem;border:1px solid #cbdcdf;border-radius:.55rem;background:#fff;color:#21424d;text-decoration:none;font-weight:700}.pagination-number.active{background:#087f73;color:#fff;border-color:#087f73}.server-page-size label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#5e7078}.server-page-size select{min-width:4.3rem;padding:.42rem .55rem}.remote-patient-picker{position:relative;display:grid;gap:.35rem}.remote-patient-picker input[type="search"]{width:100%}.remote-patient-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% - .1rem);max-height:20rem;overflow:auto;border:1px solid #b9d0d4;border-radius:.75rem;background:#fff;box-shadow:0 .8rem 2rem rgba(16,46,57,.18);padding:.35rem}.remote-picker-option{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;border:0;background:#fff;padding:.7rem .75rem;border-radius:.55rem;cursor:pointer}.remote-picker-option:hover,.remote-picker-option:focus{background:#eaf7f5;outline:none}.remote-picker-option strong{font-size:.9rem;color:#102f3b}.remote-picker-option small{font-size:.74rem;color:#607680}.remote-picker-empty{padding:.75rem;color:#607680;font-size:.85rem}.remote-patient-selection{font-size:.78rem;color:#087f73;font-weight:700}.reception-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.reception-priority-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid #d7e5e8;border-radius:.85rem;background:#fff;text-decoration:none;color:inherit}.reception-priority-card strong{font-size:1.55rem;color:#0b3541}.reception-priority-card.urgent{border-left:4px solid #c33}.reception-priority-card.warning{border-left:4px solid #d99a00}.reception-priority-card.normal{border-left:4px solid #087f73}@media(max-width:900px){.server-pagination{align-items:flex-start;flex-direction:column}.server-pagination-controls{justify-content:flex-start}.reception-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.reception-priority-grid{grid-template-columns:1fr}.server-pagination .btn{padding:.48rem .6rem}.server-pagination-summary{font-size:.8rem}}

/* v0.5.8.3 chair resources, staff invitation delivery, and email templates */
.template-manager-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:1rem;align-items:start}.template-list{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:.85rem}.template-list h2{margin:.15rem .35rem .65rem}.template-list h3{margin:.9rem .35rem .35rem;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.template-list a{display:grid;gap:.15rem;padding:.7rem .75rem;border-radius:11px;color:var(--text);text-decoration:none}.template-list a:hover{background:var(--surface-2)}.template-list a.active{background:#e9f7f5;color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.template-list small{color:var(--muted);font-size:.68rem}.template-editor textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.5}.template-variables{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.template-variables h3{margin:0 0 .55rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip-row code{padding:.32rem .5rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--primary);font-size:.68rem}.template-test-grid{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.template-test-grid .compact-form{display:flex;align-items:end;gap:.55rem;flex-wrap:wrap}.template-test-grid label{min-width:250px}.resource-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem;margin-top:1rem}.resource-tile{display:grid;align-content:start;gap:.75rem}.resource-tile.resource-unavailable{border-left:4px solid #c2410c;background:#fffaf5}.resource-tile dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem .75rem;margin:0}.resource-tile dt{color:var(--muted);font-size:.72rem;font-weight:800}.resource-tile dd{margin:0;text-align:right;font-size:.78rem;font-weight:800}.resource-tile details>summary{cursor:pointer;color:var(--primary);font-weight:850}.resource-tile details[open]>summary{margin-bottom:.75rem}.account-activation-card{max-width:560px}.badge.email-sent{background:#e6f6ed;color:#257247}.badge.email-pending,.badge.email-processing{background:#eaf2fb;color:#325f91}.badge.email-retry{background:#fff4db;color:#8b6419}.badge.email-failed{background:#fdeaea;color:#a23a3a}.badge.email-cancelled{background:#eef0f2;color:#5d6870}.email-delivery-note{display:grid;gap:.25rem}.email-delivery-note details{max-width:320px}.email-delivery-note summary{cursor:pointer;color:var(--primary);font-size:.72rem;font-weight:800}@media(max-width:900px){.template-manager-layout{grid-template-columns:1fr}.template-list{position:static;max-height:320px}.template-test-grid{align-items:stretch;flex-direction:column}.template-test-grid .compact-form{align-items:stretch}.template-test-grid label{min-width:0}.resource-tile-grid{grid-template-columns:1fr}}

/* v0.5.8.6 read-only demonstration mode */
.demo-read-only-banner{position:sticky;top:0;z-index:80;display:flex;gap:.75rem;align-items:center;padding:.7rem 1rem;background:#fff7d6;border-bottom:1px solid #e7c95d;color:#5f4700}.demo-read-only-banner strong{white-space:nowrap}.demo-read-only-banner span{font-size:.9rem}.demo-read-only [data-demo-locked="1"]{position:relative;opacity:.78}.demo-read-only [aria-disabled="true"]{cursor:not-allowed;opacity:.55}.demo-login-note,.demo-credentials{display:grid;gap:.35rem;padding:.8rem;border:1px solid #d8c16b;background:#fff9dd;border-radius:.75rem;color:#5f4700}.demo-credentials code{display:block;padding:.3rem .45rem;background:rgba(255,255,255,.65);border-radius:.35rem}.demo-credentials small{margin-top:.2rem}

/* v0.5.8.6 structured dental chart */
.dental-chart-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.dental-chart-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dental-chart-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);gap:1rem;align-items:start}.dental-chart-card{overflow:hidden}.dental-arch{display:grid;gap:.5rem;margin:1rem 0}.arch-label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tooth-chart-row{display:grid;grid-template-columns:repeat(16,minmax(36px,1fr));gap:.4rem;overflow-x:auto;padding:.35rem 0}.tooth-chart-row.mixed{grid-template-columns:repeat(26,44px)}.dental-dentition-tabs{margin-bottom:1rem}.tooth-chart-tile{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;min-width:42px;aspect-ratio:.82;border:1px solid #ccd7df;border-radius:.65rem;background:#fff;text-decoration:none;color:#263746;overflow:hidden;box-shadow:0 2px 6px rgba(20,40,60,.06)}.tooth-chart-tile:hover,.tooth-chart-tile.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 24%,transparent)}.tooth-chart-tile strong{grid-column:2;grid-row:2;align-self:center;justify-self:center;z-index:3;font-size:.76rem;background:rgba(255,255,255,.9);border-radius:50%;min-width:1.45rem;height:1.45rem;display:grid;place-items:center}.tooth-surface{display:block;background:#f6f8fa;border:1px solid rgba(120,140,155,.18)}.surface-b{grid-column:2;grid-row:1}.surface-m{grid-column:1;grid-row:2}.surface-o{grid-column:2;grid-row:2}.surface-d{grid-column:3;grid-row:2}.surface-l{grid-column:2;grid-row:3}.tooth-chart-tile.tooth-missing{opacity:.45;background:repeating-linear-gradient(45deg,#fff,#fff 5px,#dce3e8 5px,#dce3e8 9px)}.tooth-surface.category-caries,.tooth-surface.category-endodontic,.tooth-surface.category-trauma,.tooth-surface.category-surgical,.tooth-chart-tile.category-caries,.tooth-chart-tile.category-missing{background:#ffd9d9}.tooth-surface.category-restoration,.tooth-surface.category-prosthesis{background:#cfe8ff}.tooth-surface.layer-proposed,.tooth-chart-tile.layer-proposed{background:#ffe9b8}.tooth-surface.layer-in_progress,.tooth-chart-tile.layer-in_progress{background:#e0d7ff}.tooth-surface.layer-completed,.tooth-chart-tile.layer-completed,.tooth-surface.category-completed{background:#cdeed8}.tooth-surface.severity-severe,.tooth-surface.severity-critical,.tooth-chart-tile.severity-severe,.tooth-chart-tile.severity-critical{box-shadow:inset 0 0 0 2px #b42318}.dental-midline{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;color:var(--muted);border-top:1px dashed #d8e0e5;border-bottom:1px dashed #d8e0e5;padding:.35rem 0}.tooth-legend{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.tooth-legend span{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem}.tooth-legend span:before{content:"";width:.72rem;height:.72rem;border-radius:.2rem;background:#eef2f5;border:1px solid #ccd6de}.tooth-legend .legend-caries:before{background:#ffd9d9}.tooth-legend .legend-restoration:before{background:#cfe8ff}.tooth-legend .legend-proposed:before{background:#ffe9b8}.tooth-legend .legend-progress:before{background:#e0d7ff}.tooth-legend .legend-completed:before{background:#cdeed8}.tooth-legend .legend-severe:before{background:#fff;border:2px solid #b42318}.tooth-detail-panel{position:sticky;top:5.5rem}.tooth-finding-list{display:grid;gap:.75rem}.tooth-finding{padding:.8rem;border:1px solid #dbe3e8;border-left:4px solid #7d8d99;border-radius:.75rem}.tooth-finding.category-caries,.tooth-finding.category-endodontic,.tooth-finding.category-trauma,.tooth-finding.category-surgical{border-left-color:#b42318}.tooth-finding.category-restoration,.tooth-finding.category-prosthesis{border-left-color:#1473b8}.tooth-finding.layer-proposed{border-left-color:#bd7b00}.tooth-finding.layer-completed{border-left-color:#178447}.tooth-finding>div:first-child{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.tooth-finding p{margin:.4rem 0}.surface-picker{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:.5rem}.surface-picker legend{font-weight:800}.surface-picker label{display:flex;gap:.4rem;align-items:center;padding:.55rem;border:1px solid #d7e0e6;border-radius:.65rem}.surface-picker label span{display:grid;font-size:.72rem}.surface-picker label strong{font-size:.9rem}.dental-review-grid{align-items:start}.dental-chart-stats{margin-bottom:1rem}@media(max-width:1050px){.dental-chart-layout{grid-template-columns:1fr}.tooth-detail-panel{position:static}.tooth-chart-row{grid-template-columns:repeat(16,44px)}.tooth-chart-row.mixed{grid-template-columns:repeat(26,44px)}}@media(max-width:720px){.dental-chart-header{align-items:flex-start;flex-direction:column}.surface-picker{grid-template-columns:repeat(2,1fr)}.tooth-chart-row{grid-template-columns:repeat(16,40px)}.tooth-chart-row.mixed{grid-template-columns:repeat(26,40px)}}

/* v0.5.8.7 self-service installer builder */
.installer-builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.installer-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.installer-type-card h2,.installer-type-card p{margin:0}.installer-type-card ul{margin:.15rem 0 1rem;padding-left:1.2rem;color:var(--muted);line-height:1.65}.installer-type-card form{margin-top:auto}.installer-type-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e5f6f3;color:var(--primary)}.installer-type-icon .ui-icon{width:25px;height:25px}.installer-ready-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-color:#9fd8ca;background:#f0fbf7}.installer-ready-card h2{margin:.2rem 0}.installer-ready-card p{margin:.25rem 0}.installer-ready-card .checksum,.checksum{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;color:var(--muted)}.btn:disabled{cursor:not-allowed;opacity:.5}.installer-builder-grid+.card{margin-top:1rem}@media(max-width:900px){.installer-builder-grid{grid-template-columns:1fr}.installer-ready-card{align-items:flex-start;flex-direction:column}}

/* v0.5.8.8 doctor treatment dashboard and anatomical odontogram */
.treatment-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.treatment-dashboard-heading h2{margin:.2rem 0}.chair-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1rem 0}.chair-command-card{border-top:4px solid var(--line)}.chair-command-card.available{border-top-color:#178447}.chair-command-card.occupied{border-top-color:var(--primary)}.chair-command-card.warning-card{border-top-color:#bd7b00}.chair-command-card h3{margin:.25rem 0}.chair-patient{display:flex;flex-direction:column;gap:.2rem;padding:.85rem;margin:.8rem 0;background:#f5f8f8;border-radius:12px}.active-treatment-cockpit{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1.2rem;align-items:center;border-left:6px solid var(--primary);margin:1rem 0}.active-treatment-primary h2{font-size:2rem;margin:.25rem 0}.active-treatment-primary>p{color:var(--muted)}.active-treatment-actions{display:grid;gap:.55rem}.active-treatment-actions form,.active-treatment-actions .btn{width:100%;margin:0}.treatment-meta-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}.treatment-meta-strip span{display:flex;flex-direction:column;gap:.18rem;padding:.7rem;border:1px solid var(--line);border-radius:10px;font-size:.82rem}.treatment-meta-strip strong{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.doctor-treatment-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;align-items:start}.treatment-patient-list{display:grid;gap:.75rem}.treatment-patient-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:14px}.treatment-patient-card h3{margin:.2rem 0}.treatment-patient-card p{margin:.2rem 0;color:var(--muted)}.patient-risk-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.65rem}.badge.danger{background:#fdecec;color:#9b1c1c}.compact-flow-list{display:grid;gap:.4rem}.compact-flow-list article{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.compact-flow-list article>div{display:flex;flex-direction:column;gap:.2rem}.compact-flow-list article>div:last-child{align-items:flex-end}.compact-flow-list small{color:var(--muted)}.treatment-support-grid{margin-top:1rem}.treatment-empty-state{margin:1rem 0}

.anatomical-arch{overflow:hidden}.tooth-model-row{display:flex;align-items:flex-end;justify-content:center;gap:.12rem;min-width:max-content;overflow-x:auto;padding:.55rem .2rem 1rem;scrollbar-width:thin}.tooth-model-row.mixed{justify-content:flex-start}.odontogram-tooth{position:relative;display:flex;flex:0 0 48px;height:116px;flex-direction:column;align-items:center;justify-content:flex-start;color:var(--ink);text-decoration:none;border-radius:10px;padding:.15rem;transition:transform .16s,background .16s,box-shadow .16s}.odontogram-tooth:hover{background:#f3f8f7;transform:translateY(-2px)}.odontogram-tooth.selected{background:#e8f4f2;box-shadow:0 0 0 2px var(--primary)}.odontogram-tooth svg{width:46px;height:94px;overflow:visible;filter:drop-shadow(0 2px 2px rgba(20,33,61,.08))}.odontogram-tooth .tooth-root,.odontogram-tooth .tooth-crown{fill:#fbfcfd;stroke:#8293a1;stroke-width:1.8;stroke-linejoin:round}.odontogram-tooth .tooth-zone{fill:rgba(255,255,255,.38);stroke:#aab7c1;stroke-width:.85;transition:fill .15s}.odontogram-tooth .tooth-number{font-size:.72rem;font-weight:850;line-height:1}.odontogram-tooth .tooth-finding-count{position:absolute;right:0;top:.2rem;min-width:19px;height:19px;padding:0 .25rem;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:.65rem;font-weight:900}.odontogram-tooth.arch-lower{justify-content:flex-start}.odontogram-tooth.arch-lower svg{margin-top:0}.odontogram-tooth.tooth-missing{opacity:.48}.odontogram-tooth .tooth-missing-mark{fill:none;stroke:#8e1d16;stroke-width:4;stroke-linecap:round}.odontogram-tooth .category-caries,.odontogram-tooth .category-endodontic,.odontogram-tooth .category-trauma,.odontogram-tooth .category-surgical,.odontogram-tooth .category-missing{fill:#f6a9a5}.odontogram-tooth .category-restoration,.odontogram-tooth .category-prosthesis{fill:#9bd0f3}.odontogram-tooth .layer-proposed{fill:#f6d68a}.odontogram-tooth .layer-in_progress{fill:#c8b7f3}.odontogram-tooth .layer-completed,.odontogram-tooth .category-completed{fill:#9fd7b4}.odontogram-tooth .severity-severe,.odontogram-tooth .severity-critical{stroke:#b42318;stroke-width:3}.odontogram-tooth.compact{flex-basis:36px;height:88px;padding:0}.odontogram-tooth.compact svg{width:34px;height:72px}.odontogram-tooth.compact .tooth-number{font-size:.62rem}.odontogram-tooth.compact .tooth-finding-count{min-width:15px;height:15px;font-size:.56rem}.embedded-chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:1rem;align-items:start}.embedded-odontogram{min-width:0}.embedded-arch>span{display:block;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.35rem 0}.tooth-model-row.compact-row{justify-content:center;gap:0;padding:.2rem 0 .5rem}.embedded-findings-panel{border-left:1px solid var(--line);padding-left:1rem}.embedded-findings-panel article{display:flex;flex-direction:column;gap:.2rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.embedded-findings-panel article span{font-size:.84rem}.embedded-findings-panel article small{color:var(--muted)}.embedded-findings-panel .btn{margin-top:.8rem;width:100%}

@media(max-width:1100px){.doctor-treatment-columns,.embedded-chart-layout{grid-template-columns:1fr}.embedded-findings-panel{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}.treatment-meta-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.treatment-dashboard-heading,.active-treatment-cockpit{grid-template-columns:1fr;display:grid;align-items:start}.active-treatment-actions{grid-template-columns:1fr 1fr}.treatment-patient-card{grid-template-columns:1fr}.treatment-patient-card .status-actions{width:100%}.treatment-patient-card .status-actions .btn,.treatment-patient-card .status-actions form{flex:1}.treatment-meta-strip{grid-template-columns:1fr 1fr}.tooth-model-row{justify-content:flex-start}.odontogram-tooth{flex-basis:42px}.odontogram-tooth.compact{flex-basis:34px}.compact-flow-list article{align-items:flex-start}.compact-flow-list article>div:last-child{align-items:flex-start}}

/* v0.5.8.9 treatment chair integrity and doctor patient snapshot */
.chair-command-card.conflict{border-top-color:#b42318;background:#fff7f6}.chair-command-card.conflict .badge{background:#fde7e5;color:#8f1710}.patient-treatment-snapshot{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);overflow:hidden;margin-top:.85rem}.patient-treatment-snapshot>summary{cursor:pointer;font-weight:700;padding:.8rem 1rem;background:#f5f8f8;list-style:none}.patient-treatment-snapshot>summary::-webkit-details-marker{display:none}.patient-treatment-snapshot>summary:after{content:'＋';float:right}.patient-treatment-snapshot[open]>summary:after{content:'−'}.patient-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem}.patient-snapshot-grid section{border:1px solid var(--line);border-radius:12px;padding:.8rem;background:#fff;min-width:0}.patient-snapshot-grid section h4{margin:0 0 .55rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.patient-snapshot-grid dl{display:grid;grid-template-columns:minmax(95px,.38fr) minmax(0,1fr);gap:.35rem .65rem;margin:0}.patient-snapshot-grid dt{font-size:.76rem;color:var(--muted);font-weight:700}.patient-snapshot-grid dd{margin:0;overflow-wrap:anywhere}.patient-snapshot-grid p{margin:.25rem 0}.patient-snapshot-grid .snapshot-medical{border-color:#e9b8b4;background:#fff8f7}.snapshot-findings{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.snapshot-last-visit{grid-column:span 2}.treatment-patient-card>.patient-treatment-snapshot{margin-top:0}.compact-flow-list article.compact-flow-patient{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.compact-flow-patient>.patient-treatment-snapshot{grid-column:1/-1;width:100%}.active-treatment-cockpit+.patient-treatment-snapshot{margin:0 0 1rem}.danger-text{color:#9b1c1c;font-weight:700}
@media(max-width:980px){.patient-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-last-visit{grid-column:1/-1}}
@media(max-width:640px){.patient-snapshot-grid{grid-template-columns:1fr}.snapshot-last-visit{grid-column:auto}.patient-snapshot-grid dl{grid-template-columns:1fr}.compact-flow-list article.compact-flow-patient{grid-template-columns:1fr}.compact-flow-patient>div:last-of-type{align-items:flex-start}}
.snapshot-odontogram{border-top:1px solid var(--line);padding:1rem;background:#fbfdfd;overflow-x:auto}.snapshot-odontogram-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.snapshot-odontogram .tooth-model-row{min-width:max-content;justify-content:center}.snapshot-odontogram .odontogram-tooth.compact{flex-basis:30px}.snapshot-odontogram .odontogram-tooth.compact svg{height:58px}.snapshot-odontogram .tooth-number{font-size:.64rem}
.treatment-patient-card.chair-conflict{border-color:#d92d20;background:#fff8f7;box-shadow:0 0 0 1px rgba(217,45,32,.08)}

/* v0.5.9.0 interactive odontogram and doctor identity */
.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.treatment-doctor-identity,.clinical-provider-identity{display:flex;align-items:center;gap:14px;min-width:0}.treatment-doctor-identity>div:last-child,.clinical-provider-identity>div:last-child{display:flex;flex-direction:column;min-width:0}.treatment-doctor-avatar{width:76px;height:76px;border-radius:20px;font-size:28px}.doctor-avatar-small{width:52px;height:52px;border-radius:15px;font-size:20px}.clinical-provider-identity{padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.clinical-provider-identity strong,.clinical-provider-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinical-patient-banner{display:grid;grid-template-columns:minmax(220px,1fr) minmax(230px,.72fr) auto;align-items:center;gap:18px}.chart-access-notice{margin:12px 0}.odontogram-tooth[data-tooth-editable="1"]{cursor:pointer}.odontogram-tooth[data-tooth-editable="1"]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}.odontogram-tooth[data-tooth-editable="0"]{cursor:not-allowed}.odontogram-tooth[data-tooth-editable="0"]:hover{transform:none;background:color-mix(in srgb,var(--warning) 7%,transparent)}
@media(max-width:900px){.clinical-patient-banner{grid-template-columns:1fr}.clinical-provider-identity{justify-self:start}.treatment-dashboard-heading{align-items:flex-start}.treatment-doctor-identity{align-items:flex-start}}

/* v0.5.9.1 fully visible contextual navigation */
.context-nav-shell.context-nav-expanded{display:block;min-height:0;padding:.35rem .4rem}
.context-nav-expanded .context-tabs{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;width:100%;overflow:visible;margin:0;padding:0;gap:.25rem}
.context-nav-expanded .context-tabs a{flex:0 1 auto;min-width:max-content;padding:.66rem .76rem}
.context-nav-expanded .context-tabs a span{display:inline}
@media(min-width:761px) and (max-width:1180px){.context-nav-expanded .context-tabs{gap:.2rem}.context-nav-expanded .context-tabs a{padding:.58rem .62rem;font-size:.82rem}.context-nav-expanded .context-icon{width:16px;height:16px}}
@media(max-width:760px){.context-nav-shell.context-nav-expanded{position:relative;top:auto;padding:.4rem}.context-nav-expanded .context-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%}.context-nav-expanded .context-tabs a{width:100%;min-width:0;padding:.58rem .62rem}.context-nav-expanded .context-tabs a span,.context-nav-expanded .context-tabs a.active span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-nav-expanded .context-tabs em{margin-left:auto}}
@media(max-width:430px){.context-nav-expanded .context-tabs{grid-template-columns:1fr}}

/* v0.5.9.2 FDI labeling, chairside imaging, and treatment completion handoff */
.fdi-orientation-note{display:flex;align-items:flex-start;gap:.65rem;margin:.45rem 0 .8rem;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:.8rem;background:color-mix(in srgb,var(--primary) 5%,#fff);font-size:.78rem}.fdi-orientation-note strong{white-space:nowrap;color:var(--primary)}.fdi-orientation-note span{color:var(--muted);line-height:1.45}.tooth-imaging-list{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.tooth-imaging-list h3{margin:0 0 .55rem;font-size:.95rem}.tooth-imaging-list article{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.tooth-imaging-list article>div{display:grid;gap:.1rem}.tooth-imaging-list small{color:var(--muted)}.clinical-imaging-strip{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.clinical-imaging-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:.65rem}.clinical-imaging-grid article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-2)}.clinical-imaging-grid article>div:nth-child(2){display:grid;min-width:0;gap:.12rem}.clinical-imaging-grid article strong,.clinical-imaging-grid article span,.clinical-imaging-grid article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinical-imaging-grid article span,.clinical-imaging-grid article small{color:var(--muted);font-size:.78rem}.clinical-image-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:.7rem;background:color-mix(in srgb,var(--primary) 11%,#fff);color:var(--primary);font-size:.72rem;font-weight:900}.clinical-record-form select[data-treatment-item-select]{min-height:3.15rem}.clinical-record-form [data-billable-amount]{font-weight:800}.clinical-record-form .notice.success{margin:0;padding:.8rem;border-radius:.75rem}.dental-chart-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
@media(max-width:760px){.fdi-orientation-note{display:grid}.fdi-orientation-note strong{white-space:normal}.clinical-imaging-grid{grid-template-columns:1fr}.dental-chart-actions{justify-content:flex-start}.tooth-detail-panel .card-head{align-items:flex-start}.tooth-detail-panel .card-head>.status-actions{width:100%}}
/* v0.5.9.2 imaging previews and doctor snapshot */
.fdi-orientation-note.compact{margin:.25rem 0 .55rem;padding:.5rem .65rem;font-size:.72rem}.snapshot-imaging{grid-column:span 2}.snapshot-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.snapshot-section-head h4{margin:0!important}.snapshot-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.snapshot-image-card{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:.55rem;padding:.45rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface-2);color:inherit}.snapshot-image-card img{width:54px;height:54px;object-fit:cover;border-radius:.55rem;background:#0b1720}.snapshot-image-card>span:last-child{display:grid;gap:.15rem;min-width:0}.snapshot-image-card strong,.snapshot-image-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-image-card small{color:var(--muted);font-size:.72rem}.clinical-image-preview{display:block;width:58px;height:58px;border-radius:.65rem;overflow:hidden;background:#0b1720}.clinical-image-preview img{width:100%;height:100%;object-fit:cover}.clinical-imaging-grid article{grid-template-columns:58px minmax(0,1fr) auto}
@media(max-width:980px){.snapshot-imaging{grid-column:1/-1}}
@media(max-width:640px){.snapshot-imaging{grid-column:auto}.snapshot-image-grid{grid-template-columns:1fr}.clinical-imaging-grid article{grid-template-columns:52px minmax(0,1fr)}.clinical-imaging-grid article>a:last-child{grid-column:2}}

/* v0.5.9.2 keyboard-first doctor workflow and latest prescription */
.keyboard-shortcuts{margin:.6rem 0;padding:.7rem .85rem;border:1px dashed color-mix(in srgb,var(--primary) 30%,var(--line));background:color-mix(in srgb,var(--primary) 4%,var(--surface));font-size:.82rem;color:var(--muted)}
.keyboard-shortcuts summary{cursor:pointer;font-weight:800;color:var(--text)}
.keyboard-shortcuts>div{margin-top:.55rem;line-height:1.65}
kbd{display:inline-block;min-width:1.55rem;padding:.08rem .34rem;margin:0 .08rem;border:1px solid var(--line);border-bottom-width:2px;border-radius:.35rem;background:var(--surface-2);color:var(--text);font:700 .72rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center}
.shortcut-hint{margin-left:.35rem;font-size:.72rem;opacity:.72}
[data-chart-tooth]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:3px;border-radius:.65rem}
.snapshot-prescription{grid-column:span 2}
.snapshot-rx-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none}
.snapshot-rx-list li{display:grid;gap:.12rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-2)}
.snapshot-rx-list span,.snapshot-rx-list small{color:var(--muted);font-size:.75rem}
@media(max-width:980px){.snapshot-prescription{grid-column:1/-1}}
@media(max-width:640px){.snapshot-prescription{grid-column:auto}.snapshot-rx-list{grid-template-columns:1fr}.shortcut-hint{display:none}}

/* v0.5.9.3 — persistent back navigation and breadcrumb trail */
.page-context-bar{display:flex;align-items:center;gap:.8rem;margin:.55rem 0 1rem;min-height:42px}.page-back-button{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;padding:.62rem .82rem;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:800;box-shadow:0 5px 16px rgba(20,33,61,.05)}.page-back-button:hover{border-color:var(--primary);color:var(--primary)}.page-back-button svg{width:18px;height:18px}.page-breadcrumb{display:flex;align-items:center;gap:.4rem;min-width:0;color:var(--muted);font-size:.86rem}.page-breadcrumb a{font-weight:750;white-space:nowrap}.page-breadcrumb strong{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-icon{width:15px;height:15px;flex:0 0 auto;color:#9aa5b3}
@media(max-width:760px){.page-context-bar{align-items:flex-start;margin:.45rem 0 .85rem}.page-back-button{padding:.56rem .7rem}.page-breadcrumb{flex-wrap:wrap;line-height:1.3;padding-top:.55rem}.page-breadcrumb strong{white-space:normal;flex:1 1 100%;padding-left:1.1rem}.breadcrumb-icon{margin-top:.05rem}}

/* v0.5.9.3 — strict queue actions */
.queue-transition-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}.queue-transition-actions .inline-form{margin:0}.queue-transition-actions .btn{padding:.58rem .72rem;font-size:.78rem}.btn.danger.ghost{border-color:#efc4c0;color:var(--danger);background:#fff8f7}.btn.danger.ghost:hover{background:#fdecea}.compact-inline-form{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:.35rem;align-items:center;margin-top:.35rem}.compact-inline-form input{padding:.48rem .55rem;min-width:80px}.compact-inline-form .link-btn{white-space:nowrap}

/* v0.5.9.3 — cashier point-of-sale register */
.pos-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}.pos-page-heading h2{font-size:1.8rem;margin:.15rem 0 .25rem}.pos-page-heading p{margin:0;color:var(--muted);max-width:720px}.pos-patient-search{display:flex;align-items:flex-start;gap:.55rem;width:min(520px,100%)}.pos-patient-search .remote-patient-picker{flex:1;min-width:280px}.pos-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:start}.pos-queue-rail,.pos-register-panel,.pos-payment-panel,.pos-register-empty{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px rgba(20,33,61,.06)}.pos-queue-rail{position:sticky;top:1rem;max-height:calc(100vh - 120px);overflow:hidden;display:flex;flex-direction:column}.pos-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem 1.05rem;border-bottom:1px solid var(--line)}.pos-panel-head>div{display:flex;flex-direction:column}.pos-panel-head span{color:var(--muted);font-size:.78rem}.pos-queue-list{overflow:auto;padding:.65rem}.pos-queue-ticket{border:1px solid var(--line);border-radius:14px;padding:.75rem;margin-bottom:.55rem;background:#fff}.pos-queue-ticket.selected{border-color:var(--primary);background:#f0fbf9;box-shadow:0 0 0 2px rgba(13,124,117,.08)}.pos-queue-ticket.cashier_called{border-left:4px solid var(--primary)}.pos-queue-ticket>a{display:flex;flex-direction:column;color:var(--ink);gap:.2rem}.pos-queue-ticket strong{font-size:.9rem}.pos-queue-ticket small{color:var(--muted);line-height:1.35}.pos-queue-ticket em{font-style:normal;color:var(--primary);font-size:.76rem;font-weight:800;margin-top:.2rem}.pos-queue-ticket form{margin-top:.5rem}.pos-queue-number{font-size:.74rem;font-weight:900;letter-spacing:.08em;color:var(--primary)}.pos-empty{padding:1.2rem;color:var(--muted);text-align:center}.pos-transaction-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem;min-width:0}.pos-register-panel{min-width:0;overflow:hidden}.pos-payment-panel{position:sticky;top:1rem;overflow:hidden}.pos-customer-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;background:linear-gradient(135deg,#0d7c75,#095e59);color:#fff}.pos-customer-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.pos-customer-card h3{font-size:1.35rem;margin:.15rem 0}.pos-customer-card p{margin:0;opacity:.82}.pos-customer-meta{display:flex;flex-direction:column;text-align:right}.pos-customer-meta>span{font-size:1.1rem;opacity:1;font-weight:900}.pos-customer-meta small{opacity:.85}.pos-existing-invoice{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.75rem 1.2rem;background:#f7f9fc;border-bottom:1px solid var(--line)}.pos-existing-invoice span{color:var(--muted)}.pos-existing-invoice em{font-style:normal;color:#8a5a00;font-size:.8rem}.pos-catalog-section,.pos-cart-section{padding:1.1rem 1.2rem;border-bottom:1px solid var(--line)}.pos-cart-section{border-bottom:0}.pos-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.pos-section-title h3{margin:0;font-size:1rem}.pos-section-title span{color:var(--muted);font-size:.78rem}.pos-catalog-grid,.pos-suggestion-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.pos-suggestion-row{grid-template-columns:1fr 1fr;margin-bottom:.75rem;padding:.75rem;border-radius:14px;background:#fff8e7;border:1px solid #f3dca4}.pos-suggestion-row>strong{grid-column:1/-1;font-size:.78rem;color:#745000}.pos-catalog-button{appearance:none;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.7rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;min-height:68px}.pos-catalog-button:hover{border-color:var(--primary);background:#f2fbfa}.pos-catalog-button span{font-size:.82rem;font-weight:750;line-height:1.3}.pos-catalog-button b{color:var(--primary);font-size:.78rem}.pos-catalog-button.suggested{background:#fffdf7}.pos-custom-item{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:.5rem;margin-top:.75rem}.pos-cart-table-wrap{overflow:auto}.pos-cart-table{min-width:660px}.pos-cart-table th,.pos-cart-table td{padding:.58rem .45rem}.pos-cart-table th:nth-child(2){width:90px}.pos-cart-table th:nth-child(3){width:140px}.pos-cart-table th:nth-child(4){width:110px}.pos-cart-table th:nth-child(5){width:45px}.pos-cart-table input{padding:.58rem .62rem}.pos-cart-table strong{white-space:nowrap}.pos-remove-item{width:31px;height:31px;border-radius:9px;border:1px solid #efc9c5;background:#fff8f7;color:var(--danger);cursor:pointer;font-size:1.15rem}.pos-no-items{padding:1.25rem;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted)}.pos-lock-indicator{padding:.25rem .5rem;background:#eef3f6;border-radius:999px;font-size:.7rem!important;font-weight:800}.pos-totals{grid-template-columns:1fr auto;gap:.65rem;padding:1rem 1.1rem;margin:0;border-bottom:1px solid var(--line)}.pos-totals dt{color:var(--muted)}.pos-totals dd{text-align:right;font-variant-numeric:tabular-nums}.pos-grand-label{font-weight:900;color:var(--ink)!important;padding-top:.55rem;border-top:1px dashed var(--line)}.pos-grand-total{font-size:1.5rem;font-weight:950;color:var(--primary);padding-top:.35rem;border-top:1px dashed var(--line)}.pos-balance{font-size:1.05rem;font-weight:900}.pos-discount-box,.pos-payment-method{padding:1rem 1.1rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.pos-discount-box .wide,.pos-payment-method label:nth-child(3),.pos-payment-method label:nth-child(4){grid-column:1/-1}.pos-payment-method{grid-template-columns:1fr}.pos-payment-method textarea{min-height:58px}.pos-change-card{margin:1rem 1.1rem;padding:1rem;border-radius:14px;background:#0d2434;color:#fff;display:flex;flex-direction:column}.pos-change-card span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#a9c0cc}.pos-change-card strong{font-size:1.8rem;margin:.18rem 0}.pos-change-card small{color:#b9ccd4}.pos-checkout-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:0 1.1rem 1rem}.pos-print-actions{display:flex;justify-content:center;gap:1rem;padding:.8rem 1rem;border-top:1px solid var(--line);font-weight:750}.pos-register-empty{min-height:430px;display:grid;place-items:center;text-align:center;padding:2rem}.pos-register-empty>div{max-width:420px}.pos-register-empty .empty-icon{width:52px;height:52px;color:var(--primary)}.pos-register-empty h2{margin:.7rem 0 .3rem}.pos-register-empty p{color:var(--muted)}.pos-recent-transactions{margin-top:1rem}.pos-recent-transactions h2{margin:0}.pos-recent-transactions form{display:inline}.pos-recent-transactions .inline-actions{min-width:190px}
@media(max-width:1280px){.pos-shell{grid-template-columns:220px minmax(0,1fr)}.pos-transaction-grid{grid-template-columns:minmax(0,1fr) 300px}.pos-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1020px){.pos-page-heading{flex-direction:column}.pos-patient-search{width:100%}.pos-shell{grid-template-columns:1fr}.pos-queue-rail{position:relative;top:auto;max-height:none}.pos-queue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.pos-queue-ticket{margin:0}.pos-transaction-grid{grid-template-columns:1fr}.pos-payment-panel{position:relative;top:auto}.pos-payment-panel{display:grid;grid-template-columns:1fr 1fr}.pos-payment-panel>.pos-panel-head,.pos-payment-panel>.pos-totals,.pos-payment-panel>.pos-checkout-actions,.pos-payment-panel>.pos-print-actions{grid-column:1/-1}.pos-change-card{align-self:end}}
@media(max-width:680px){.pos-patient-search{flex-direction:column}.pos-patient-search .remote-patient-picker{min-width:0;width:100%}.pos-patient-search .btn{width:100%}.pos-queue-list{grid-template-columns:1fr}.pos-customer-card{align-items:flex-start;flex-direction:column}.pos-customer-meta{text-align:left}.pos-section-title{align-items:flex-start;flex-direction:column}.pos-catalog-grid,.pos-suggestion-row{grid-template-columns:1fr}.pos-custom-item{grid-template-columns:1fr}.pos-payment-panel{display:block}.pos-checkout-actions{grid-template-columns:1fr}.pos-discount-box{grid-template-columns:1fr}.pos-discount-box .wide{grid-column:auto}}


/* v0.5.9.8.1 compact Doctor Profile assignments */
.doctor-assignment-card{padding-bottom:.85rem}.doctor-assignment-card>.card-head{margin-bottom:.65rem}.assignment-section{border:1px solid var(--line);border-radius:13px;background:#fff;margin:.7rem 0;overflow:hidden}.assignment-section>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer;padding:.8rem .9rem;background:var(--surface-2)}.assignment-section>summary::-webkit-details-marker{display:none}.assignment-section>summary span{display:flex;flex-direction:column;min-width:0}.assignment-section>summary small{color:var(--muted);font-weight:500}.assignment-section>summary em{white-space:nowrap;font-style:normal;font-size:.72rem;padding:.3rem .5rem;border-radius:999px;background:#e8f4f2;color:var(--primary);font-weight:750}.assignment-tools{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.65rem .75rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.assignment-tools input{min-width:0;height:38px}.assignment-tools>div{display:flex;gap:.2rem;flex:0 0 auto}.assignment-option-list{max-height:270px;overflow:auto;padding:.25rem .7rem;display:grid;grid-template-columns:1fr;align-content:start}.branch-assignment-list{max-height:205px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.8rem}.assignment-option-list .permission-row{margin:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.assignment-option-list .permission-row[hidden]{display:none}.assignment-save-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.85rem -.1rem -.1rem;padding:.75rem .1rem .1rem;background:#fff;border-top:1px solid var(--line)}.assignment-save-bar span{font-size:.76rem;color:var(--muted)}
@media(max-width:760px){.assignment-tools{align-items:stretch;flex-direction:column}.assignment-tools>div{justify-content:flex-end}.branch-assignment-list{grid-template-columns:1fr}.assignment-save-bar{align-items:stretch;flex-direction:column}.assignment-save-bar .btn{width:100%}}

/* v0.5.9.8.2 schedule density, transient notices, and governed clinical handoff */
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.25rem 0 1rem}
.schedule-toolbar>.view-switch{display:flex;flex-direction:row;align-items:center;gap:.45rem;flex-wrap:wrap}
.schedule-toolbar>.view-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.62rem .9rem;border:1px solid var(--line);border-radius:11px;background:var(--surface,#fff);color:var(--muted);font-weight:800}
.schedule-toolbar>.view-switch a.active{background:var(--primary);border-color:var(--primary);color:#fff}
.schedule-toolbar>.toolbar-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap;margin-left:auto}
.appointment-auto-filter{margin-top:0;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(160px,1fr));align-items:end}
.flash[data-auto-dismiss]{transition:opacity .22s ease,transform .22s ease,max-height .22s ease,margin .22s ease,padding .22s ease;overflow:hidden}
.flash[data-auto-dismiss].is-dismissing{opacity:0;transform:translateY(-6px);max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0}
.treatment-owner-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2,#f7f9fb)}
.treatment-owner-card strong,.treatment-owner-card span{display:block}.treatment-owner-card span{color:var(--muted);font-size:.8rem;margin-top:.15rem}
.treatment-handoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:1rem}.treatment-handoff{padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}.treatment-handoff p{margin:.4rem 0;color:var(--muted)}
@media(max-width:1100px){.appointment-auto-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-auto-filter>label:first-of-type{grid-column:1/-1}}
@media(max-width:720px){.schedule-toolbar{align-items:stretch}.schedule-toolbar>.view-switch,.schedule-toolbar>.toolbar-actions{width:100%;margin-left:0}.schedule-toolbar>.view-switch a{flex:1}.schedule-toolbar>.toolbar-actions>*{flex:1}.appointment-auto-filter{grid-template-columns:1fr}.appointment-auto-filter>label:first-of-type{grid-column:auto}}

/* v0.5.9.8.2 existing-patient walk-in summary */
.walkin-existing-card{border:1px solid var(--border,#d8e1ea);border-radius:16px;padding:16px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.walkin-existing-card .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.walkin-existing-card .card-head strong,.walkin-existing-card .card-head small{display:block}
.walkin-existing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}
.walkin-existing-grid>div{min-width:0;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.22)}
.walkin-existing-grid>div.wide{grid-column:1/-1}
.walkin-existing-grid dt{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b)}
.walkin-existing-grid dd{margin:3px 0 0;overflow-wrap:anywhere}
.walkin-new-fields-disabled{opacity:.48;filter:grayscale(.2)}
@media(max-width:700px){.walkin-existing-grid{grid-template-columns:1fr}.walkin-existing-grid>div.wide{grid-column:auto}.walkin-existing-card .card-head{align-items:stretch;flex-direction:column}}

/* v0.5.9.8.2 governed in-house checkup workspace */
.inhouse-checkup-grid{align-items:start}
.inhouse-checkup-card{scroll-margin-top:96px}
.inhouse-checkup-card.has-alert{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.12)}
.inhouse-checkup-card .card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.inhouse-checkup-card .card-head>div{display:flex;flex-wrap:wrap;gap:6px}
.checkup-entry{margin-top:12px;border-top:1px solid var(--border,#d8e1ea);padding-top:10px}
.checkup-entry>summary{cursor:pointer;font-weight:800}
.checkup-entry .form-grid{margin-top:12px}
.checkup-referral-fields{padding:12px;border-radius:12px;background:rgba(14,116,144,.06);border:1px solid rgba(14,116,144,.18)}
.compact-stats{margin-bottom:16px}
/* v0.5.9.8.3 — clinical privilege clarity */
.clinical-privilege-card{padding:1rem}.clinical-privilege-groups{display:grid;gap:1rem;margin:1rem 0}.privilege-group{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface)}.privilege-group-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--primary) 7%,#fff);border-bottom:1px solid var(--line)}.privilege-group-header h3{margin:.05rem 0;font-size:1rem}.privilege-group-header p{margin:.15rem 0 0;color:var(--muted);font-size:.76rem}.privilege-group-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.privilege-group-actions>span{font-size:.72rem;font-weight:800;color:var(--primary);padding:.3rem .5rem;border-radius:999px;background:#fff;border:1px solid var(--line)}.clinical-privilege-grid{display:grid;grid-template-columns:1fr;gap:0;padding:.15rem .8rem}.clinical-privilege-option{display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:.65rem;padding:.8rem .25rem!important;margin:0!important;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);cursor:pointer}.clinical-privilege-option:last-child{border-bottom:0}.clinical-privilege-option:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.privilege-check{display:grid;place-items:center;width:28px;height:28px;margin-top:.05rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--line)}.privilege-check input{width:18px!important;height:18px!important;margin:0!important}.privilege-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.privilege-copy>strong{font-size:.91rem;color:var(--text)}.privilege-copy>small{color:var(--muted);line-height:1.4}.privilege-meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.15rem}.privilege-meta em{font-style:normal;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .4rem;border-radius:999px;background:#eef2f1}.privilege-meta code{font-size:.68rem;color:var(--muted);background:var(--surface-2);padding:.18rem .35rem;border-radius:6px}.risk-high,.risk-critical{background:#fee4e2!important;color:#b42318}.risk-moderate,.risk-medium{background:#fff4d8!important;color:#805b00}.risk-low{background:#e8f4f2!important;color:#087b55}.privilege-approval{margin:1rem 0}.clinical-privilege-option:has(input:disabled){cursor:not-allowed;opacity:.68}
@media(max-width:680px){.privilege-group-header{align-items:flex-start;flex-direction:column}.privilege-group-actions{justify-content:flex-start}.clinical-privilege-grid{padding:.1rem .55rem}}

/* v0.5.9.8.3 — treatment responsibility and delegated task routing */
.treatment-responsibility{margin-top:.55rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);font-size:.78rem;line-height:1.45}.treatment-responsibility strong{display:block;margin-bottom:.18rem}.treatment-responsibility.warning{border-color:#f2c36b;background:#fff8e8;color:#704b00}.delegated-task-panel{margin-top:1rem}.delegated-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.8rem}.delegated-task-card{padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.delegated-task-card.pending{border-color:#f2c36b;background:#fffdf7}.delegated-task-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.delegated-task-title strong,.delegated-task-title small{display:block}.delegated-task-title small{margin-top:.15rem;color:var(--muted)}.delegated-task-card>p{margin:.7rem 0;color:var(--muted)}.delegated-task-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.6rem 0}.delegated-task-meta span{padding:.55rem .65rem;border-radius:10px;background:var(--surface-2);font-size:.76rem}.delegated-task-meta b{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.15rem}.delegated-task-card .status-actions{margin-top:.7rem}
@media(max-width:680px){.delegated-task-grid{grid-template-columns:1fr}.delegated-task-meta{grid-template-columns:1fr}.delegated-task-title{align-items:stretch;flex-direction:column}.delegated-task-card .status-actions{align-items:stretch;flex-direction:column}.delegated-task-card .status-actions .btn{width:100%}}

/* v0.5.9.8.5 prescription medicine search/add */
.medicine-builder{display:grid;gap:1rem;margin:1rem 0}.medicine-search-shell{position:relative;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.medicine-search-label{font-size:1rem}.medicine-search-line{display:grid;grid-template-columns:1fr auto;gap:.65rem}.medicine-search-results{position:absolute;z-index:12;left:1rem;right:1rem;top:5.35rem;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.35rem}.medicine-result{width:100%;display:flex;flex-direction:column;gap:.2rem;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:.8rem;cursor:pointer;color:var(--ink)}.medicine-result:last-child{border-bottom:0}.medicine-result:hover,.medicine-result:focus{background:#eef7f6}.medicine-result small{color:var(--muted)}.medicine-result-new strong{color:var(--primary)}.medicine-items{display:grid;gap:1rem}.medicine-entry{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff}.medicine-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.medicine-entry-head>div{display:flex;flex-direction:column;gap:.2rem}.medicine-entry-head small{color:var(--muted)}.medicine-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.medicine-remove{padding:.5rem .75rem}.medicine-empty{padding:1.2rem;border:1px dashed #b8c2cf;border-radius:12px;text-align:center;color:var(--muted)}@media(max-width:900px){.medicine-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.medicine-search-line,.medicine-entry-grid{grid-template-columns:1fr}.medicine-search-results{top:8.8rem}.medicine-entry-head{align-items:stretch;flex-direction:column}.medicine-remove{width:100%}}

/* v0.5.9.8.7 guided clinical workspace */
.clinical-sticky-context{position:sticky;top:.5rem;z-index:12;display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(190px,.8fr) minmax(210px,1fr) auto;gap:1rem;align-items:center}
.clinical-alert-summary{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .9rem;border-left:3px solid var(--warning,#d99000);background:rgba(217,144,0,.07);border-radius:.5rem}.clinical-alert-summary small{color:var(--muted)}
.clinical-alert-banner{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.clinical-alert-banner span{padding:.2rem .5rem;background:rgba(255,255,255,.55);border-radius:999px}
.clinical-workspace-tabs{display:flex;gap:.35rem;overflow:auto;padding:.5rem;position:sticky;top:7rem;z-index:11}.clinical-workspace-tabs button{border:0;background:transparent;padding:.65rem .85rem;border-radius:.65rem;white-space:nowrap;font-weight:700;cursor:pointer}.clinical-workspace-tabs button span{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--surface-2,#eef2f5);margin-right:.3rem}.clinical-workspace-tabs button.active{background:var(--primary,#075e54);color:#fff}.clinical-workspace-tabs button.active span{background:rgba(255,255,255,.2)}
.clinical-workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1rem;align-items:start}.clinical-workspace-main{min-width:0;display:grid;gap:1rem}.clinical-completion-panel{position:sticky;top:11.5rem}.completion-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.completion-list li{display:grid;grid-template-columns:2rem 1fr;gap:.6rem;align-items:start;padding:.65rem;border:1px solid var(--border);border-radius:.65rem}.completion-list li>span{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;font-weight:800}.completion-list li.complete>span{background:#daf5e7;color:#087443}.completion-list li.missing>span{background:#fff1cf;color:#9b6100}.completion-list strong,.completion-list small{display:block}.completion-list small{color:var(--muted);margin-top:.12rem}.completion-blockers{margin:.8rem 0;padding:.65rem;border-radius:.6rem;font-size:.9rem}.completion-blockers.warning{background:#fff6dc;color:#704900}.completion-blockers.ready{background:#e1f7eb;color:#075f39}
.compact-clinical-section .card-head,.clinical-record-shell>.card-head{margin-bottom:.8rem}.intake-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.intake-summary-grid article{padding:.75rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-2,#f7f9fa)}.intake-summary-grid span,.intake-summary-grid strong{display:block}.intake-summary-grid span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.clinical-editor{margin-top:.8rem}.clinical-editor summary{cursor:pointer;font-weight:700;padding:.65rem 0}.compact-form textarea{min-height:unset;resize:vertical}
.clinical-form-panel{padding:.2rem}.section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.section-heading h3,.section-heading h4{margin:.15rem 0}.section-heading p{margin:0;color:var(--muted)}.section-heading.minor{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}
.exam-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.exam-domain{border:1px solid var(--border);border-radius:.7rem;padding:.7rem;background:var(--surface-2,#f8fafb)}.exam-domain>div{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.exam-domain select{width:auto;min-width:145px}.exam-domain textarea{width:100%;margin-top:.6rem}.exam-domain.abnormal{border-color:#c87800;background:#fff9ec}.exam-domain.complete:not(.abnormal){border-color:#94cdb1}
.diagnosis-list,.usage-list{display:grid;gap:.7rem}.diagnosis-row,.usage-row{border:1px solid var(--border);border-radius:.75rem;padding:.75rem;background:var(--surface-2,#f8fafb)}.diagnosis-row-head,.usage-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.icon-btn{border:0;background:transparent;font-size:1.35rem;cursor:pointer;color:var(--muted)}.diagnosis-fields{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(260px,2fr) minmax(100px,.55fr) minmax(120px,.6fr) minmax(140px,.75fr);gap:.6rem}.diagnosis-fields .wide{grid-column:1/-1}.diagnosis-search-label{position:relative}.lookup-results{position:absolute;left:0;right:0;top:100%;z-index:30;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--border);box-shadow:0 12px 28px rgba(0,0,0,.13);border-radius:.55rem}.lookup-results button{display:flex;width:100%;flex-direction:column;align-items:flex-start;border:0;border-bottom:1px solid var(--border);background:#fff;padding:.65rem;cursor:pointer;text-align:left}.lookup-results button:hover{background:#f1f7f5}.lookup-results small{color:var(--muted)}
.disposition-picker{max-width:650px}.procedure-panel[hidden]{display:none}.consent-status-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem;border-radius:.65rem}.consent-status-card>div{display:flex;flex-direction:column}.consent-status-card.ready{background:#e2f7eb;border:1px solid #8dccaa}.consent-status-card.blocked{background:#fff3d4;border:1px solid #e5bb5e}.emergency-consent-toggle{margin-top:.4rem}
.clinical-resource-section{margin-top:1rem}.usage-fields{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.6rem}.usage-fields .wide{grid-column:span 2}.usage-row.inventory-required [data-usage-inventory]{border-color:#b48a2e}.clinical-mobile-actions{position:sticky;bottom:.5rem;z-index:10;display:flex;justify-content:flex-end;gap:.6rem;padding:.75rem;margin-top:1rem;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 10px 30px rgba(0,0,0,.08)}
@media(max-width:1180px){.clinical-workspace-layout{grid-template-columns:1fr}.clinical-completion-panel{position:static;order:-1}.clinical-sticky-context{grid-template-columns:1fr 1fr}.clinical-workspace-tabs{top:.5rem}.diagnosis-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnosis-fields .wide{grid-column:1/-1}.usage-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.clinical-sticky-context,.intake-summary-grid,.exam-domain-grid,.diagnosis-fields,.usage-fields{grid-template-columns:1fr}.clinical-workspace-tabs{top:.25rem}.clinical-workspace-tabs button{padding:.55rem}.usage-fields .wide{grid-column:auto}.section-heading{flex-direction:column}.clinical-mobile-actions{flex-direction:column}.clinical-mobile-actions .btn{width:100%}}


.medicine-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
@media(max-width:720px){.medicine-entry-actions{width:100%;justify-content:flex-start}.medicine-entry-actions .btn{flex:1 1 auto}}

/* v0.5.9.8.8 — consent verification, preserved application chrome, and required-field keyboard flow */
.clinical-workspace-page .sidebar{display:flex!important}
.clinical-workspace-page .topbar{display:grid!important}
.clinical-workspace-page .topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.clinical-workspace-page .clinical-return-link,.clinical-workspace-page .clinical-next-required{min-height:42px;padding:.62rem .78rem;gap:.42rem;white-space:nowrap}
.clinical-next-required kbd{display:inline-grid;place-items:center;padding:.15rem .35rem;border:1px solid var(--line);border-radius:6px;background:#f6f8fa;color:var(--muted);font:700 .62rem ui-monospace,monospace}
.clinical-workspace-page .clinical-workspace-tabs{top:82px}
.completion-list li[role="button"]{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.completion-list li[role="button"]:hover,.completion-list li[role="button"]:focus-visible{border-color:var(--primary);background:#f3faf8;outline:none;transform:translateY(-1px)}

.consent-dialog{width:min(980px,96vw);max-height:min(92vh,900px);overflow:auto}
.consent-transaction-form{padding:1.15rem;gap:.85rem}
.consent-dialog-heading{padding:.3rem .2rem .2rem}
.consent-dialog-heading h2{margin:.15rem 0 .3rem;font-size:1.55rem}
.consent-dialog-heading p{margin:0;color:var(--muted);line-height:1.45}
.consent-form-section{padding:1rem;border:1px solid var(--line);border-radius:15px;background:#fbfcfd}
.consent-section-title{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.85rem}
.consent-section-title>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#e4f5f2;color:var(--primary);font-weight:900}
.consent-section-title strong,.consent-section-title small{display:block}
.consent-section-title small{margin-top:.15rem;color:var(--muted);font-weight:500;line-height:1.35}
.consent-required-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 0 .85rem;padding:.72rem .8rem;border:1px solid #f0cc83;border-radius:11px;background:#fff8e8;color:#78540e}
.consent-required-notice strong,.consent-required-notice span{display:block}
.consent-required-notice span{font-size:.78rem;line-height:1.4;text-align:right}
.consent-required-notice.ready{border-color:#a7dccc;background:#eefaf6;color:#166252}
.consent-submit-bar{position:sticky;bottom:-1px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -.1rem -.1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 -12px 30px rgba(20,33,61,.08);backdrop-filter:blur(12px)}
.consent-submit-bar strong,.consent-submit-bar small{display:block}
.consent-submit-bar small{margin-top:.15rem;color:var(--muted)}
.consent-transaction-form :invalid{border-color:#d49a39}
.consent-transaction-form :invalid:focus{outline:none;border-color:#b76f00;box-shadow:0 0 0 3px rgba(183,111,0,.14)}
@media(max-width:1120px){.clinical-workspace-page .topbar{grid-template-columns:minmax(170px,auto) 1fr}.clinical-workspace-page .global-search{grid-column:1/-1;grid-row:2}.clinical-workspace-page .topbar-actions{grid-column:2;grid-row:1}.clinical-next-required kbd{display:none}}
@media(max-width:760px){.clinical-workspace-page .topbar{display:grid!important}.clinical-workspace-page .clinical-workspace-tabs{top:.25rem}.clinical-workspace-page .clinical-return-link span,.clinical-workspace-page .clinical-next-required span{display:none}.clinical-workspace-page .clinical-return-link,.clinical-workspace-page .clinical-next-required{width:40px;height:40px;padding:0}.consent-form-section{padding:.8rem}.consent-required-notice,.consent-submit-bar{align-items:stretch;flex-direction:column}.consent-required-notice span{text-align:left}.consent-submit-bar .btn{width:100%}}

/* v0.5.9.8.9 — truthful finalization state and explicit follow-up decision */
.required-mark{display:inline-block;margin-left:.35rem;color:#9a5a00;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.followup-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.followup-decision-card{display:flex;align-items:flex-start;gap:.7rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.followup-decision-card:has(input:checked){border-color:var(--primary);background:#eefaf7;box-shadow:0 0 0 2px rgba(13,124,117,.08)}
.followup-decision-card input{margin-top:.2rem;flex:0 0 auto}
.followup-decision-card strong,.followup-decision-card small{display:block}.followup-decision-card small{margin-top:.2rem;color:var(--muted);line-height:1.4}
[data-follow-up-fields].is-disabled{opacity:.56;pointer-events:none}
.clinical-workspace-tabs button.stage-complete:not(.active) span{background:#daf5e7;color:#087443}
.clinical-workspace-tabs button.stage-missing:not(.active) span{background:#fff1cf;color:#9b6100}
.clinical-workspace-tabs button.stage-complete:not(.active){color:#176648}
.clinical-workspace-tabs button.stage-missing:not(.active){color:#7b5200}
.completion-list li.missing{border-color:#edd8a3;background:#fffdf7}
.completion-list li.complete{border-color:#cde9da;background:#fbfffd}
.completion-blockers.warning{border:1px solid #efd79a}
.clinical-completion-panel .btn kbd{margin-left:.35rem;padding:.12rem .3rem;border:1px solid currentColor;border-radius:5px;font:700 .6rem ui-monospace,monospace;opacity:.75}
@media(max-width:720px){.followup-decision-grid{grid-template-columns:1fr}}

/* v0.5.9.8.10: tooth-specific caries surface labels */
.surface-picker>[hidden]{display:none!important}.surface-picker-help,.surface-picker-error{grid-column:1/-1;display:block;font-size:.76rem;line-height:1.4}.surface-picker-help{color:var(--muted);margin:-.15rem 0 .15rem}.surface-picker-error{color:#b42318;font-weight:800;padding:.45rem .55rem;border-radius:.5rem;background:#fff1f0}.surface-picker.caries-surface-picker{grid-template-columns:repeat(4,minmax(110px,1fr))}.surface-picker.caries-surface-picker label{min-height:58px}.surface-picker label:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}@media(max-width:720px){.surface-picker.caries-surface-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.5.9.8.10 — encounter diagnosis ↔ dental chart synchronization */
.odontogram-tooth .category-diagnosis,.tooth-surface.category-diagnosis,.tooth-chart-tile.category-diagnosis{fill:#f6a9a5;background:#ffd9d9}
.tooth-finding.category-diagnosis{border-left-color:#b42318}
.diagnosis-surface-control{border:1px solid var(--line);border-radius:.8rem;padding:.75rem 1rem;margin:0;min-width:0}
.diagnosis-surface-control legend{font-weight:800;padding:0 .25rem}
.diagnosis-surface-options{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:.5rem}
.diagnosis-surface-options label{display:flex;align-items:center;gap:.45rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface,#fff);cursor:pointer}
.diagnosis-surface-options label[hidden]{display:none}
.diagnosis-surface-options label:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,white)}
.diagnosis-surface-options span{display:grid;font-size:.75rem;line-height:1.15}
.diagnosis-surface-options strong{font-size:.9rem}
.diagnosis-surface-control small{display:block;margin-top:.55rem;color:var(--muted)}
@media(max-width:800px){.diagnosis-surface-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.5.9.8.11 — cashier register, payee selection, and procedure-first POS */
.pos-session-card{margin-bottom:1rem;overflow:hidden}.pos-session-card>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;cursor:pointer}.pos-session-card>summary::-webkit-details-marker{display:none}.pos-session-card>summary>span:first-child{display:flex;flex-direction:column;gap:.12rem}.pos-session-card>summary small{color:var(--muted)}.pos-session-card[open]>summary{border-bottom:1px solid var(--line);background:#f8fbfc}.pos-session-body{padding:0 1rem 1rem}.pos-session-body>.card-head{padding-left:0;padding-right:0}
.pos-patient-search{position:relative}.pos-patient-search .remote-picker-results{position:absolute;left:0;right:0;top:100%;z-index:60;max-height:360px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(20,33,61,.18)}
.pos-queue-search{padding:.65rem;border-bottom:1px solid var(--line)}.pos-queue-search input{width:100%;padding:.68rem .75rem}.pos-queue-ticket .pos-queue-charge{display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--line)}.pos-queue-ticket .pos-queue-charge small{font-size:.7rem}.pos-queue-ticket .pos-queue-charge b{font-size:1rem;color:var(--ink)}.pos-fee-warning{display:block;margin-top:.4rem;padding:.28rem .42rem;border-radius:8px;background:#fff0ed;color:#a33b28;font-size:.7rem;font-weight:800}.pos-register-workspace{min-width:0}.pos-account-selector{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;margin-bottom:.8rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 25px rgba(20,33,61,.04)}.pos-account-selector>div:first-child{display:flex;flex-direction:column;min-width:210px}.pos-account-selector>div:first-child strong{font-size:1rem}.pos-account-selector>div:first-child small{color:var(--muted)}.pos-account-links{display:flex;align-items:stretch;justify-content:flex-end;gap:.45rem;overflow:auto;max-width:72%;padding-bottom:.15rem}.pos-account-links>a{display:flex;flex-direction:column;gap:.1rem;min-width:150px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff}.pos-account-links>a span{font-size:.75rem;color:var(--muted)}.pos-account-links>a b{font-size:.78rem}.pos-account-links>a:hover,.pos-account-links>a.active{border-color:var(--primary);background:#eefaf8}.pos-cart-section .eyebrow{display:block;margin-bottom:.12rem}.pos-line-source{display:inline-flex;margin-bottom:.25rem;padding:.2rem .42rem;border-radius:999px;background:#eef3f6;color:#425967;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.pos-line-description{display:block;line-height:1.35}.pos-readonly-number{display:block;padding:.42rem 0;font-weight:800;white-space:nowrap}.pos-payee-box{display:grid;grid-template-columns:1.35fr 1fr;gap:.65rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line);background:#fbfcfd}.pos-payee-box label{margin:0}.pos-additional-charges{border-top:1px solid var(--line)}.pos-additional-charges>summary{padding:.85rem 1.2rem;cursor:pointer;font-weight:800}.pos-additional-charges[open]>summary{border-bottom:1px solid var(--line)}.pos-patient-actions{margin-top:1rem}.pos-register-panel>.alert{margin:1rem 1.2rem 0}.pos-cart-table td:first-child{min-width:270px}.pos-cart-table .pos-line-description+input[type=hidden]{display:none}
@media(max-width:1280px){.pos-account-selector{align-items:flex-start;flex-direction:column}.pos-account-links{max-width:100%;width:100%;justify-content:flex-start}}
@media(max-width:720px){.pos-account-links{display:grid;grid-template-columns:1fr;width:100%}.pos-account-links>a{min-width:0}.pos-payee-box{grid-template-columns:1fr}.pos-queue-list{display:block!important}.pos-queue-ticket{margin-bottom:.55rem!important}}

/* v0.5.9.8.14 — coordinated services and future appointment series */
.appointment-series-fields{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fbfcfd}.appointment-series-fields legend{font-weight:850;padding:0 .35rem}.appointment-series-fields.series-active{border-color:var(--primary);background:#eefaf8}.appointment-series-fields small{display:block;margin-top:.55rem;color:var(--muted)}
.patient-upcoming-panel{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fbfcfd}.patient-upcoming-panel>strong{display:block;margin-bottom:.55rem}.patient-upcoming-list{display:grid;gap:.55rem}.patient-upcoming-item{display:grid;gap:.25rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:11px;background:#fff}.patient-upcoming-item>div{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.patient-upcoming-item p{margin:0;font-weight:750}.patient-upcoming-item small{color:var(--muted)}.patient-upcoming-item a{justify-self:start;font-size:.78rem;font-weight:800}
[data-slot-additional-services]{min-height:9.5rem}.appointment-service-segments{display:grid;gap:.28rem;margin-top:.35rem}.appointment-service-segments small{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem .45rem;border-radius:7px;background:#f4f7f8}.appointment-series-badge{display:inline-flex;margin-top:.25rem;padding:.18rem .45rem;border-radius:999px;background:#eefaf8;color:#176c61;font-size:.68rem;font-weight:850}

/* v0.5.9.8.14 — cashier windows and focused transaction mode */
.cashier-transaction-lock{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem;padding:.9rem 1rem;border:2px solid var(--primary);border-radius:16px;background:#eefaf8}.cashier-transaction-lock>div{display:flex;flex-direction:column;gap:.12rem}.cashier-transaction-lock small{color:var(--muted)}.cashier-transaction-lock details{min-width:220px}.cashier-transaction-lock textarea{min-height:72px}.pos-queue-select-form{margin:0}.pos-queue-select{display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.pos-queue-select:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:3px;border-radius:10px}.cashier-window-label{font-weight:850}.transaction-navigation-locked .app-sidebar a:not([href*="billing.php"]):not([href*="logout"]),.transaction-navigation-locked .mobile-nav a:not([href*="billing.php"]):not([href*="logout"]){pointer-events:none;opacity:.45;filter:grayscale(1)}
@media(max-width:720px){.cashier-transaction-lock{align-items:stretch;flex-direction:column}.cashier-transaction-lock details{min-width:0}}
.appointment-plan-builder{border:1px solid var(--line);border-radius:15px;padding:1rem;background:#fbfcfd}.appointment-plan-builder>.card-head{padding:0 0 .8rem}.appointment-plan-row{display:grid;grid-template-columns:auto minmax(130px,.8fr) minmax(190px,1.3fr) minmax(145px,.8fr) minmax(120px,.65fr) auto;gap:.65rem;align-items:end;padding:.75rem 0;border-top:1px solid var(--line)}.appointment-plan-row:first-child{border-top:0}.appointment-plan-row label{margin:0}.plan-row-number{align-self:center;padding:.35rem .5rem;border-radius:999px;background:#eefaf8;color:#176c61;font-size:.72rem;font-weight:850;white-space:nowrap}@media(max-width:1050px){.appointment-plan-row{grid-template-columns:1fr 1fr}.appointment-plan-row .plan-row-number{grid-column:1/-1;justify-self:start}.appointment-plan-row>.icon-button{justify-self:end}}
.transaction-navigation-locked .sidebar a:not([href*="billing.php"]):not([href*="logout.php"]),.transaction-navigation-locked .context-tabs a:not([href*="billing.php"]),.transaction-navigation-locked .mobile-bottom-nav a:not([href*="billing.php"]),.transaction-navigation-locked .page-context-bar a{pointer-events:none;opacity:.42;filter:grayscale(1)}.transaction-navigation-locked .global-search,.transaction-navigation-locked .quick-create,.transaction-navigation-locked .task-role-switcher,.transaction-navigation-locked .public-site-link{pointer-events:none;opacity:.42}

/* v0.5.9.8.17 — four-phase Doctor workflow and separated cashier exceptions */
.clinical-phase-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;padding:.65rem;position:sticky;top:82px;z-index:12}
.clinical-phase-nav button{appearance:none;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);padding:.72rem .8rem;display:grid;grid-template-columns:2rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:.65rem;text-align:left;cursor:pointer;color:var(--ink)}
.clinical-phase-nav button>span{grid-row:1/3;display:grid;place-items:center;align-self:center;width:2rem;height:2rem;border-radius:50%;background:var(--surface-2,#eef2f5);font-weight:900}
.clinical-phase-nav button strong{font-size:.95rem;line-height:1.2}
.clinical-phase-nav button small{color:var(--muted);font-size:.72rem;line-height:1.3;margin-top:.12rem}
.clinical-phase-nav button.active{background:var(--primary,#075e54);border-color:var(--primary,#075e54);color:#fff;box-shadow:0 8px 24px rgba(7,94,84,.16)}
.clinical-phase-nav button.active>span{background:rgba(255,255,255,.2)}
.clinical-phase-nav button.active small{color:rgba(255,255,255,.82)}
.clinical-phase-nav button.phase-complete:not(.active){border-color:#8fd5b1;background:#f0fbf5}
.clinical-phase-nav button.phase-complete:not(.active)>span{background:#daf5e7;color:#087443}
.clinical-phase-nav button.phase-missing:not(.active)>span{background:#fff1cf;color:#9b6100}
.clinical-step-tabs{top:158px;z-index:11;margin-top:-.35rem}
.clinical-step-tabs button small{font-size:.66rem;font-weight:700;opacity:.72;margin-left:.18rem}
.finance-view-switch{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.finance-view-switch .btn.active{background:var(--primary);border-color:var(--primary);color:#fff}
.finance-exception-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.finance-exception-summary article{padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}
.finance-exception-summary span,.finance-exception-summary small{display:block;color:var(--muted)}
.finance-exception-summary strong{display:block;font-size:1.65rem;margin:.2rem 0}
.finance-exception-page .module-card-grid{align-items:start}
.cashier-routine-exception-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;margin-bottom:1rem;border:1px solid #f0d28b;border-radius:14px;background:#fff9e9}
.cashier-routine-exception-link>div{display:flex;flex-direction:column;gap:.1rem}
.cashier-routine-exception-link small{color:var(--muted)}
.pos-queue-ticket form.pos-queue-select-form{width:100%}
.pos-queue-ticket .pos-queue-select .pos-call-hint{font-style:normal;color:var(--primary);font-weight:800;font-size:.72rem;margin-top:.3rem}
@media(max-width:1120px){.clinical-phase-nav{top:.5rem}.clinical-step-tabs{top:89px}.finance-exception-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.clinical-phase-nav{grid-template-columns:1fr 1fr;position:static}.clinical-phase-nav button{padding:.62rem}.clinical-step-tabs{top:.25rem}.finance-exception-summary{grid-template-columns:1fr}.cashier-routine-exception-link{align-items:stretch;flex-direction:column}}
/* v0.5.9.8.17 refinements */
.finance-view-switch>a{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.62rem .9rem;border:1px solid var(--line);border-radius:11px;background:var(--surface,#fff);color:var(--muted);font-weight:850}
.finance-view-switch>a.active{background:var(--primary);border-color:var(--primary);color:#fff}
.finance-view-switch>a>span{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#fff1cf;color:#8a5600;font-size:.7rem}
.finance-view-switch>a.active>span{background:rgba(255,255,255,.2);color:#fff}
.exception-summary-grid,.finance-exception-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.exception-summary-grid article,.finance-exception-summary article{padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}
.exception-summary-grid span,.finance-exception-summary span{display:block;color:var(--muted);font-size:.75rem}
.exception-summary-grid strong,.finance-exception-summary strong{display:block;font-size:1.65rem;margin-top:.2rem}
@media(max-width:1180px){.exception-summary-grid,.finance-exception-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.exception-summary-grid,.finance-exception-summary{grid-template-columns:1fr 1fr}.finance-view-switch>a{flex:1;justify-content:center}}

/* v0.5.9.8.18 scalable management workspaces */
.management-workspace{display:grid;gap:1rem}.management-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.management-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:.7rem;align-items:end}.management-filters label{display:grid;gap:.3rem}.management-filters .filter-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.management-table-card{padding:0;overflow:hidden}.management-table-card>.card-head{padding:1rem 1rem .75rem}.management-table-card>.table-wrap{border-radius:0;border-left:0;border-right:0}.management-table-card table{min-width:850px}.management-table-card td,.management-table-card th{vertical-align:top}.management-action-cell{white-space:nowrap}.management-action-cell .inline-actions{justify-content:flex-start}.management-dialog{width:min(780px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:18px;box-shadow:0 28px 80px rgba(10,35,45,.28)}.management-dialog::backdrop{background:rgba(8,28,38,.48)}.management-dialog>.management-dialog-body,.management-dialog>form{padding:1.15rem}.management-dialog .dialog-close{position:sticky;float:right;top:0;z-index:3}.management-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin:.8rem 0}.management-summary>div{padding:.7rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.management-summary span{display:block;color:var(--muted);font-size:.75rem}.management-summary strong{display:block;margin-top:.2rem}.management-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:#fbfdfd}.management-bulk-bar[hidden]{display:none}.management-bulk-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.management-checkbox{width:2.25rem}.management-checkbox input{width:1rem;height:1rem}.management-row-note{max-width:36rem;white-space:normal}.management-empty{padding:1.5rem;text-align:center;color:var(--muted)}.management-compact-list{display:grid;gap:.45rem;max-height:24rem;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:.55rem}.management-compact-list .permission-row{padding:.55rem;border-radius:9px}.management-compact-list .permission-row:hover{background:var(--surface-2)}.management-section-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.management-section-tabs a{padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;text-decoration:none}.management-section-tabs a.active{background:var(--primary);border-color:var(--primary);color:#fff}.record-picker-grid{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.6rem;align-items:end}.record-picker-results{margin-top:.8rem}.record-picker-results table{min-width:720px}@media(max-width:900px){.management-filters{grid-template-columns:1fr 1fr}.management-filters>label:first-child{grid-column:1/-1}.management-dialog{width:calc(100vw - 1rem)}.record-picker-grid{grid-template-columns:1fr}}@media(max-width:560px){.management-filters{grid-template-columns:1fr}.management-filters>label:first-child{grid-column:auto}.management-toolbar{align-items:stretch}.management-toolbar>.inline-actions{width:100%}.management-toolbar>.inline-actions .btn{flex:1}.management-bulk-bar{align-items:flex-start;flex-direction:column}}

.remote-multi-picker{position:relative;display:grid;gap:.55rem}.remote-multi-selection{display:flex;flex-wrap:wrap;gap:.4rem;min-height:2rem;align-items:center}.remote-multi-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid var(--border,#d7e0e6);border-radius:999px;background:var(--surface-soft,#f5f8fa);font-size:.86rem}.remote-multi-chip button{border:0;background:transparent;cursor:pointer;font-size:1rem;line-height:1}.remote-record-picker input[type=search],.remote-multi-picker>input[type=search]{width:100%}

/* v0.5.9.8.19 itemized receipts and compact weekly appointment states */
.appointment-week-simple .appointment-state-legend{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:-.25rem 0 .9rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2,#f7fafb)}
.appointment-state-key{display:inline-flex;align-items:center;gap:.28rem;padding:.3rem .48rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.66rem;font-weight:800;white-space:nowrap}
.appointment-state-key em{font-style:normal}.appointment-state-svg{width:15px;height:15px;flex:0 0 15px}
.appointment-state-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid currentColor;background:#fff;color:#667085}
.appointment-state-icon .appointment-state-svg{width:16px;height:16px}
.appointment-state-icon.state-scheduled,.appointment-state-key.state-scheduled{color:#2563eb}
.appointment-state-icon.state-pending,.appointment-state-icon.state-requested{color:#b66a00}
.appointment-state-icon.state-waiting,.appointment-state-key.state-waiting{color:#7a5b00}
.appointment-state-icon.state-called,.appointment-state-key.state-called{color:#7c3aed}
.appointment-state-icon.state-in-chair,.appointment-state-key.state-in-chair{color:#0f766e}
.appointment-state-icon.state-in-treatment,.appointment-state-key.state-in-treatment{color:#0b6bcb}
.appointment-state-icon.state-for-payment,.appointment-state-icon.state-at-cashier,.appointment-state-key.state-for-payment{color:#a15c00}
.appointment-state-icon.state-completed,.appointment-state-key.state-completed{color:#087443}
.appointment-state-icon.state-left,.appointment-state-icon.state-cancelled,.appointment-state-icon.state-no-show,.appointment-state-key.state-left{color:#b42318}
.appointment-calendar-tile.compact-state-tile{padding:.58rem .62rem;border-left-width:3px}
.appointment-calendar-tile.compact-state-tile.state-completed{border-left-color:#12b76a;background:#f4fbf7}
.appointment-calendar-tile.compact-state-tile.state-left,.appointment-calendar-tile.compact-state-tile.state-cancelled,.appointment-calendar-tile.compact-state-tile.state-no-show{border-left-color:#d92d20;background:#fff8f7;opacity:.78}
.appointment-calendar-tile.compact-state-tile.state-in-chair{border-left-color:#0f766e}
.appointment-calendar-tile.compact-state-tile.state-in-treatment{border-left-color:#1570ef}
.appointment-calendar-tile.compact-state-tile.state-for-payment,.appointment-calendar-tile.compact-state-tile.state-at-cashier{border-left-color:#f79009}
.compact-state-tile .appointment-tile-head{min-height:30px}.compact-state-tile h3{margin:.35rem 0 .08rem;font-size:.84rem}.compact-state-tile .appointment-tile-service{margin:0;color:var(--text);font-size:.7rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-state-tile .appointment-tile-service b{color:var(--primary)}
.appointment-tile-compact-meta{margin:.18rem 0 0!important;font-size:.64rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-state-tile .appointment-series-badge{margin-top:.35rem}.compact-state-tile .appointment-tile-actions{margin-top:.42rem;padding-top:.38rem}.appointment-menu-panel>strong,.appointment-menu-panel>small{display:block}.appointment-menu-services{display:grid;gap:.15rem;padding:.35rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:720px){.appointment-state-key em{display:none}.appointment-state-key{padding:.35rem}.appointment-week-simple .appointment-state-legend{gap:.35rem}.appointment-state-icon{width:28px;height:28px}}

/* v0.5.9.8.21 visit-centric patient journey */
.journey-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.journey-summary-card{display:flex;align-items:center;gap:.7rem;padding:.85rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);text-decoration:none;color:var(--ink);min-width:0}.journey-summary-card:hover{border-color:var(--primary);box-shadow:0 8px 24px rgba(13,74,72,.08)}.journey-summary-icon{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:12px;background:var(--surface-2,#f3f7f8);color:var(--primary)}.journey-summary-icon svg{width:1.15rem;height:1.15rem}.journey-summary-card strong,.journey-summary-card small{display:block}.journey-summary-card strong{font-size:1.25rem}.journey-summary-card small{font-size:.7rem;color:var(--muted);white-space:nowrap}.journey-summary-card.journey-exception{border-color:#f0b5af;background:#fff8f7}.journey-summary-card.journey-exception .journey-summary-icon{background:#fee4e2;color:#b42318}.journey-filter-bar{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(135px,1fr)) auto auto}.journey-selected-card{border-top:4px solid var(--primary)}.journey-selected-card>.card-head{align-items:flex-start}.visit-chain-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1rem 0}.visit-chain-step{display:flex;gap:.65rem;align-items:flex-start;padding:.8rem;border:1px solid var(--line);border-radius:13px;background:var(--surface,#fff)}.visit-chain-step>span{display:grid;place-items:center;flex:0 0 1.75rem;height:1.75rem;border-radius:999px;background:#eef2f4;color:var(--muted);font-weight:900}.visit-chain-step strong,.visit-chain-step small{display:block}.visit-chain-step small{margin-top:.18rem;color:var(--muted);line-height:1.3}.visit-chain-step.complete{border-color:#a7dfc2;background:#f4fbf7}.visit-chain-step.complete>span{background:#d9f5e6;color:#087443}.visit-chain-step.empty{opacity:.72}.journey-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.65rem;margin:.8rem 0 1rem}.journey-detail-grid>div{padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2,#f7fafb)}.journey-detail-grid span,.journey-detail-grid strong{display:block}.journey-detail-grid span{font-size:.72rem;color:var(--muted)}.journey-detail-grid strong{margin-top:.18rem}.journey-table-wrap table{min-width:1180px}.journey-table-wrap td{vertical-align:top}.journey-table-wrap td>strong,.journey-table-wrap td>small,.journey-table-wrap td>span{display:block}.journey-table-wrap td>small{margin-top:.18rem;color:var(--muted)}.journey-state{display:inline-flex!important;align-items:center;gap:.38rem;width:max-content;max-width:220px;padding:.38rem .55rem;border-radius:999px;background:#eef2f4;color:#475467;font-size:.7rem;font-weight:850;line-height:1.2}.journey-state i{display:grid;place-items:center;font-style:normal}.journey-state svg{width:.9rem;height:.9rem}.journey-state.journey-scheduled{background:#eff6ff;color:#1d4ed8}.journey-state.journey-arrival{background:#fff8df;color:#8a5a00}.journey-state.journey-clinical{background:#eaf8f6;color:#0f766e}.journey-state.journey-cashier{background:#fff1e7;color:#9a4f00}.journey-state.journey-follow_up{background:#f3efff;color:#6d3bc2}.journey-state.journey-completed{background:#ecf9f1;color:#087443}.journey-state.journey-closed{background:#f2f4f7;color:#667085}.journey-state.journey-exception{background:#fee4e2;color:#b42318}.journey-link-flags{display:flex;gap:.25rem;align-items:center;margin-bottom:.28rem}.journey-link-flags span{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:7px;border:1px solid var(--line);font-size:.67rem;font-weight:900}.journey-link-flags span.on{background:#eaf8f6;border-color:#98d8cf;color:#0f766e}.journey-link-flags span.off{background:#f7f8f9;color:#98a2b3}.journey-details-link{display:block;margin-top:.42rem;font-size:.72rem;font-weight:800}.journey-row-exception{background:#fffafa}.journey-row-cashier{background:#fffdfa}.journey-row-clinical{background:#fbfefd}
@media(max-width:1180px){.journey-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-filter-bar{grid-template-columns:1fr 1fr 1fr}.journey-filter-bar>label:first-child{grid-column:1/-1}.visit-chain-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.journey-summary-grid{grid-template-columns:1fr 1fr}.journey-filter-bar{grid-template-columns:1fr}.journey-filter-bar>label:first-child{grid-column:auto}.visit-chain-grid{grid-template-columns:1fr}.journey-selected-card>.card-head{display:grid;gap:.8rem}.journey-selected-card>.card-head .inline-actions{justify-content:flex-start}}

/* v0.5.9.8.23 — active doctor treatment continuity */
.active-treatment-topbar{max-width:280px}.active-treatment-topbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-treatment-return-bar{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);align-items:center;gap:1rem;margin:-.25rem 0 1rem;padding:.85rem 1rem;border:2px solid color-mix(in srgb,var(--primary) 55%,#dce8e7);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,#fff),#fff);box-shadow:0 9px 28px rgba(20,33,61,.08)}.active-treatment-return-status{display:flex;align-items:center;gap:.75rem;min-width:0}.active-treatment-return-icon{width:30px;height:30px;flex:0 0 auto;color:var(--primary)}.active-treatment-return-status>div{display:flex;flex-direction:column;min-width:0}.active-treatment-return-status span{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.active-treatment-return-status strong{font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-treatment-return-status small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-treatment-return-tools{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.active-treatment-return-tools>a:not(.btn){padding:.46rem .58rem;border-radius:9px;font-size:.78rem;font-weight:800;color:var(--ink);background:#fff;border:1px solid var(--line)}.active-treatment-return-tools>a:not(.btn):hover{border-color:var(--primary);color:var(--primary)}.active-treatment-return-warning{grid-column:1/-1;padding:.55rem .7rem;border-radius:10px;background:#fff4e5;color:#8a5100;font-weight:800;font-size:.8rem}.treatment-return-back{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,#fff)}
@media(max-width:980px){.active-treatment-return-bar{grid-template-columns:1fr}.active-treatment-return-tools{justify-content:flex-start}.active-treatment-topbar span{display:none}.active-treatment-topbar{width:42px;height:42px;padding:0;justify-content:center}}
@media(max-width:640px){.active-treatment-return-bar{padding:.75rem;margin-top:-.15rem}.active-treatment-return-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}.active-treatment-return-tools .btn{grid-column:1/-1}.active-treatment-return-tools>a{text-align:center}.active-treatment-return-status strong{white-space:normal}.active-treatment-return-status small{white-space:normal}}

/* v0.5.9.8.24 structured vital-sign capture */
.clinical-intake-vitals{overflow:visible}.vital-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vital-summary-grid article{min-height:78px}.vital-summary-grid article small{display:block;margin-top:.25rem;color:var(--muted);font-size:.75rem}.vital-summary-status.success{border-color:#9fd5b7;background:#edf9f2}.vital-summary-status.info{border-color:#b7d8eb;background:#eff8fc}.vital-summary-status.warning{border-color:#e7c77a;background:#fff9e8}.vital-summary-status.danger{border-color:#efaaa5;background:#fff2f1}.clinical-intake-form{display:grid;gap:1rem;margin-top:.75rem}.vital-capture-block{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff}.vital-capture-block>.section-heading{margin:0 0 .9rem}.section-heading>div{display:flex;gap:.75rem;align-items:flex-start}.section-heading h3{margin:0}.section-heading p{margin:.2rem 0 0;color:var(--muted)}.step-number{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:var(--primary);color:#fff;font-weight:800}.vital-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.previous-vitals-strip{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.7rem 0;padding:.72rem .8rem;border:1px dashed var(--line);border-radius:10px;background:#f8fafb;font-size:.86rem}.previous-vitals-strip strong{margin-right:auto}.previous-vitals-strip span{color:var(--muted)}.bp-measurement-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.85rem;border-radius:12px;background:#eef7f5;border:1px solid #cfe5df}.bp-measurement-guide p{margin:.2rem 0 0;color:var(--muted);line-height:1.45}.bp-confirmation{margin:0;background:#fff}.bp-entry-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);gap:1rem;margin-top:1rem}.bp-reading-card{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#fbfcfd}.bp-reading-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem}.bp-reading-title>span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)}.bp-reading-title>strong{font-size:1rem}.bp-reading-title .text-button{margin-left:auto}.bp-number-pair{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}.bp-number-pair>label{flex:1;min-width:145px}.bp-number-pair label>span,.vital-input-grid label>span{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:750;color:var(--muted)}.bp-divider{font-size:1.7rem;font-weight:800;padding-bottom:.45rem;color:var(--muted)}.unit-input{display:flex;align-items:stretch;border:1px solid #ccd5df;border-radius:10px;background:#fff;overflow:hidden;min-height:44px}.unit-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(13,124,117,.12)}.unit-input input{min-width:0;flex:1;border:0!important;box-shadow:none!important;border-radius:0!important;padding:.7rem .75rem!important;background:transparent}.unit-input em{display:flex;align-items:center;padding:0 .65rem;background:#f1f4f6;border-left:1px solid var(--line);font-style:normal;font-size:.75rem;color:var(--muted);white-space:nowrap}.unit-input.calculated{align-items:stretch}.unit-input output{display:flex;align-items:center;flex:1;padding:.7rem .75rem;font-weight:800}.bp-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.bp-context-grid label{font-size:.78rem;font-weight:750;color:var(--muted)}.bp-context-grid input,.bp-context-grid select{margin-top:.35rem;width:100%}.bp-screening-panel{border:1px solid var(--line);border-radius:12px;padding:1rem;display:flex;flex-direction:column;justify-content:center}.bp-screening-panel>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.bp-screening-panel strong{font-size:1.05rem;margin:.25rem 0}.bp-screening-panel p{margin:.15rem 0 .45rem;line-height:1.45}.bp-screening-panel small{color:var(--muted)}.bp-screening-panel.neutral{background:#f7f9fa}.bp-screening-panel.success{background:#edf9f2;border-color:#9fd5b7}.bp-screening-panel.info{background:#eff8fc;border-color:#b7d8eb}.bp-screening-panel.warning{background:#fff9e8;border-color:#e7c77a}.bp-screening-panel.danger{background:#fff2f1;border-color:#efaaa5}.bp-repeat-shell{margin-top:1rem}.bp-repeat-shell[hidden],.bp-symptom-review[hidden],.add-repeat-button[hidden]{display:none!important}.repeat-reading{background:#f8fbfc}.repeat-minutes{max-width:130px}.text-button{border:0;background:transparent;color:var(--primary);font-weight:750;cursor:pointer}.add-repeat-button{margin-top:.75rem}.add-repeat-button.attention{box-shadow:0 0 0 3px rgba(180,35,24,.12);border-color:#df8f88;color:#9b241b}.bp-symptom-review{margin-top:1rem;padding:1rem;border:1px solid #efaaa5;border-radius:12px;background:#fff2f1}.bp-symptom-review p{margin:.25rem 0 .75rem;color:var(--muted)}.symptom-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.symptom-review-confirm{margin-top:.75rem;background:#fff}.vital-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.vital-input-grid>label{min-width:0}.vital-input-grid>label.wide{grid-column:1/-1}.vital-input-grid>label>input,.vital-input-grid>label>textarea{width:100%}.vital-save-bar{position:sticky;bottom:.75rem;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:12px;background:#0d2434;color:#fff;box-shadow:0 10px 30px rgba(13,36,52,.22)}.vital-save-bar div{display:flex;flex-direction:column}.vital-save-bar span{font-size:.8rem;color:#c6d3db}.vital-save-bar .btn{flex:0 0 auto}
@media(max-width:1000px){.bp-entry-layout{grid-template-columns:1fr}.bp-context-grid,.vital-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-measurement-guide{grid-template-columns:1fr}.vital-section-heading{flex-direction:column}.previous-vitals-strip strong{width:100%}}
@media(max-width:650px){.vital-summary-grid,.bp-context-grid,.vital-input-grid,.symptom-check-grid{grid-template-columns:1fr}.vital-capture-block{padding:.8rem}.bp-number-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:end}.bp-number-pair>label{min-width:0}.repeat-minutes{grid-column:1/-1;max-width:none}.vital-save-bar{position:static;align-items:stretch;flex-direction:column}.vital-save-bar .btn{width:100%}.vital-section-heading .btn{width:100%}}

/* v0.5.9.8.25 — guided treatment completion and discharge */
.clinical-completion-panel{max-height:calc(100vh - 12.5rem);overflow:auto}.closeout-confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.closeout-confirmation-grid .check-label,.closeout-auto-complete{align-items:flex-start;padding:.85rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}.closeout-confirmation-grid strong,.closeout-confirmation-grid small{display:block}.closeout-confirmation-grid small{margin-top:.2rem;color:var(--muted);font-weight:500}.closeout-auto-complete{background:#eef9f3}.closeout-choice{margin:1rem 0;padding:0;border:0}.closeout-choice legend{font-weight:850;margin-bottom:.55rem}.completion-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.completion-choice-grid label{display:flex;gap:.65rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:.85rem;cursor:pointer;background:var(--surface)}.completion-choice-grid label:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.completion-choice-grid strong,.completion-choice-grid small{display:block}.completion-choice-grid small{margin-top:.2rem;color:var(--muted)}.billing-verification-card{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:center;padding:1rem;border-radius:.85rem;background:#eef7f7;border:1px solid #cfe4e3}.billing-verification-card>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)}.billing-verification-card>strong{grid-row:1/3;grid-column:2;font-size:1.35rem}.billing-verification-card>small{color:var(--muted)}.no-payment-reason{display:block;margin-top:.75rem}.completion-outcome-panel .notice{margin-top:1rem}@media(max-width:760px){.closeout-confirmation-grid,.completion-choice-grid{grid-template-columns:1fr}.clinical-completion-panel{max-height:none}}

/* v0.5.9.8.25: grouped Administrative Control exceptions */
.critical-operations-head{align-items:flex-start}.critical-operations-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.critical-operations-summary .button-row{justify-content:flex-end}.btn.compact{min-height:34px;padding:.38rem .7rem;font-size:.75rem}.critical-operation-groups{display:grid;gap:.7rem;margin-top:1rem}.critical-operation-group{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.critical-operation-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;list-style:none;background:color-mix(in srgb,var(--surface-2) 72%,#fff);user-select:none}.critical-operation-group>summary::-webkit-details-marker{display:none}.critical-operation-group>summary:after{content:"Show";flex:0 0 auto;color:var(--primary);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.critical-operation-group[open]>summary:after{content:"Hide"}.critical-group-title{display:flex;align-items:flex-start;gap:.7rem;min-width:0}.critical-group-title>span:last-child{display:grid;gap:.16rem}.critical-group-title strong{font-size:.94rem}.critical-group-title small{color:var(--muted);line-height:1.35}.critical-level-marker{width:10px;height:10px;border-radius:999px;margin-top:.35rem;background:#718096;box-shadow:0 0 0 5px rgba(113,128,150,.12)}.critical-group-count{margin-left:auto;padding:.25rem .55rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.72rem;font-weight:850;white-space:nowrap}.severity-critical{border-left:4px solid #b42318}.severity-critical .critical-level-marker{background:#b42318;box-shadow:0 0 0 5px rgba(180,35,24,.12)}.severity-urgent{border-left:4px solid #d05b26}.severity-urgent .critical-level-marker{background:#d05b26;box-shadow:0 0 0 5px rgba(208,91,38,.12)}.severity-warning{border-left:4px solid #c58a17}.severity-warning .critical-level-marker{background:#c58a17;box-shadow:0 0 0 5px rgba(197,138,23,.12)}.severity-approval{border-left:4px solid #4676b8}.severity-approval .critical-level-marker{background:#4676b8;box-shadow:0 0 0 5px rgba(70,118,184,.12)}.critical-group-table{border-top:1px solid var(--line)}.critical-group-table table{margin:0}.critical-group-limit{display:block;padding:.65rem 1rem;border-top:1px solid var(--line)}.critical-operations-clear{display:grid;gap:.2rem;padding:1rem;border:1px dashed var(--line);border-radius:14px;background:var(--surface-2)}.critical-operations-clear span{color:var(--muted)}@media(max-width:720px){.critical-operations-head,.critical-operation-group>summary{align-items:stretch;flex-direction:column}.critical-operations-summary{align-items:stretch}.critical-operations-summary .button-row{justify-content:flex-start}.critical-group-count{margin-left:1.7rem;width:max-content}.critical-operation-group>summary:after{position:absolute;right:1rem}.critical-operation-group>summary{position:relative;padding-right:4.4rem}}
.critical-category-overview{margin-top:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);overflow:hidden}.critical-category-overview>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;cursor:pointer;list-style:none}.critical-category-overview>summary::-webkit-details-marker{display:none}.critical-category-overview>summary>span:first-child{display:grid;gap:.12rem}.critical-category-overview>summary small{color:var(--muted)}.critical-category-overview>summary:after{content:"Show";color:var(--primary);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.critical-category-overview[open]>summary:after{content:"Hide"}.critical-category-overview .critical-stats{padding:0 1rem 1rem}.critical-category-overview .critical-group-count{margin-left:auto}@media(max-width:720px){.critical-category-overview>summary{align-items:flex-start;flex-direction:column;padding-right:4.4rem;position:relative}.critical-category-overview>summary:after{position:absolute;right:1rem;top:1rem}.critical-category-overview .critical-group-count{margin-left:0}}

/* v0.5.9.8.27 — unified patient clinical record and timeline */
.patient-print-options{margin-top:.85rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden}.patient-print-options>summary{cursor:pointer;list-style:none;padding:.8rem 1rem;font-weight:850;color:var(--primary);display:flex;align-items:center;justify-content:space-between}.patient-print-options>summary::-webkit-details-marker{display:none}.patient-print-options>summary:after{content:"Show";font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.patient-print-options[open]>summary:after{content:"Hide"}.patient-print-options .timeline-filter-form{padding:0 1rem 1rem}
.patient-timeline-toolbar{margin-bottom:1rem}.patient-timeline-toolbar .card-head{align-items:flex-start}.timeline-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.timeline-filter-form label{display:grid;gap:.32rem;font-size:.78rem;font-weight:800;color:var(--muted)}.timeline-filter-form input,.timeline-filter-form select{width:100%;min-width:0}.timeline-filter-actions{display:flex;gap:.5rem;align-items:center}.timeline-filter-actions .btn{white-space:nowrap}
.patient-unified-timeline{display:grid;grid-template-columns:1fr;gap:.75rem;position:relative}.timeline-day-heading{position:sticky;top:4.35rem;z-index:4;width:max-content;max-width:100%;margin:.45rem 0 .15rem;padding:.42rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 4px 16px rgba(15,23,42,.08);font-size:.78rem;color:var(--muted)}.unified-timeline-item{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.8rem;position:relative}.timeline-rail{position:relative;display:flex;flex-direction:column;align-items:flex-end;padding:.65rem .8rem 0 0;color:var(--muted);font-size:.72rem}.timeline-rail:after{content:"";position:absolute;right:4px;top:1.2rem;bottom:-1.1rem;width:2px;background:var(--line)}.unified-timeline-item:last-child .timeline-rail:after{bottom:50%}.timeline-dot{position:absolute;right:0;top:1rem;width:10px;height:10px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 15%,transparent);z-index:1}.timeline-event-card{min-width:0;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:1rem;box-shadow:0 5px 18px rgba(15,23,42,.04)}.timeline-event-card .record-head{align-items:flex-start}.timeline-event-card h3{margin:.35rem 0 0;font-size:1rem}.timeline-event-card p{margin:.65rem 0;line-height:1.55}.timeline-category{background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,var(--line))}.timeline-attribution{display:flex;flex-wrap:wrap;gap:.35rem .85rem;padding-top:.65rem;border-top:1px dashed var(--line);font-size:.75rem;color:var(--muted)}.timeline-source-link{display:inline-flex;margin-top:.65rem;font-size:.78rem;font-weight:800}.unified-timeline-item.flag-warning .timeline-event-card{border-left:4px solid #c58a17;background:#fffdf6}.unified-timeline-item.flag-danger .timeline-event-card{border-left:4px solid #b42318;background:#fff7f6}.unified-timeline-item.flag-info .timeline-event-card{border-left:4px solid #4676b8;background:#f8fbff}.unified-timeline-item.flag-success .timeline-event-card{border-left:4px solid #23885a;background:#f7fcf9}
.vital-trend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.vital-trend-card{display:grid;gap:.2rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.vital-trend-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:850}.vital-trend-card>strong{font-size:1.08rem}.vital-trend-card>small{color:var(--muted)}.vital-trend-comparison{display:grid;gap:.12rem;margin-top:.45rem;padding-top:.45rem;border-top:1px dashed var(--line);font-size:.72rem;color:var(--muted)}.vital-trend-card.no-reading{background:var(--surface-2);opacity:.76}.badge.vital-neutral{background:#eef2f4;color:#52616b}.badge.vital-success{background:#eaf8f0;color:#176b43}.badge.vital-info{background:#edf6fb;color:#245f83}.badge.vital-warning{background:#fff5da;color:#855a00}.badge.vital-danger{background:#ffecea;color:#9b241b}
@media(max-width:1100px){.timeline-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-filter-actions{align-self:end}.vital-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.timeline-filter-form{grid-template-columns:1fr}.timeline-filter-actions{align-items:stretch;flex-direction:column}.timeline-filter-actions .btn{width:100%}.unified-timeline-item{grid-template-columns:1fr;gap:.3rem}.timeline-rail{align-items:flex-start;padding:.1rem 0 .15rem 1.25rem}.timeline-rail:after{display:none}.timeline-dot{left:.15rem;right:auto;top:.25rem;width:8px;height:8px}.timeline-day-heading{top:3.75rem}.timeline-event-card{padding:.85rem}.vital-trend-grid{grid-template-columns:1fr}}

/* v0.5.9.8.27 — automatic queue synchronization */
.live-queue-status{position:fixed;right:18px;bottom:82px;z-index:1250;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line,#d7e2e8);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(18,42,56,.14);font-size:.78rem;font-weight:700;color:var(--muted,#526a76);backdrop-filter:blur(8px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.live-queue-status i{width:8px;height:8px;border-radius:50%;background:#25a36f;box-shadow:0 0 0 4px rgba(37,163,111,.12)}.live-queue-status[data-state="syncing"] i{background:#2684ff;animation:queue-live-pulse .9s infinite}.live-queue-status[data-state="pending"] i{background:#d59618}.live-queue-status[data-state="offline"]{border-color:#efc6c6;color:#9b3333}.live-queue-status[data-state="offline"] i{background:#d44747}.live-queue-status.just-updated{transform:translateY(-2px);box-shadow:0 12px 28px rgba(18,42,56,.2);border-color:rgba(37,163,111,.45)}@keyframes queue-live-pulse{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:760px){.live-queue-status{right:10px;bottom:72px;padding:7px 10px;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.live-queue-status,.live-queue-status i{animation:none!important;transition:none!important}}

/* v0.5.9.8.28 inventory operations workspace */
.inventory-metrics{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:12px;margin-bottom:14px}.inventory-metrics>a{display:flex;min-height:116px;flex-direction:column;justify-content:center;padding:18px;border:1px solid var(--border,#dce3ea);border-left:4px solid var(--primary,#0f8b7f);border-radius:16px;background:var(--surface,#fff);box-shadow:0 10px 28px rgba(32,53,72,.06);color:inherit;text-decoration:none}.inventory-metrics>a:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(32,53,72,.1)}.inventory-metrics>a.warning{border-left-color:#d79c16}.inventory-metrics>a.danger{border-left-color:#c94b4b}.inventory-metrics span{font-size:.86rem;color:var(--muted,#66758a)}.inventory-metrics strong{font-size:1.8rem;line-height:1.15;margin:5px 0;color:var(--text-strong,#102a43)}.inventory-metrics small{color:var(--muted,#66758a)}
.inventory-alert-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid #f0d38c;border-radius:14px;background:#fff9e8}.inventory-alert-strip strong{margin-right:4px}.inventory-alert-strip a{padding:6px 10px;border-radius:999px;background:#fff;color:#7b5900;text-decoration:none;font-weight:700;font-size:.85rem}
.inventory-command-bar{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(520px,1.8fr);gap:22px;align-items:center;margin-bottom:16px;padding:20px;border:1px solid var(--border,#dce3ea);border-radius:18px;background:linear-gradient(135deg,#fff,#f6fbfb);box-shadow:0 10px 28px rgba(32,53,72,.05)}.inventory-command-bar h2{margin:4px 0 6px}.inventory-command-bar p{margin:0;color:var(--muted,#66758a)}.inventory-command-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.inventory-command-grid button{min-height:46px;padding:9px 12px;border:1px solid #b9d9d5;border-radius:11px;background:#eaf8f6;color:#075e56;font:inherit;font-weight:800;cursor:pointer}.inventory-command-grid button:hover{background:#d9f1ee}.inventory-command-grid button.secondary{border-color:var(--border,#dce3ea);background:#fff;color:var(--text,#334e68)}
.inventory-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px}.inventory-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;border:1px solid var(--border,#dce3ea);border-radius:14px;background:#fff}.inventory-tabs a{display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:10px;color:var(--muted,#66758a);text-decoration:none;font-weight:750}.inventory-tabs a.active{background:#eaf8f6;color:#075e56}.inventory-tabs span{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border-radius:999px;background:rgba(15,139,127,.12);font-size:.75rem}.inventory-branch-switch label{display:flex;align-items:center;gap:8px}.inventory-filter-bar{margin-top:10px}.inventory-list-card{margin-top:10px}.inventory-table td>small,.inventory-table strong+small{display:block;margin-top:3px;color:var(--muted,#66758a)}.badge.success{background:#e6f6ef;color:#17633f}.badge.warning{background:#fff2d3;color:#825b00}.badge.danger{background:#fde7e7;color:#9b2f2f}.warning-text{color:#9a6800}.ok-text{color:#17633f}
.inventory-document-context{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin:14px 0}.inventory-document-context>div{padding:12px;border:1px solid var(--border,#dce3ea);border-radius:12px;background:#f8fafc}.inventory-document-context span{display:block;color:var(--muted,#66758a);font-size:.78rem}.inventory-document-context strong{display:block;margin-top:3px}
.inventory-transaction-dialog{width:min(1480px,96vw);max-width:none}.inventory-transaction-form{padding:24px}.inventory-dialog-heading{padding-right:44px;margin-bottom:16px}.inventory-dialog-heading h2{margin:4px 0}.inventory-dialog-heading p{margin:0;color:var(--muted,#66758a)}.inventory-form-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:12px}.inventory-form-grid>label,.inventory-form-grid>div>label{display:flex;flex-direction:column;gap:6px}.inventory-form-grid>.wide{grid-column:1/-1}.inventory-context-summary{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr;gap:8px 12px;align-items:center;padding:12px 14px;border:1px solid #b9d9d5;border-radius:12px;background:#f1fbfa}.inventory-context-summary span{color:var(--muted,#66758a);font-size:.78rem}.inventory-lines-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#dce3ea)}.inventory-line-tools{display:flex;gap:8px;align-items:center}.inventory-line-tools input{min-width:280px}.inventory-entry-table{min-width:1120px}.inventory-entry-table th{white-space:nowrap}.inventory-entry-table td{vertical-align:top}.inventory-entry-table input,.inventory-entry-table select{min-width:115px}.inventory-entry-table [data-cell="quantity"] input,.inventory-entry-table [data-cell="count"] input,.inventory-entry-table [data-cell="cost"] input{width:115px}.inventory-item-picker{position:relative;min-width:270px}.inventory-item-picker [data-item-results]{position:absolute;z-index:25;top:100%;left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--border,#dce3ea);border-radius:10px;box-shadow:0 15px 35px rgba(32,53,72,.16)}.inventory-item-picker>small,.inventory-entry-table td>small{display:block;margin-top:5px;color:var(--muted,#66758a);font-size:.75rem}.inventory-impact-total{display:flex;justify-content:flex-end;gap:14px;align-items:center;padding:8px}.inventory-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#dce3ea)}
@media(max-width:1300px){.inventory-metrics{grid-template-columns:repeat(4,minmax(150px,1fr))}.inventory-command-bar{grid-template-columns:1fr}.inventory-command-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.inventory-form-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}.inventory-context-summary{grid-template-columns:auto 1fr auto 1fr}}
@media(max-width:760px){.inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-metrics>a{min-height:100px;padding:14px}.inventory-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-workspace-head{align-items:stretch;flex-direction:column}.inventory-tabs{overflow:auto;flex-wrap:nowrap}.inventory-form-grid{grid-template-columns:1fr}.inventory-form-grid>.wide{grid-column:auto}.inventory-context-summary{grid-template-columns:auto 1fr}.inventory-line-tools{align-items:stretch;flex-direction:column}.inventory-line-tools input{min-width:0;width:100%}.inventory-form-actions{position:sticky;bottom:0;margin-inline:-24px;padding:12px 24px;background:#fff;box-shadow:0 -8px 24px rgba(32,53,72,.08)}}

/* v0.5.9.8.28.2 — compact inventory filters */
.inventory-filter-toolbar{position:sticky;top:.5rem;z-index:18;display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap;margin:10px 0;padding:.75rem;border:1px solid var(--border,#dce3ea);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 8px 22px rgba(32,53,72,.06);backdrop-filter:blur(10px)}
.inventory-filter-toolbar label{display:grid;gap:.28rem;min-width:145px;flex:1 1 155px;margin:0;font-size:.76rem;color:var(--muted,#66758a);font-weight:800}
.inventory-filter-toolbar label>span{line-height:1.1}
.inventory-filter-toolbar input,.inventory-filter-toolbar select{height:40px;padding:.55rem .7rem;border-radius:9px;font-size:.86rem;color:var(--text,#334e68)}
.inventory-filter-toolbar .inventory-filter-search{min-width:min(360px,100%);flex:2.5 1 390px}
.inventory-filter-toolbar .inventory-filter-page-size{min-width:112px;max-width:132px;flex:0 0 122px}
.inventory-filter-actions{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}
.inventory-filter-actions .btn{height:40px;padding:.55rem .85rem;white-space:nowrap}
.inventory-filter-state{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.inventory-list-card{margin-top:0}
.inventory-list-card .server-page-size{display:none}
.inventory-list-card>.management-count{margin:.9rem 1rem 0}
@media(max-width:1050px){.inventory-filter-toolbar{position:static}.inventory-filter-toolbar .inventory-filter-search{flex-basis:100%}.inventory-filter-toolbar label{min-width:180px}.inventory-filter-toolbar .inventory-filter-page-size{max-width:none;flex:1 1 180px}}
@media(max-width:620px){.inventory-filter-toolbar{align-items:stretch}.inventory-filter-toolbar label,.inventory-filter-toolbar .inventory-filter-search,.inventory-filter-toolbar .inventory-filter-page-size{min-width:100%;max-width:none;flex-basis:100%}.inventory-filter-actions{width:100%}.inventory-filter-actions .btn{flex:1}.inventory-list-card>.management-count{margin:.75rem .75rem 0}}

/* v0.5.9.8.29 — workflow exception and reconciliation center */
.reconciliation-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin:16px 0}.reconciliation-summary-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;min-height:92px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);text-decoration:none;color:inherit;box-shadow:0 10px 30px rgba(20,33,61,.06)}.reconciliation-summary-card>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f4f7f8}.reconciliation-summary-card svg{width:20px;height:20px}.reconciliation-summary-card strong{font-size:1.65rem;line-height:1}.reconciliation-summary-card small{color:var(--muted)}.reconciliation-summary-card.severity-critical{border-inline-start:4px solid #b42318}.reconciliation-summary-card.severity-urgent{border-inline-start:4px solid #d97706}.reconciliation-summary-card.severity-warning{border-inline-start:4px solid #ca8a04}.reconciliation-summary-card.severity-approval{border-inline-start:4px solid #2563eb}.reconciliation-category-totals{margin-bottom:14px}.reconciliation-category-totals>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.reconciliation-category-totals>summary span:first-child{display:grid;gap:3px}.reconciliation-category-totals>summary small{color:var(--muted)}.reconciliation-category-grid{display:grid;grid-template-columns:repeat(9,minmax(90px,1fr));gap:8px;margin-top:14px}.reconciliation-category-grid a{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:#f4f7f8}.reconciliation-category-grid strong{font-size:1.25rem}.reconciliation-category-grid span{font-size:.82rem;color:var(--muted)}.reconciliation-filter-bar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(130px,1fr)) auto auto;gap:10px;align-items:end;margin-bottom:14px}.reconciliation-filter-bar label{display:grid;gap:5px}.reconciliation-filter-bar label>span{font-size:.8rem;font-weight:700;color:var(--muted)}.reconciliation-review-panel{margin-bottom:14px}.reconciliation-detail-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:14px 0}.reconciliation-detail-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f4f7f8}.reconciliation-detail-grid span{font-size:.78rem;color:var(--muted)}.reconciliation-actions-grid{align-items:start;margin:16px 0}.inset-card{box-shadow:none;background:#f4f7f8}.inset-card h3{margin-top:0}.reconciliation-groups{margin-top:14px}.reconciliation-table table{min-width:980px}.reconciliation-table td>small,.reconciliation-table td>strong{display:block}.reconciliation-source-label{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:#f4f7f8;font-size:.72rem;color:var(--muted)}.critical-operation-group.severity-approval .critical-level-marker{background:#2563eb}.critical-operation-group.severity-approval>summary{border-inline-start-color:#2563eb}.reconciliation-live-status{position:fixed;right:18px;bottom:18px;z-index:950;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);box-shadow:var(--shadow);font-size:.8rem}.reconciliation-live-status i{width:8px;height:8px;border-radius:50%;background:#159570}.reconciliation-live-status[data-state="syncing"] i{animation:reconciliationPulse 1s infinite}.reconciliation-live-status[data-state="pending"] i{background:#d97706}.reconciliation-live-status[data-state="offline"] i{background:#b42318}
@keyframes reconciliationPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:1280px){.reconciliation-summary-grid{grid-template-columns:repeat(3,1fr)}.reconciliation-category-grid{grid-template-columns:repeat(5,1fr)}.reconciliation-filter-bar{grid-template-columns:repeat(3,minmax(160px,1fr))}.reconciliation-detail-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.reconciliation-summary-grid{grid-template-columns:repeat(2,1fr)}.reconciliation-category-grid{grid-template-columns:repeat(2,1fr)}.reconciliation-filter-bar{grid-template-columns:1fr}.reconciliation-detail-grid{grid-template-columns:1fr 1fr}.reconciliation-live-status{right:10px;bottom:10px}.reconciliation-table table{min-width:820px}}

/* ClinicCare 0.5.9.8.30: compact dashboard guidance and Help & Support. */
.role-welcome-tools{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;min-width:max-content}.role-guidance-links{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.role-guidance-links button,.role-guidance-links a{display:inline-flex;align-items:center;gap:.38rem;padding:.35rem .25rem;border:0;background:transparent;color:var(--primary);font-size:.78rem;font-weight:800;cursor:pointer}.role-guidance-links svg{width:15px;height:15px}.role-guidance-links button:hover,.role-guidance-links a:hover{text-decoration:underline}.clinical-task-preview .main .role-guidance-links button[data-open]{display:inline-flex!important}.role-guidance-dialog,.context-help-dialog{width:min(680px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.dialog-body{position:relative;padding:1.45rem}.dialog-body>h2{margin:.3rem 2.2rem .55rem 0}.dialog-body>p{line-height:1.6;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--line)}.dialog-actions .btn{gap:.45rem}.dialog-task-steps{margin-top:1rem}.role-guide-purpose{font-size:1rem;color:var(--ink)!important}.role-guide-limit,.context-help-limit{display:grid;gap:.25rem;margin-top:1rem}.role-guide-limit strong,.context-help-limit strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}.role-guide-limit span,.context-help-limit span{line-height:1.5}.context-help-actions{display:grid;gap:.55rem;margin:1rem 0}.context-help-actions>div{display:grid;grid-template-columns:30px 1fr;gap:.7rem;align-items:start;padding:.68rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2,#f7faf9)}.context-help-actions>div>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e4f5f2;color:var(--primary);font-size:.75rem;font-weight:900}.context-help-actions p{margin:.25rem 0 0;line-height:1.45}.global-help-button{color:var(--primary)!important}.global-help-button:hover{background:#e8f7f4!important}
.help-hero{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#effaf8)}.help-hero h2{margin:.3rem 0 .45rem;font-size:1.75rem}.help-hero p{margin:0;max-width:780px;color:var(--muted);line-height:1.55}.help-system-context{display:grid;grid-template-columns:auto minmax(100px,1fr);gap:.28rem .65rem;padding:.8rem 1rem;border:1px solid #cfe5e1;border-radius:13px;background:#fff;min-width:250px}.help-system-context span{color:var(--muted);font-size:.72rem}.help-system-context strong{font-size:.78rem;text-align:right}.help-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:1rem;align-items:start}.help-main,.help-side{display:grid;gap:1rem}.help-side{position:sticky;top:1rem}.contextual-help-card .card-head,.role-help-card .card-head{align-items:flex-start}.help-summary{font-size:1.02rem;line-height:1.6}.help-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.help-action-list>div{display:grid;grid-template-columns:34px 1fr;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:13px;background:var(--surface-2,#f8fafb)}.help-action-list>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e4f5f2;color:var(--primary);font-weight:900}.help-action-list p{margin:.35rem 0 0;line-height:1.45}.help-tip-list{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.help-tip-list span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border-radius:999px;background:#edf8f6;color:#245f59;font-size:.76rem;font-weight:700}.help-tip-list svg{width:14px;height:14px}.compact-task-steps{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:1.4rem}.help-faq-list{display:grid;gap:.55rem}.help-faq-list details{border:1px solid var(--line);border-radius:12px;background:#fff}.help-faq-list summary{cursor:pointer;padding:.85rem 1rem;font-weight:800}.help-faq-list details[open] summary{border-bottom:1px solid var(--line)}.help-faq-list p{margin:0;padding:.85rem 1rem;color:var(--muted);line-height:1.6}.support-contact-card a{display:flex;align-items:center;gap:.55rem;padding:.65rem 0;border-bottom:1px solid var(--line);font-weight:750;overflow-wrap:anywhere}.support-contact-card a svg{width:18px;height:18px;flex:0 0 18px}.support-contact-card p,.support-safe-report p,.support-admin-note p{color:var(--muted);line-height:1.55}.support-safe-report ul{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.5rem;color:var(--muted);line-height:1.45}.support-filter-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(135px,1fr)) auto;gap:.65rem;align-items:end;margin:1rem 0}.support-filter-toolbar label{min-width:0}.support-request-table{min-width:850px}.support-priority-urgent{background:#fde9e7;color:#a33a31}.support-priority-high{background:#fff3d9;color:#815b10}.support-priority-normal{background:#e8f4f3;color:#24635e}.support-priority-low{background:#eef2f5;color:#596779}.support-status-open{background:#fff3d9;color:#815b10}.support-status-in_review{background:#e5efff;color:#245493}.support-status-waiting_user{background:#f3eaff;color:#70439b}.support-status-resolved,.support-status-closed{background:#e7f6ed;color:#226843}.support-request-dialog{width:min(820px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.support-request-dialog h2{margin:.3rem 0}.support-message-block{margin:.9rem 0;padding:1rem;border:1px solid var(--line);border-radius:13px;background:#f9fbfb}.support-message-block>span{display:block;color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.support-message-block p{margin:.45rem 0 0;line-height:1.6;white-space:normal}.support-message-block.resolution{background:#edf8f3;border-color:#bddfce}.support-resolution-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:1050px){.help-layout{grid-template-columns:1fr}.help-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.support-filter-toolbar{grid-template-columns:1fr 1fr}.support-filter-toolbar label:first-of-type{grid-column:1/-1}.help-system-context{min-width:220px}}
@media(max-width:760px){.role-welcome-tools{align-items:flex-start;min-width:0;width:100%}.role-guidance-links{justify-content:flex-start}.help-hero{align-items:flex-start;flex-direction:column}.help-system-context{width:100%;min-width:0}.help-action-list,.compact-task-steps,.help-side{grid-template-columns:1fr}.support-filter-toolbar{grid-template-columns:1fr}.support-filter-toolbar label:first-of-type{grid-column:auto}.dialog-actions{align-items:stretch;flex-direction:column}.dialog-actions .btn{width:100%}}

/* ClinicCare 0.5.9.8.32: appointment service controls, dispositions, and structured-profile UI. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(13,124,117,.28);outline-offset:2px}
:where(button,.btn,.icon-button,.link-btn,summary){min-height:42px}
body.dialog-open{overflow:hidden}
dialog{max-height:calc(100dvh - 2rem);overflow:hidden}
dialog>form{max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
dialog.has-unsaved-changes::after{content:'Unsaved changes';position:absolute;left:1rem;top:.8rem;padding:.28rem .52rem;border-radius:999px;background:#fff3d9;color:#815b10;font-size:.7rem;font-weight:850;pointer-events:none}
.table-wrap{scrollbar-gutter:stable;overscroll-behavior:contain;outline:none}
.table-wrap table{min-width:max-content}
.table-wrap thead th{position:sticky;top:0;z-index:3;background:var(--card);box-shadow:0 1px 0 var(--line)}
.table-wrap:focus-visible{outline:3px solid rgba(13,124,117,.22);outline-offset:2px}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.10)}

.appointment-month-card{padding:1.1rem;overflow:hidden}
.month-calendar-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-bottom:1rem}
.month-calendar-head h2{margin:.2rem 0;font-size:1.55rem}
.month-calendar-head p{margin:0;color:var(--muted)}
.month-calendar-actions{display:flex;align-items:center;gap:.55rem}
.appointment-month-weekdays,.appointment-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}
.appointment-month-weekdays{margin-bottom:.4rem}
.appointment-month-weekdays span{padding:.45rem;text-align:center;color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.appointment-month-day{position:relative;min-height:112px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.25rem;padding:.72rem;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.appointment-month-day:hover{border-color:#8bc8c1;box-shadow:0 10px 24px rgba(20,33,61,.08);transform:translateY(-1px)}
.appointment-month-day.outside-month{opacity:.48;background:#f8fafb}
.appointment-month-day.today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.month-day-number{font-size:.78rem;font-weight:850;color:var(--muted)}
.month-appointment-count{font-size:1.8rem;line-height:1;color:var(--primary)}
.appointment-month-day small{font-size:.72rem;color:var(--muted)}
.appointment-day-column.selected-date{box-shadow:0 0 0 3px rgba(13,124,117,.22);border-radius:14px}
.appointment-day-column.selected-date>header{background:#e9f7f5}

@media(max-width:900px){
  .month-calendar-head{grid-template-columns:auto minmax(0,1fr) auto}
  .appointment-month-day{min-height:92px;padding:.55rem}
  .month-appointment-count{font-size:1.45rem}
}
@media(max-width:760px){
  .schedule-toolbar{align-items:stretch;flex-direction:column}
  .view-switch{overflow-x:auto;padding-bottom:.2rem}
  .view-switch a{min-width:max-content}
  .month-calendar-head{grid-template-columns:auto 1fr auto;gap:.5rem}
  .month-calendar-head p{font-size:.78rem}
  .month-calendar-actions .btn{display:none}
  .appointment-month-card{padding:.65rem}
  .appointment-month-weekdays,.appointment-month-grid{gap:.22rem}
  .appointment-month-weekdays span{padding:.25rem .05rem;font-size:.62rem}
  .appointment-month-day{min-height:74px;border-radius:9px;padding:.4rem}
  .month-day-number{font-size:.7rem}
  .month-appointment-count{font-size:1.15rem}
  .appointment-month-day small{font-size:0;width:1px;height:1px;overflow:hidden;position:absolute;clip:rect(0,0,0,0)}
  dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);margin:.5rem auto}
  dialog>form{max-height:calc(100dvh - 1rem);padding:1.1rem}
  .table-wrap{margin-inline:-.35rem;padding-inline:.35rem}
  .table-wrap td,.table-wrap th{padding:.72rem .6rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ClinicCare 0.5.9.8.32 appointment service add/drop controls */
.service-add-drop-builder{display:grid;gap:.65rem;margin-top:.45rem}
.service-add-drop-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}
.service-add-drop-chips{display:flex;flex-wrap:wrap;gap:.45rem;min-height:2rem;align-items:center}
.service-add-drop-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .48rem .38rem .65rem;border:1px solid var(--border,#d9e0e7);border-radius:999px;background:var(--surface-soft,#f6f8fa);font-size:.88rem}
.service-add-drop-chip button{border:0;background:transparent;font-size:1.15rem;line-height:1;cursor:pointer;padding:0 .15rem}
[data-confirmation-fields][hidden]{display:none!important}
@media(max-width:640px){.service-add-drop-controls{grid-template-columns:1fr}.service-add-drop-controls .btn{width:100%}}
.planned-service-disposition{margin:.45rem 0 .25rem;padding:.45rem .55rem;border:1px solid var(--border,#d9e0e7);border-radius:10px;background:var(--surface,#fff)}
.planned-service-disposition summary{cursor:pointer;font-weight:600}
.planned-service-disposition .compact-form{margin-top:.55rem;display:grid;gap:.55rem}

/* v0.5.9.8.58 landing-page release/developer cleanup */
.compact-services-section{padding-top:3rem;padding-bottom:3rem}
.service-chip-grid{max-width:980px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.service-chip-grid span{display:inline-flex;align-items:center;padding:.62rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:800;font-size:.88rem}.service-chip-grid .service-chip-muted{background:#f7faf9;color:var(--muted);font-weight:750}.service-cta-row{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.release-download-section{background:#eef6f5}.release-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1080px;margin:0 auto}.release-download-grid article,.developer-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:0 12px 30px rgba(20,33,61,.05)}.release-download-grid h3,.developer-card h3{margin:.15rem 0 .6rem}.release-download-grid p,.developer-section p{color:var(--muted);line-height:1.65}.release-download-grid .btn{margin-top:.5rem}.developer-section{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:center}.developer-section h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;margin:.5rem 0}.developer-card strong{font-size:.75rem;color:var(--primary);letter-spacing:.1em;text-transform:uppercase}.public-release-actions{display:flex;flex-wrap:wrap;gap:.65rem}
@media(max-width:900px){.release-download-grid,.developer-section{grid-template-columns:1fr}.developer-card{max-width:none}}


/* v0.5.9.8.59 reset/layout/form compatibility repair */
html{min-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
body{min-height:100%;overflow-y:auto!important;overflow-x:hidden}
body.dialog-open{overflow:hidden!important}
.main{min-width:0;max-width:100%;overflow:visible;padding-bottom:5rem}
.card,.stat-card,.grid-2>*,.reports>*,.dashboard-card,.clinical-shell,.clinical-workspace,.doctor-treatment-grid>*{min-width:0;max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}
.table-wrap.scroll-y{overflow:auto;overscroll-behavior:auto}
.table-wrap table{max-width:none}
html,body,.main,.table-wrap{scrollbar-width:auto!important;-ms-overflow-style:auto!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,.main::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{width:12px;height:12px;display:block}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.main::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:#c4ccd6;border-radius:999px;border:3px solid #f5f7fb}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.main::-webkit-scrollbar-thumb:hover,.table-wrap::-webkit-scrollbar-thumb:hover{background:#99a7b6}
.main :where(.card,.install-card) > form:not(.toolbar):not(.inline-form):not(.compact-form) > label:not(.wide):not(.full-width),
.main > form:not(.toolbar):not(.inline-form):not(.compact-form) > label:not(.wide):not(.full-width),
.main :where(.card,.install-card) > form:not(.toolbar):not(.inline-form):not(.compact-form) > .field:not(.wide):not(.full-width){max-width:760px;width:100%}
.form-grid > label,.form-grid > .field,.wide,.full-width{max-width:none!important}
textarea.large-notes,textarea[name="notes"],textarea[name="reason"],textarea[name="message"],textarea[name="description"],textarea[name="clinical_note"]{max-width:760px}
.wide textarea,.full-width textarea,.form-grid textarea,.table-wrap textarea{max-width:none}
@media(max-width:760px){.main{overflow:visible;padding-bottom:4rem}.main :where(.card,.install-card)>form>label,.main>form>label,textarea.large-notes,textarea[name="notes"],textarea[name="reason"],textarea[name="message"],textarea[name="description"],textarea[name="clinical_note"]{max-width:100%}.table-wrap{overscroll-behavior:auto}}


/* v0.5.9.8.60 chair/service management usability repair */
.chair-resource-workspace .chair-status-board .card-head{align-items:flex-start}.chair-board-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.chair-board-card{border:1px solid var(--border,#d9e2ec);border-radius:14px;padding:.85rem;background:var(--surface,#fff);display:flex;flex-direction:column;gap:.55rem;min-height:112px}.chair-board-card.occupied{box-shadow:inset 0 0 0 2px rgba(245,158,11,.22)}.chair-board-card.empty{opacity:.95}.chair-board-card strong{display:block;line-height:1.2}.chair-board-card small{display:block;color:var(--muted,#64748b);line-height:1.35;margin-top:.18rem}.chair-occupant{border-top:1px dashed var(--border,#d9e2ec);padding-top:.45rem;display:flex;flex-direction:column;gap:.15rem}.chair-occupant span{font-weight:750}.chair-resource-workspace .management-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.management-dialog{width:min(860px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:hidden}.management-dialog .management-dialog-body{position:relative;max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;padding:1.5rem;scrollbar-width:auto}.management-dialog .management-dialog-body::-webkit-scrollbar{width:12px;height:12px;display:block}.management-dialog .management-dialog-body::-webkit-scrollbar-thumb{background:#c4ccd6;border-radius:999px;border:3px solid #fff}.management-dialog .form-grid{align-items:end}.management-dialog hr{border:0;border-top:1px solid var(--line,#e6eaf0);margin:1.35rem 0}.management-dialog h3{margin:1rem 0 .75rem}.management-dialog .dialog-close{position:sticky;float:right;top:.25rem;z-index:2;background:#fff;border-radius:999px}.service-management-workspace .management-dialog{width:min(900px,calc(100vw - 2rem))}.service-management-workspace .management-dialog-body{padding-bottom:2rem}.chair-board-card .badge{width:max-content}@media(max-width:760px){.chair-board-grid{grid-template-columns:1fr}.management-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);margin:.5rem auto}.management-dialog .management-dialog-body{max-height:calc(100dvh - 1rem);padding:1.1rem}.management-dialog .dialog-close{top:.1rem}}

.setup-empty-state{max-width:980px;margin:1rem auto}.setup-empty-state .button-row{margin-top:1rem}.setup-empty-state p{max-width:820px;line-height:1.65}

/* v0.5.9.8.66.2: prevent mixed dentition and chairside tooth/surface charts from being cut off. */
.anatomical-arch,
.embedded-odontogram,
.embedded-chart-layout,
.dental-chart-card {
  min-width: 0;
}
.anatomical-arch,
.embedded-odontogram,
.dental-chart-card,
.tooth-chart-row,
.tooth-model-row {
  overflow-x: auto;
  overflow-y: visible;
}
.embedded-chart-layout {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 270px);
}
.embedded-odontogram .tooth-model-row.compact-row,
.tooth-model-row.compact-row.mixed,
.tooth-model-row.mixed {
  justify-content: flex-start;
  min-width: max-content;
  padding-inline: .35rem;
}
.diagnosis-surface-control,
.diagnosis-surface-options {
  max-width: 100%;
  min-width: 0;
}
.diagnosis-surface-options {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}
@media (max-width: 980px) {
  .embedded-chart-layout { grid-template-columns: 1fr; }
  .embedded-findings-panel { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 1rem; }
}

/* ClinicCare 0.5.9.8.67 cashier POS integrity */
.cashier-integrity-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;margin:.8rem 0}.cashier-integrity-strip div{border:1px solid var(--line);border-radius:.9rem;background:var(--surface);padding:.75rem}.cashier-integrity-strip strong{display:block}.cashier-integrity-strip small{color:var(--muted)}.transaction-navigation-locked .pos-recent-transactions a[href*="patient_id="]{pointer-events:none;opacity:.5}.transaction-navigation-locked .pos-recent-transactions .inline-actions::after{content:"Finish/cancel active transaction first";display:block;color:var(--muted);font-size:.72rem;margin-top:.25rem}

/* v0.5.9.8.68 SMS readiness */
.sms-admin-grid .form-grid h3{margin:1rem 0 .25rem;font-size:1rem;color:var(--primary)}
.sms-template-layout{margin-top:1rem}
.sms-template-layout .template-editor textarea{font-family:inherit;line-height:1.45}
.text-danger{display:block;color:#b91c1c;margin-top:.25rem}


/* v0.5.9.8.71 — global long-list and long-line readability guard */
.main :where(.card,.stat-card,.role-welcome,.dialog-body,.table-wrap,td,th,p,small,li,a,.badge,code,pre){overflow-wrap:anywhere;word-break:normal;min-width:0}
.main :where(.card-head,.toolbar,.status-actions,.button-row,.inline-actions){flex-wrap:wrap;min-width:0}
.main :where(.card-head>div,.toolbar>div){min-width:0;max-width:100%}
.table-wrap{border-radius:14px}.table-wrap table{min-width:760px}.table-wrap.compact-table table,.compact-table table{min-width:620px}.table-wrap td,.table-wrap th{max-width:360px}.table-wrap td:first-child{max-width:280px}.table-wrap .inline-actions{display:flex;flex-wrap:wrap;gap:.35rem}.table-wrap code,.release-deny-list code{white-space:normal}
.long-list-scroll,.compact-scroll-list{max-height:440px;overflow:auto;overscroll-behavior:contain;padding-right:.25rem;scrollbar-width:auto}.long-list-scroll::-webkit-scrollbar,.compact-scroll-list::-webkit-scrollbar{width:10px;height:10px;display:block}.long-list-scroll::-webkit-scrollbar-thumb,.compact-scroll-list::-webkit-scrollbar-thumb{background:#c4ccd6;border-radius:999px;border:2px solid #fff}
.compact-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}.compact-check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.65rem .75rem;border:1px solid var(--line,#e6eaf0);border-radius:12px;background:var(--surface,#fff)}.compact-check-row strong,.compact-check-row small{display:block;min-width:0}.compact-check-row small{color:var(--muted,#687386);line-height:1.35}.compact-check-row .btn{white-space:nowrap}
.compact-details{margin-top:.75rem;border:1px solid var(--line,#e6eaf0);border-radius:14px;background:#f8fafc}.compact-details>summary{cursor:pointer;padding:.75rem 1rem;font-weight:850;color:var(--primary,#0d7c75);list-style:none}.compact-details>summary::-webkit-details-marker{display:none}.compact-details>summary:after{content:'Show';float:right;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#687386)}.compact-details[open]>summary:after{content:'Hide'}.compact-details-body{padding:0 1rem 1rem}.compact-details-body :where(ul,ol){margin:.35rem 0 0 1.1rem;padding:0}.compact-details-body li+li{margin-top:.28rem}
.setup-wizard-compact .setup-group-card .setup-compact-list.collapsed-ready .setup-compact-row.ready{display:none}.setup-wizard-compact .setup-compact-list{max-height:360px;overflow:auto;padding-right:.25rem}.setup-wizard-compact .setup-facts{max-height:160px;overflow:auto;padding-right:.25rem}.setup-wizard-compact .setup-action-card p,.setup-wizard-compact .setup-compact-row small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.setup-wizard-compact details[open] .setup-action-card p,.setup-wizard-compact details[open] .setup-compact-row small{-webkit-line-clamp:unset}
.go-live-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem}.go-live-row{min-width:0;overflow:hidden}.go-live-row strong,.go-live-row small{display:block;min-width:0;overflow-wrap:anywhere}.checklist-section .go-live-list{max-height:430px;overflow:auto;padding-right:.25rem}.checklist-confirm-form{margin-top:1rem}
.smoke-grid{align-items:stretch}.smoke-card{min-width:0}.smoke-card ul{max-height:160px;overflow:auto;padding-right:.25rem}.smoke-card li{line-height:1.35}.qa-manual-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem;margin-left:0;padding-left:0;list-style:none}.qa-manual-checklist li{border:1px solid var(--line,#e6eaf0);border-radius:12px;padding:.8rem;background:#fff;line-height:1.45}.release-deny-list{display:flex;flex-wrap:wrap;gap:.45rem}.release-deny-list code{max-width:100%}
.system-setup-audit-list :where(td ul,td ol),.role-satisfaction-matrix :where(td ul,td ol){max-height:7.4rem;overflow:auto;padding-right:.25rem;margin:.35rem 0 .35rem 1.05rem}.system-setup-audit-list td,.role-satisfaction-matrix td{vertical-align:top}.critical-group-table tbody{max-height:520px;overflow:auto}.compact-flow-list{max-height:520px;overflow:auto;padding-right:.25rem}.compact-flow-patient{min-width:0}.compact-flow-patient small{overflow-wrap:anywhere}.dashboard-card,.task-card,.appointment-card,.patient-card,.report-card{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.table-wrap table{min-width:680px}.table-wrap td,.table-wrap th{max-width:260px}.compact-check-row{grid-template-columns:auto 1fr}.compact-check-row .btn{grid-column:1/-1;width:100%}.go-live-list,.qa-manual-checklist,.compact-check-grid{grid-template-columns:1fr}.checklist-section .go-live-list,.long-list-scroll,.compact-scroll-list{max-height:360px}.setup-wizard-compact .setup-compact-list{max-height:300px}}

/* v0.5.9.8.72 backup/permission matrix compactness */
.permission-review-table table th,
.permission-review-table table td{vertical-align:top;min-width:92px;}
.permission-review-table table th:first-child,
.permission-review-table table td:first-child{min-width:260px;max-width:420px;}
.center-cell{text-align:center;font-size:1.15rem;font-weight:800;}
.inline-delete-form{display:flex;gap:.4rem;align-items:center;margin-top:.4rem;flex-wrap:wrap;}
.inline-delete-form input{max-width:8rem;min-height:2rem;padding:.35rem .5rem;}
.compact-checklist{max-height:18rem;overflow:auto;padding-right:.35rem;}
.setup-phase-card.attention{border-color:rgba(230,162,60,.45);background:linear-gradient(180deg,rgba(230,162,60,.10),rgba(255,255,255,.95));}
.backup-restore-center .table-wrap td,
.permission-review-table td{overflow-wrap:anywhere;word-break:normal;}
@media (max-width: 900px){.permission-review-table table th,.permission-review-table table td{min-width:7.5rem}.permission-review-table table th:first-child,.permission-review-table table td:first-child{min-width:16rem}}

/* v0.5.9.8.73 treatment flow compact status rail */
.treatment-flow-card{border-left:4px solid var(--primary,#0f766e)}
.treatment-flow-steps{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:.5rem;align-items:stretch;margin:.75rem 0;overflow-x:auto;padding-bottom:.25rem}
.treatment-flow-step{display:flex;align-items:center;gap:.45rem;min-width:105px;border:1px solid var(--border,#d8e1e5);border-radius:999px;padding:.45rem .65rem;background:#fff;color:#475467;white-space:nowrap}
.treatment-flow-step i{width:.65rem;height:.65rem;border-radius:999px;background:#cbd5e1;box-shadow:0 0 0 3px #f1f5f9;flex:0 0 auto}
.treatment-flow-step strong{font-size:.78rem;font-weight:700;line-height:1.1}
.treatment-flow-step.done{background:#ecfdf3;border-color:#bbf7d0;color:#166534}
.treatment-flow-step.done i{background:#16a34a;box-shadow:0 0 0 3px #dcfce7}
.treatment-flow-step.current{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.treatment-flow-step.current i{background:#f97316;box-shadow:0 0 0 3px #ffedd5}
.treatment-flow-step.pending{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
.treatment-flow-mini{display:grid;gap:.35rem;margin:.55rem 0;padding:.55rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;min-width:0;overflow:hidden}
.treatment-flow-mini small{color:#667085;line-height:1.3;overflow-wrap:anywhere}
.treatment-flow-steps-compact{grid-template-columns:repeat(7,max-content);gap:.25rem;margin:0;overflow-x:auto}
.treatment-flow-steps-compact .treatment-flow-step{min-width:auto;padding:.28rem .42rem}
.treatment-flow-steps-compact .treatment-flow-step strong{font-size:.68rem}.treatment-flow-steps-compact .treatment-flow-step i{width:.5rem;height:.5rem}
.compact-alert ul{margin:.4rem 0 0 1.1rem;padding:0}.compact-alert li{margin:.15rem 0;overflow-wrap:anywhere}
@media(max-width:900px){.treatment-flow-steps{grid-template-columns:repeat(7,max-content)}.treatment-flow-step{min-width:100px}}


/* MTBCustoms developer/programmer branding */
.public-developer-credit,.app-developer-credit{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;text-decoration:none;color:inherit;font-weight:800}.public-developer-credit span,.app-developer-credit span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.public-developer-credit strong,.app-developer-credit strong{color:var(--primary)}.public-developer-credit small,.app-developer-credit small{color:var(--muted);font-weight:650}.public-developer-credit:hover strong,.app-developer-credit:hover strong,.developer-card a:hover,.login-developer-footer a:hover{text-decoration:underline}.app-developer-footer{margin:2rem 1.25rem 5.5rem;padding:1rem;border-top:1px solid var(--line);display:flex;justify-content:center;text-align:center}.login-developer-footer{position:fixed;left:0;right:0;bottom:0;padding:.75rem 1rem;background:rgba(255,255,255,.92);border-top:1px solid var(--line);text-align:center;font-size:.85rem;color:var(--muted);backdrop-filter:blur(12px)}.login-developer-footer a,.developer-card a{color:var(--primary);font-weight:800;text-decoration:none}.login-developer-footer span{margin-left:.35rem}.developer-card a{word-break:break-word}@media(max-width:720px){.app-developer-footer{margin-bottom:6.5rem}.public-footer-bottom{align-items:flex-start}.login-developer-footer{position:static;margin-top:1rem}.login-developer-footer span{display:block;margin-left:0;margin-top:.15rem}}

/* v0.5.9.8.74 staff profile and dual-role controls */
.management-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem .75rem;margin-top:.65rem}
.management-checkbox-grid label{display:flex;align-items:center;gap:.45rem;padding:.55rem .65rem;border:1px solid var(--line,#dbe4ef);border-radius:.7rem;background:rgba(255,255,255,.75);font-weight:600}
.staff-role-badges{margin:.75rem 0 1rem;gap:.5rem;flex-wrap:wrap}
.hero-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sidebar-user-copy{text-decoration:none;color:inherit}
.sidebar-user-copy:hover strong{text-decoration:underline}
.badge.success{background:rgba(20,184,166,.12);color:#0f766e;border-color:rgba(20,184,166,.35)}

/* Doctor profile compact workflow hotfix v0.5.9.8.77 */
.doctor-profile-layout-compact{grid-template-columns:minmax(0,1fr) minmax(330px,410px);gap:1.1rem;align-items:start}.doctor-profile-main{display:grid;gap:1rem;min-width:0}.doctor-profile-form-compact{display:block;padding:1rem}.doctor-profile-form-head{position:sticky;top:.5rem;z-index:7;margin:-.25rem -.25rem .85rem;padding:.75rem;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,#fff);backdrop-filter:blur(10px)}.doctor-profile-form-head h2{margin:.1rem 0}.doctor-profile-form-head p{max-width:780px}.doctor-compact-section,.doctor-side-section{border:1px solid var(--line);border-radius:16px;background:#fff;margin:.75rem 0;overflow:hidden}.doctor-compact-section>summary,.doctor-side-section>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer;padding:.9rem 1rem;background:color-mix(in srgb,var(--primary) 5%,#fff)}.doctor-compact-section>summary::-webkit-details-marker,.doctor-side-section>summary::-webkit-details-marker{display:none}.doctor-compact-section>summary span,.doctor-side-section>summary span{display:flex;flex-direction:column;min-width:0}.doctor-compact-section>summary strong,.doctor-side-section>summary strong{font-size:.98rem;color:var(--text)}.doctor-compact-section>summary small,.doctor-side-section>summary small{font-size:.76rem;color:var(--muted);font-weight:500;line-height:1.35}.doctor-compact-section>summary em,.doctor-side-section>summary em{white-space:nowrap;font-style:normal;font-size:.72rem;font-weight:800;color:var(--primary);background:#e8f4f2;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:999px;padding:.32rem .55rem}.doctor-compact-section[open]>summary,.doctor-side-section[open]>summary{border-bottom:1px solid var(--line)}.doctor-compact-grid{padding:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.doctor-compact-grid textarea{min-height:unset}.doctor-profile-sticky-actions{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem -.25rem -.25rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 -8px 22px rgba(15,23,42,.06)}.doctor-profile-sticky-actions span{font-size:.78rem;color:var(--muted)}.doctor-profile-side-compact{position:sticky;top:.75rem;max-height:calc(100vh - 1.5rem);overflow:auto;padding-right:.15rem;scrollbar-width:thin}.doctor-profile-progress-card{padding:1rem}.profile-checklist{list-style:none;display:grid;gap:.48rem;margin:.8rem 0;padding:0}.profile-checklist li{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:.86rem;font-weight:700}.profile-checklist span{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;font-weight:900}.profile-checklist .complete span{background:color-mix(in srgb,var(--success) 16%,#fff);color:var(--success)}.profile-checklist .missing span{background:color-mix(in srgb,var(--warning) 18%,#fff);color:#8a5a00}.doctor-side-section{padding:0}.doctor-side-section>form,.doctor-side-section>.clinical-privilege-card,.doctor-side-section>.doctor-assignment-card{padding:1rem;margin:0}.doctor-side-form{grid-template-columns:1fr 1fr;gap:.75rem}.doctor-wide-section{margin-top:0}.compact-table{max-height:420px;overflow:auto}.compact-table table{min-width:760px}.compact-verify-form{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(180px,1fr) auto;gap:.4rem;margin:.45rem 0 0;align-items:center}.compact-verify-form input,.compact-verify-form select{min-width:0}.doctor-admin-section>summary{background:color-mix(in srgb,var(--warning) 8%,#fff)}.compact-privilege-groups{gap:.65rem;margin:.75rem 0}.compact-privilege-groups .privilege-group{margin:0}.compact-privilege-groups .privilege-group-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem;border-bottom:0}.compact-privilege-groups .privilege-group[open] .privilege-group-header{border-bottom:1px solid var(--line)}.compact-group-actions{padding:.55rem .75rem;border-bottom:1px solid var(--line);justify-content:flex-start}.compact-privilege-groups .clinical-privilege-grid,.doctor-assignment-card .assignment-option-list{max-height:240px;overflow:auto}.doctor-assignment-card .branch-assignment-list{grid-template-columns:1fr}.doctor-assignment-card .assignment-section:not([open]){margin:.55rem 0}.doctor-assignment-card .assignment-save-bar{margin-top:.75rem}.doctor-profile-side-compact .timeline{max-height:260px;overflow:auto}.doctor-profile-side-compact .notice{margin:.2rem 0 .5rem}.doctor-profile-side-compact .btn,.doctor-profile-form-compact .btn{white-space:nowrap}@media(max-width:1180px){.doctor-profile-layout-compact{grid-template-columns:1fr}.doctor-profile-side-compact{position:static;max-height:none;overflow:visible}.doctor-profile-form-head{position:static}.doctor-profile-sticky-actions{position:static}}@media(max-width:720px){.doctor-profile-form-head,.doctor-profile-sticky-actions,.doctor-compact-section>summary,.doctor-side-section>summary{align-items:flex-start;flex-direction:column}.doctor-compact-grid,.doctor-side-form{grid-template-columns:1fr}.doctor-profile-form-head .btn,.doctor-profile-sticky-actions .btn{width:100%}.compact-verify-form{grid-template-columns:1fr}.doctor-compact-section>summary em,.doctor-side-section>summary em{white-space:normal}.doctor-profile-form-compact{padding:.8rem}.doctor-profile-sticky-actions{margin:.8rem 0 0}}

/* v0.5.9.8.81 public page image/design builder */
.website-builder-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#ffffff,#f2fbfa);margin-bottom:1rem}
.website-builder-intro h2{margin:.25rem 0}.website-builder-intro p{margin:0;color:var(--muted)}
.website-page-designer .form-section-title{margin:1rem 0 .1rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.98rem;color:var(--ink)}
.page-image-current{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.85rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:#f8fbfc}
.page-image-current img{width:120px;height:84px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.page-image-current small{grid-column:2;color:var(--muted);word-break:break-all}.website-page-list-card table small{line-height:1.4}
.public-custom-hero{max-width:1180px;margin:0 auto;padding:4.5rem 2rem 3.25rem;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:2.5rem;align-items:center;min-height:440px;background-position:center;background-size:cover;border-radius:0 0 34px 34px}
.public-custom-hero h1{font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;letter-spacing:-.045em;margin:.5rem 0 1rem}.public-custom-hero p{font-size:1.08rem;line-height:1.7;color:var(--muted);max-width:720px}.public-custom-hero .btn{margin-top:.35rem}
.public-page-hero-image{margin:0}.public-page-hero-image img{width:100%;height:min(470px,52vw);object-fit:cover;border-radius:28px;box-shadow:0 26px 70px rgba(20,33,61,.16);border:1px solid rgba(255,255,255,.7)}
.public-custom-hero.page-image-left .public-custom-hero-copy{order:2}.public-custom-hero.page-image-left .public-page-hero-image{order:1}.public-custom-hero.page-image-top{grid-template-columns:1fr;padding-top:2rem}.public-custom-hero.page-image-top .public-page-hero-image img{height:min(430px,45vw)}
.public-custom-hero.page-image-background{color:#fff;max-width:none;border-radius:0;padding-left:max(2rem,calc((100vw - 1180px)/2));padding-right:max(2rem,calc((100vw - 1180px)/2))}.public-custom-hero.page-image-background p,.public-custom-hero.page-image-background .eyebrow{color:rgba(255,255,255,.86)}
.public-custom-hero.page-layout-centered{grid-template-columns:1fr;text-align:center}.public-custom-hero.page-layout-centered .public-custom-hero-copy{max-width:860px;margin:auto}.public-custom-hero.page-layout-centered p{margin-left:auto;margin-right:auto}.public-custom-hero.page-layout-centered .public-page-hero-image{max-width:840px;margin:auto}
.public-custom-hero.page-layout-poster{grid-template-columns:1fr}.public-custom-hero.page-layout-poster .public-page-hero-image{order:-1}.public-custom-hero.page-layout-poster .public-page-hero-image img{height:min(520px,54vw)}
.public-custom-hero.page-theme-soft{background:linear-gradient(135deg,#f9fffe,#eef8f6)}.public-custom-hero.page-theme-minimal{background:#fff}.public-custom-hero.page-theme-premium:not(.page-image-background){background:linear-gradient(135deg,#0c2233,#17324d);color:#fff}.public-custom-hero.page-theme-premium:not(.page-image-background) p,.public-custom-hero.page-theme-premium:not(.page-image-background) .eyebrow{color:rgba(255,255,255,.82)}
.public-page-body-grid{max-width:1080px;margin:0 auto;display:grid;gap:1.5rem}.public-page-body-grid.has-content-image{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.public-page-content{padding:2rem}.public-page-content h2{font-size:1.75rem;margin:1.7rem 0 .65rem}.public-page-content h2:first-child{margin-top:0}.public-page-content h3{font-size:1.18rem;margin:1.25rem 0 .45rem}.public-page-content p,.public-page-content li{font-size:1rem;line-height:1.78;color:var(--muted)}.public-page-bullets{padding-left:1.2rem;margin:.75rem 0 1.1rem}.public-page-side-image{padding:.5rem;position:sticky;top:90px}.public-page-side-image img{width:100%;height:360px;object-fit:cover;border-radius:18px}
.public-page-feature-grid{max-width:1080px;margin:1.5rem auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.public-page-feature-grid article{padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.public-page-feature-grid span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eaf7f5;color:var(--primary);font-weight:900;margin-bottom:.7rem}.public-page-feature-grid h3{margin:0 0 .35rem}.public-page-feature-grid p{margin:0;color:var(--muted);line-height:1.55}
.page-layout-cards .public-page-body-grid.has-content-image{grid-template-columns:1fr}.page-layout-cards .public-page-side-image{position:relative;top:auto}.page-layout-cards .public-page-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.website-builder-intro{align-items:flex-start;flex-direction:column}.public-custom-hero{grid-template-columns:1fr;padding:3rem 1rem 2rem;gap:1.35rem;min-height:auto}.public-page-hero-image img,.public-custom-hero.page-image-top .public-page-hero-image img,.public-custom-hero.page-layout-poster .public-page-hero-image img{height:auto;max-height:430px}.public-page-body-grid.has-content-image{grid-template-columns:1fr}.public-page-side-image{position:relative;top:auto}.public-page-feature-grid,.page-layout-cards .public-page-feature-grid{grid-template-columns:1fr}.page-image-current{grid-template-columns:1fr}.page-image-current small{grid-column:auto}.page-image-current img{width:100%;height:180px}}

/* v0.5.9.8.82 website builder polish */
.public-page main{display:flex;flex-direction:column}
.landing-section-builder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1rem 0}
.landing-section-builder-card{border:1px solid var(--line);border-radius:18px;padding:1rem;background:#fff;display:grid;gap:.8rem}
.landing-section-builder-card .section-builder-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.landing-section-builder-card .section-builder-head input[type=number]{width:78px}
.landing-section-builder-card figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.landing-section-builder-card img{display:block;width:100%;height:120px;object-fit:cover}
.website-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.website-media-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden;display:grid;gap:.9rem;padding:1rem}
.website-media-card figure{margin:-1rem -1rem 0;border-bottom:1px solid var(--line);background:#f4f7fb}
.website-media-card figure img{display:block;width:100%;height:190px;object-fit:cover}
.website-media-card .compact-form{gap:.55rem}.website-media-card .media-path{font-size:.78rem;word-break:break-all;color:var(--muted);background:#f8fafc;border:1px dashed var(--line);border-radius:12px;padding:.55rem}.media-delete-form{display:grid;gap:.65rem;border-top:1px solid var(--line);padding-top:.75rem}.public-social-links{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}.public-social-links a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.35rem .65rem;text-decoration:none;font-size:.85rem}.public-hero-builder-image{margin:0;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.35);box-shadow:var(--shadow)}.public-hero-builder-image img{display:block;width:100%;height:min(360px,38vw);object-fit:cover}.public-section-builder-image{margin:0 auto 1.35rem;max-width:920px;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#f8fafc}.public-section-builder-image img{display:block;width:100%;max-height:420px;object-fit:cover}.public-section-builder-image.centered{width:min(920px,100%)}.contact-builder-image,.portal-builder-image{max-width:420px;margin:0}.public-preview-banner{display:inline-flex;align-items:center;gap:.35rem;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:.4rem .75rem;font-weight:800;margin-bottom:.75rem}.tabs a.active[href="website_media.php"],.tabs a[href="website_media.php"]{white-space:nowrap}
@media(max-width:900px){.public-hero-builder-image img{height:240px}.contact-builder-image,.portal-builder-image{max-width:100%;margin:0 auto 1rem}.landing-section-builder-grid,.website-media-grid{grid-template-columns:1fr}}


/* v0.5.9.8.83 authenticated fullscreen workspace */
body.app-page{min-height:100vh;min-height:100dvh;}
body.app-page .main{min-height:100vh;min-height:100dvh;}
html.dental-fullscreen-active,html.dental-fullscreen-active body{width:100%;min-height:100%;background:var(--bg);}
.app-fullscreen-button svg{width:20px;height:20px;}
.fullscreen-restore-overlay{position:fixed;right:1rem;bottom:1rem;z-index:100000;max-width:min(390px,calc(100vw - 2rem));}
.fullscreen-restore-overlay[hidden]{display:none!important;}
.fullscreen-restore-card{display:grid;gap:.55rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line));border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 22px 55px rgba(15,23,42,.22);backdrop-filter:blur(12px);}
.fullscreen-restore-card strong{font-size:.98rem;color:var(--ink);}
.fullscreen-restore-card span{font-size:.84rem;line-height:1.45;color:var(--muted);}
.login-page .login-card button[type="submit"]::after{content:" · Fullscreen";font-weight:650;opacity:.88;}
@media(max-width:760px){.fullscreen-restore-overlay{left:1rem;right:1rem;bottom:5rem}.app-fullscreen-button{display:inline-flex!important}}

/* v0.5.9.8.84 fullscreen prompt sanity */
.fullscreen-restore-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;}
.fullscreen-restore-actions .btn{min-height:38px;}


/* v0.5.9.8.89 stable kiosk cleanup: remove in-app forced fullscreen UI. */
body.app-page{min-height:100vh;min-height:100dvh;}
body.app-page .main{min-height:100vh;min-height:100dvh;}
.app-fullscreen-button,
.fullscreen-restore-overlay{display:none!important;}
.login-page .login-card button[type="submit"]::after{content:""!important;}
.kiosk-help-card{border:1px solid var(--line);border-radius:18px;padding:1rem;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:var(--shadow-sm,0 10px 25px rgba(15,23,42,.08));}
.kiosk-help-card code{white-space:normal;word-break:break-word;}


/* v0.5.9.8.91 System Setup client-side pagination */
.system-setup-paged-card{position:relative;}
.system-setup-client-pagination{margin:.85rem 0 1rem;border:1px solid var(--line,#dce8eb);border-radius:14px;background:#f8fbfc;}
.system-setup-client-pagination .server-pagination-controls{gap:.45rem;}
.system-setup-client-pagination button.pagination-number:disabled{opacity:.42;cursor:not-allowed;}
.permission-matrix .system-setup-client-pagination{grid-column:1/-1;}
.permission-matrix h3[hidden],.permission-row[hidden],tbody tr[hidden],.health-list>div[hidden]{display:none!important;}
@media(max-width:720px){.system-setup-client-pagination{align-items:flex-start;}.system-setup-client-pagination .server-pagination-controls{justify-content:flex-start;}}


/* v0.5.9.8.92 kiosk launcher forms */
.kiosk-help-card pre,.card pre{white-space:pre-wrap;word-break:break-word;overflow:auto;}
.kiosk-help-card code,.card code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem;}


/* v0.5.9.8.93 kiosk discoverability and long admin page polish */
.permission-review-table .smart-list-viewport{max-height:68vh;}
.permission-review-table table{min-width:980px;}
.kiosk-help-card pre,.card pre{white-space:pre-wrap;word-break:break-word;overflow:auto;}
.admin-link-list a[href*="kiosk"]{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,#fff),#fff);}

/* v0.5.9.8.94 kiosk fallback */
.kiosk-help-card pre,.card pre{white-space:pre-wrap;word-break:break-word;overflow:auto;}

/* ClinicCare 0.5.9.8.102: simpler online-request approval flow */
.request-review-grid{align-items:start}.request-review-grid>.card{align-self:start}.quick-approval-card{border-color:rgba(13,124,117,.22);background:linear-gradient(180deg,#ffffff,#f1fbf8)}.quick-approval-card .quick-approve-form{display:grid;gap:.7rem;margin:.75rem 0}.manual-request-details,.request-secondary-action{margin-top:1rem}.manual-request-details>summary,.request-secondary-action>summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;list-style:none}.manual-request-details>summary::-webkit-details-marker,.request-secondary-action>summary::-webkit-details-marker{display:none}.manual-request-details>summary span,.request-secondary-action>summary span{color:var(--muted);font-size:.86rem;font-weight:500;line-height:1.45}.manual-request-details[open]>summary,.request-secondary-action[open]>summary{padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.manual-request-details form{padding-top:.25rem}.request-secondary-action .status-form{display:grid;gap:1rem}.quick-approval-card .alert{margin-top:.6rem}@media(max-width:760px){.manual-request-details>summary,.request-secondary-action>summary{display:block}.manual-request-details>summary span,.request-secondary-action>summary span{display:block;margin-top:.35rem}}

/* v0.5.9.8.103: keep the odontogram viewport anchored on the clicked tooth. */
.odontogram-tooth[id^="tooth-"]{scroll-margin-top:7rem;scroll-margin-inline:2rem}
.odontogram-tooth:target{background:#e8f4f2;box-shadow:0 0 0 3px var(--primary)}

/* v0.5.9.8.105: stabilize odontogram clicks and walk-in intake dialog opening */
.odontogram-tooth:active,
.odontogram-tooth.selected:hover{transform:none}
#walkin-form[data-dialog-start-top]{scroll-behavior:auto}
#walkin-form .remote-patient-picker{scroll-margin-top:1rem}

/* v0.5.9.8.106: doctor must confirm chairside assistant before starting treatment */
.clinical-start-patient-summary{display:grid;gap:.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff,#f8fbfc)}
.clinical-start-patient-summary strong{font-size:1.05rem;color:var(--ink)}
.clinical-start-patient-summary small{color:var(--muted)}
.status-actions dialog.wide-dialog{white-space:normal;text-align:left}

/* v0.5.9.8.107: clinical workflow guide and stable working-position refresh */
.clinical-flow-coach{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-left:4px solid var(--primary);background:linear-gradient(135deg,rgba(20,184,166,.10),rgba(255,255,255,.98))}
.clinical-flow-coach h3{margin:.15rem 0 .2rem;font-size:1.05rem}.clinical-flow-coach h3 strong{color:var(--primary)}
.clinical-flow-coach p{margin:0;color:var(--muted)}.clinical-flow-coach kbd{margin-left:.35rem;padding:.12rem .34rem;border:1px solid currentColor;border-radius:.4rem;font:800 .68rem ui-monospace,monospace;opacity:.78}
.badge.warning{background:#fff1cf;color:#8a5b00}.badge.success{background:#dff8eb;color:#087443}
@media(max-width:760px){.clinical-flow-coach{align-items:stretch;flex-direction:column}.clinical-flow-coach .status-actions{align-items:stretch;flex-direction:column}.clinical-flow-coach .btn{width:100%}}

/* ClinicCare 0.6.0 major 360 workflow stabilization */
.major-flow-lane,
.reception-flow-launchpad,
.major-clinical-sequence,
.cashier-pos-transaction-guard,
.major-go-live-table {
    border: 1px solid rgba(15, 118, 110, 0.2);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
}
.major-flow-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}
.major-flow-steps.compact {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.major-flow-steps li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-height: 58px;
    padding: 0.85rem;
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.28);
}
.major-flow-steps li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.12);
    font-weight: 800;
    flex: 0 0 auto;
}
.major-flow-steps li strong {
    line-height: 1.25;
}
.reception-flow-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}
.flow-action-card {
    display: block;
    width: 100%;
    text-align: left;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.95);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.flow-action-card:hover,
.flow-action-card:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
    outline: 2px solid rgba(15, 118, 110, 0.18);
}
.flow-action-card strong,
.flow-action-card span {
    display: block;
}
.flow-action-card span {
    margin-top: 0.35rem;
    color: var(--muted, #64748b);
    font-size: 0.92rem;
}
.button-reset {
    font: inherit;
}
.major-clinical-sequence .status-actions,
.cashier-pos-transaction-guard .card-head {
    margin-top: 1rem;
}
.cashier-pos-transaction-guard {
    background: rgba(255, 251, 235, 0.95);
}
.major-go-live-table td {
    vertical-align: top;
}
@media (max-width: 760px) {
    .major-flow-steps,
    .major-flow-steps.compact,
    .reception-flow-actions {
        grid-template-columns: 1fr;
    }
}

/* v0.6.1 — role-flow QA command center and release blocker gates */
.role-flow-qa-center{border-left:5px solid var(--primary,#087f73)}
.role-flow-qa-stats{margin:.75rem 0 1rem}.role-flow-qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.role-flow-qa-item{display:grid;gap:.65rem;border:1px solid var(--line,#d8e4e8);border-radius:14px;background:#fff;padding:1rem;box-shadow:0 10px 24px rgba(15,35,55,.04)}.role-flow-qa-item.status-passed{border-left:4px solid #087f73}.role-flow-qa-item.status-failed{border-left:4px solid #b42318}.role-flow-qa-item.status-blocked{border-left:4px solid #c77700}.role-flow-qa-item.status-untested{border-left:4px solid #94a3b8}.role-flow-qa-item-head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.role-flow-qa-item h3{margin:.1rem 0 .1rem}.role-flow-qa-item p{margin:0;color:var(--muted,#64748b);line-height:1.45}.role-flow-qa-item p strong{color:var(--ink,#17324d)}.role-flow-qa-form{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) auto;gap:.6rem;align-items:end;margin-top:.25rem;padding-top:.65rem;border-top:1px solid var(--line,#d8e4e8)}.role-flow-qa-form label{min-width:0}.role-flow-qa-form textarea{min-height:44px}.role-flow-qa-form .wide{grid-column:auto}.qa-note{padding:.55rem .65rem;border-radius:10px;background:#f8fafb;border:1px solid var(--line,#d8e4e8)}
@media(max-width:980px){.role-flow-qa-grid{grid-template-columns:1fr}.role-flow-qa-form{grid-template-columns:1fr}.role-flow-qa-form .wide{grid-column:auto}}

/* v0.6.2 live workflow enforcement rails */
.v062-enforcement-panel{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));box-shadow:0 10px 28px rgba(15,80,90,.07)}
.v062-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:.85rem}.v062-rule-grid article{display:flex;flex-direction:column;gap:.25rem;min-height:100%;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:#f8fbfc}.v062-rule-grid article strong{font-size:.95rem}.v062-rule-grid article span{color:var(--muted);font-size:.82rem;line-height:1.45}
.clinical-enforcement-rail .card-head{align-items:flex-start}.v062-enforcement-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.95rem 0 0;padding:0;list-style:none}.v062-enforcement-steps:before{content:"";position:absolute;left:.5rem;right:.5rem;top:.65rem;height:3px;background:linear-gradient(90deg,var(--primary) var(--v062-progress,0%),var(--line) 0);border-radius:999px;z-index:0}.v062-enforcement-steps li{position:relative;z-index:1;display:flex;gap:.55rem;align-items:flex-start;padding:.75rem;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.v062-enforcement-steps li>span{display:grid;place-items:center;flex:0 0 1.45rem;width:1.45rem;height:1.45rem;border-radius:999px;font-weight:900;background:#eef2f7;color:var(--muted)}.v062-enforcement-steps li.complete{border-color:#bfe3d5;background:#f4fbf7}.v062-enforcement-steps li.complete>span{background:#d9f6e7;color:#0f6b4f}.v062-enforcement-steps li.missing{border-color:#f0c98a;background:#fffaf0}.v062-enforcement-steps li.missing>span{background:#fff1c7;color:#9a5b00}.v062-enforcement-steps strong,.v062-enforcement-steps small{display:block}.v062-enforcement-steps small{margin-top:.14rem;color:var(--muted);font-size:.74rem;line-height:1.35}.cashier-enforcement-panel{margin-bottom:1rem}.v062-itemized-preview{margin-top:.9rem}.v062-itemized-preview table tfoot th{border-top:1px solid var(--line)}.cashier-rules{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.v062-rule-grid,.v062-enforcement-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.v062-rule-grid,.v062-enforcement-steps,.cashier-rules{grid-template-columns:1fr}.v062-enforcement-steps:before{display:none}}

/* v0.6.2.1 — dialog padding and legacy-invoice/import form polish */
dialog{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);}
dialog.wide-dialog{width:min(980px,calc(100vw - 2rem));}
dialog .dialog-scroll{padding:clamp(1rem,2.2vw,1.75rem);max-height:calc(100vh - 4rem);overflow:auto;}
dialog>form[method="dialog"]{padding:0;position:static;}
dialog>form[method="dialog"] .dialog-close{position:absolute;right:1rem;top:1rem;z-index:3;width:2.25rem;height:2.25rem;border-radius:999px;background:#fff;border:1px solid var(--line);line-height:1;}
.legacy-breakdown-form textarea[name="item_breakdown"]::placeholder{color:#6b7280;opacity:.72;font-weight:600;}
.inventory-batch-card{border-left:5px solid var(--primary);background:linear-gradient(180deg,#fff,#f8fbfc);}
.inventory-batch-card textarea{min-height:170px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;}
.inventory-template-code{display:block;white-space:pre-wrap;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.45;}
.inventory-batch-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;}
.inventory-batch-help article{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem;}
@media(max-width:760px){dialog,dialog.wide-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);}dialog .dialog-scroll{padding:1rem;max-height:calc(100vh - 2rem);}.inventory-batch-help{grid-template-columns:1fr;}}
.inventory-command-grid a.secondary{min-height:46px;padding:9px 12px;border:1px solid var(--border,#dce3ea);border-radius:11px;background:#fff;color:var(--text,#334e68);font-weight:800;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;}
.inventory-command-grid a.secondary:hover{background:#f8fafc;}

/* v0.6.3 — global navigation and scroll governance */
html{scroll-padding-top:92px;}
.main :where([id], [name]){scroll-margin-top:92px;}
.server-pagination[data-preserve-scroll-scope]{scroll-margin-top:92px;}
a[data-preserve-scroll], [data-preserve-scroll-scope] a{cursor:pointer;}
[data-clinical-panel], [data-clinical-section-tabs], .management-table-card, .server-list-card, .go-live-list, .compact-scroll-list{scroll-margin-top:92px;}
body.transaction-navigation-locked .sidebar a:not(.active){opacity:.72;}
body.transaction-navigation-locked .sidebar a:not(.active):hover{outline:2px solid rgba(180,35,24,.24);}
@media(max-width:760px){html{scroll-padding-top:72px}.main :where([id], [name]),[data-clinical-panel],.management-table-card,.server-list-card{scroll-margin-top:72px}}

/* v0.6.3.1 — offline transaction guard */
.offline-transaction-banner{position:sticky;top:0;z-index:1000;margin:0 0 12px;padding:12px 16px;border:1px solid #f6c344;border-radius:0 0 14px 14px;background:#fff8db;color:#5d4300;box-shadow:0 8px 20px rgba(84,65,0,.12);font-size:.92rem;line-height:1.45;}
.offline-transaction-banner[hidden]{display:none!important;}
html[data-dental-offline] .btn.primary,html[data-dental-offline] button[type="submit"]{box-shadow:0 0 0 2px rgba(246,195,68,.22);}

/* ClinicCare v0.6.4: calendar history and click-target governance. */
.appointment-history-toggle{min-width:210px;align-self:center}.appointment-calendar-tile.compact-state-tile.status-cancelled,.appointment-calendar-tile.compact-state-tile.status-no_show,.appointment-calendar-tile.compact-state-tile.status-left_before_treatment{border-left-color:#98a2b3;background:#f8fafc;opacity:.82}.appointment-calendar-tile.compact-state-tile.status-cancelled h3,.appointment-calendar-tile.compact-state-tile.status-no_show h3,.appointment-calendar-tile.compact-state-tile.status-left_before_treatment h3{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#98a2b3}.appointment-calendar-tile .badge.neutral{background:#eef2f6;color:#475467;border-color:#d0d5dd;margin-left:.35rem}.dental-dentition-tabs[data-scroll-target]{scroll-margin-top:6rem}#dental-chart-workspace{scroll-margin-top:6rem}.appointment-week-card,.appointment-month-card,#appointment-schedule{scroll-margin-top:6rem}

/* v0.6.5 email path redesign and performance-readiness UI */
.mail-command-heading{margin-bottom:1rem;}
.mail-path-jumpbar{position:sticky;top:.5rem;z-index:20;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.65rem;margin:0 0 1rem;border:1px solid rgba(148,163,184,.35);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(15,23,42,.08);backdrop-filter:blur(10px)}
.mail-path-jumpbar a{padding:.45rem .75rem;border-radius:999px;text-decoration:none;background:rgba(15,23,42,.04);font-weight:700;font-size:.85rem;color:inherit}
.mail-path-jumpbar a:hover{background:rgba(37,99,235,.10)}
.mail-redesign-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:1rem;align-items:start}
.mail-redesign-main,.mail-settings-form{display:grid;gap:1rem;min-width:0}.mail-redesign-side{position:sticky;top:5rem;display:grid;gap:1rem;min-width:0}.mail-path-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.mail-path-card{display:grid;gap:.4rem;border:1px solid rgba(148,163,184,.35);border-radius:18px;padding:1rem;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.96));cursor:pointer;min-height:155px}.mail-path-card input{width:auto;margin:0}.mail-path-card strong{font-size:1rem}.mail-path-card span{font-size:.88rem;color:var(--muted,#64748b);line-height:1.35}.mail-path-card small{align-self:end;font-weight:800;color:var(--muted,#64748b)}.mail-path-card.selected{border-color:rgba(37,99,235,.55);box-shadow:0 12px 32px rgba(37,99,235,.12)}.mail-path-panel{scroll-margin-top:6rem}.mail-advanced{border:1px dashed rgba(148,163,184,.45);border-radius:16px;padding:.75rem}.mail-advanced summary{font-weight:800;cursor:pointer}.nested-grid{margin-top:.75rem}.compact-form{gap:.65rem}.compact-form label{min-width:0}
@media (max-width:1100px){.mail-redesign-layout{grid-template-columns:1fr}.mail-redesign-side{position:static}.mail-path-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.mail-path-cards{grid-template-columns:1fr}.mail-path-jumpbar{position:static}.mail-path-jumpbar a{flex:1;text-align:center}.mail-redesign-layout{gap:.75rem}}

/* v0.6.6 landing-page editor redesign */
.website-control-tabs { flex-wrap: wrap; }
.landing-editor-hero { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.landing-editor-hero h2 { margin-top: .25rem; }
.landing-editor-actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.landing-editor-layout { display: grid; grid-template-columns: minmax(210px, 260px) 1fr; gap: 1rem; align-items: start; }
.landing-editor-sidebar { position: sticky; top: 1rem; display: flex; flex-direction: column; gap: .35rem; max-height: calc(100vh - 2rem); overflow: auto; }
.landing-editor-sidebar h3 { margin: 0 0 .5rem; }
.landing-editor-sidebar a { display: block; padding: .45rem .55rem; border-radius: .65rem; text-decoration: none; border: 1px solid rgba(15, 118, 110, .12); background: rgba(15, 118, 110, .04); }
.landing-editor-form { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.landing-editor-panel { scroll-margin-top: 1rem; }
.landing-editor-panel .card-head { align-items: flex-start; gap: 1rem; }
.landing-editor-section-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.landing-editor-thumb { margin: .5rem 0 0; border-radius: .9rem; overflow: hidden; border: 1px solid rgba(15, 23, 42, .1); }
.landing-editor-thumb img { display: block; width: 100%; max-height: 130px; object-fit: cover; }
.landing-editor-savebar { position: sticky; bottom: .75rem; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 1rem; box-shadow: 0 14px 40px rgba(15, 23, 42, .16); }
.landing-editor-savebar div { display: flex; flex-direction: column; gap: .15rem; }
@media (max-width: 980px) {
  .landing-editor-layout { grid-template-columns: 1fr; }
  .landing-editor-sidebar { position: static; max-height: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .landing-editor-sidebar h3 { grid-column: 1 / -1; }
  .landing-editor-hero, .landing-editor-savebar { flex-direction: column; align-items: stretch; }
  .landing-editor-actions { justify-content: flex-start; }
}

/* v0.6.7 role permission/navigation polish */
.role-search-disabled{display:flex;align-items:center;gap:.65rem;color:var(--muted);background:#f7f9fb;border:1px dashed var(--line);border-radius:14px;padding:.7rem .9rem;font-weight:750;min-height:44px}.role-capability-grid .setup-phase-card small{display:block;margin-top:.45rem;line-height:1.45}.permission-review-table code,.table-wrap code{background:#f5f7fa;border:1px solid var(--line);border-radius:6px;padding:.15rem .35rem}.badge.neutral{background:#eef2f4;color:#52616b}

/* ClinicCare v0.7.0: chairside focus/validation polish. */
.clinical-flow-coach .clinical-focus-status{display:block;margin-top:.35rem;font-weight:700;color:var(--muted)}
.clinical-flow-coach .clinical-focus-status.warning{color:#8a5600}.clinical-flow-coach .clinical-focus-status.success{color:#087443}
.clinical-field-warning{display:block;margin-top:.32rem;color:#9b3b16;font-weight:700;line-height:1.35}.clinical-field-warning[hidden]{display:none!important}
.clinical-field-needs-attention{outline:2px solid rgba(245,158,11,.55);outline-offset:2px;border-color:#f59e0b!important;background:#fffdf5}
.clinical-focus-outline{box-shadow:0 0 0 3px rgba(20,184,166,.22),0 0 0 1px rgba(20,184,166,.55)!important;border-radius:.85rem;scroll-margin-top:9rem}
.clinical-workspace-main .clinical-focus-outline{animation:clinicalFocusPulse 1.15s ease-out 1}
@keyframes clinicalFocusPulse{0%{box-shadow:0 0 0 0 rgba(20,184,166,.45)}100%{box-shadow:0 0 0 3px rgba(20,184,166,.22),0 0 0 1px rgba(20,184,166,.55)}}
.clinical-command-strip{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.45rem;align-items:center}.clinical-command-strip small{color:var(--muted);font-weight:700}.clinical-workspace-layout input:focus,.clinical-workspace-layout textarea:focus,.clinical-workspace-layout select:focus,.clinical-workspace-layout button:focus{outline:3px solid rgba(20,184,166,.32);outline-offset:2px}

/* ClinicCare v0.7.1: service-specific treatment path and odontogram baseline review. */
.treatment-path-card{border:1px solid rgba(15,23,42,.08)}
.treatment-path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.treatment-path-service{border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:1rem;background:rgba(255,255,255,.72);box-shadow:0 10px 24px rgba(15,23,42,.05)}
.treatment-path-service strong{display:block;font-size:1rem}
.treatment-path-service small{display:block;color:var(--muted,#64748b);margin-top:.15rem}
.treatment-path-service dl{display:grid;grid-template-columns:8.2rem 1fr;gap:.35rem .75rem;margin:.85rem 0;font-size:.86rem}
.treatment-path-service dt{font-weight:700;color:#475569}
.treatment-path-service dd{margin:0;color:#0f172a}
.treatment-path-service p{font-size:.9rem;margin:.75rem 0 0;color:#334155}
.treatment-path-strip{margin-top:1rem;border-radius:14px;padding:.8rem 1rem;background:#eef6ff;color:#1e3a8a;font-size:.92rem}
.section-local-acknowledgement{margin:.85rem 0 0;border:1px solid rgba(37,99,235,.18);border-radius:16px;background:#eff6ff;padding:.8rem 1rem}
.odontogram-baseline-card{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(320px,1.25fr);gap:1rem;align-items:start;margin:.9rem 0;padding:1rem;border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#f8fafc}
.odontogram-baseline-card strong{display:block;color:#0f172a}
.odontogram-baseline-card span{display:block;color:#64748b;font-size:.88rem;margin-top:.2rem}
.chart-review-result{display:grid;gap:.45rem}
.chart-review-result label{display:flex;gap:.55rem;align-items:flex-start;font-size:.88rem;color:#334155}
.chart-review-result .check-label{border-top:1px solid rgba(15,23,42,.08);padding-top:.55rem;margin-top:.2rem}
@media (max-width: 860px){.odontogram-baseline-card{grid-template-columns:1fr}.treatment-path-service dl{grid-template-columns:1fr}.treatment-path-service dt{margin-top:.35rem}}

/* ClinicCare v0.7.2: Doctor treatment path focus polish */
.clinical-secondary-guides{padding:.85rem 1rem;border-style:dashed;background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}
.clinical-secondary-guides>summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;align-items:center}
.clinical-secondary-guides>summary::-webkit-details-marker{display:none}
.clinical-secondary-guides>summary span{color:var(--muted);font-weight:700;font-size:.85rem}.clinical-secondary-guide-stack{display:grid;gap:1rem;margin-top:1rem}
.clinical-treatment-cockpit{align-items:stretch;display:grid;grid-template-columns:minmax(260px,1fr);gap:.9rem;position:sticky;top:.75rem;z-index:6}
.cockpit-primary h3{font-size:1.18rem}.cockpit-primary p{font-size:.98rem}.cockpit-step-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.45rem;list-style:none;margin:0;padding:0}
.cockpit-step-strip li{display:flex;align-items:center;gap:.45rem;border:1px solid var(--border);border-radius:.65rem;padding:.5rem .6rem;background:var(--surface);font-size:.78rem;line-height:1.15}
.cockpit-step-strip li span{display:grid;place-items:center;flex:0 0 1.45rem;height:1.45rem;border-radius:999px;font-weight:900;background:#fff1cf;color:#945d00}.cockpit-step-strip li.complete span{background:#daf5e7;color:#087443}.cockpit-step-strip li strong{font-size:.75rem}
.cockpit-actions{justify-content:flex-start}.primary-decision-panel{padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:linear-gradient(135deg,rgba(20,184,166,.10),rgba(255,255,255,.96));margin:0 0 1rem}.secondary-prescription-decision{opacity:.85}
@media(max-width:900px){.clinical-treatment-cockpit{position:static}.clinical-secondary-guides>summary{display:block}.cockpit-step-strip{grid-template-columns:1fr 1fr}}

/* v0.7.3 Doctor single-task cockpit polish */
.clinical-treatment-cockpit{border:2px solid color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 12px 28px rgba(15,23,42,.08);}
.clinical-treatment-cockpit .cockpit-primary{display:grid;gap:.35rem;}
.cockpit-active-blocker{font-size:1.04rem;font-weight:800;color:#1f3b3b;background:color-mix(in srgb,var(--primary) 10%,#fff);border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));padding:.8rem .9rem;border-radius:.85rem;margin:.2rem 0;}
.compact-flow-reference ol{display:grid;gap:.45rem;margin:.35rem 0 0;padding-left:1.2rem;}
.compact-flow-reference li{padding:.45rem .55rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);}
.compact-flow-reference li.complete{opacity:.72;}
.compact-flow-reference li.missing{border-color:#efd79a;background:#fffaf0;}
.compact-flow-reference strong,.compact-flow-reference small{display:block;}
.prescription-decision-summary{border:1px solid var(--border);border-radius:.8rem;padding:.8rem .95rem;margin:0 0 1rem;background:var(--surface);}
.prescription-decision-summary.ready{background:#edf9f1;border-color:#bfe8ce;color:#075f39;}
.prescription-decision-summary.missing{background:#fff8e6;border-color:#efd79a;color:#704900;}
[data-finalize-treatment][disabled],[data-checklist-finalize][disabled]{opacity:.62;cursor:not-allowed;}
.clinical-flow-reference{margin-top:.65rem;}
.clinical-workspace-layout[data-clinical-focus-mode="0730"] .clinical-phase-nav.card,.clinical-workspace-layout[data-clinical-focus-mode="0730"] .clinical-workspace-tabs.card{box-shadow:none;}

/* v0.7.4 — compact contextual help / hover guide polish */
.clinical-compact-guides-active .context-help-source{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;margin:-1px!important;padding:0!important;border:0!important}
.context-help,.clinical-flow-reference-popout{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:.35rem;z-index:10}
.context-help-trigger{border:1px solid var(--line,#d7dee4);background:var(--surface,#fff);color:var(--primary,#0d7c75);border-radius:999px;min-width:1.65rem;height:1.65rem;padding:0 .48rem;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 2px 7px rgba(15,23,42,.06)}
.context-help-trigger:hover,.context-help:focus-within .context-help-trigger,.context-help.open .context-help-trigger,.clinical-flow-reference-popout.open .context-help-trigger{background:color-mix(in srgb,var(--primary,#0d7c75) 12%,#fff);border-color:color-mix(in srgb,var(--primary,#0d7c75) 45%,#d7dee4)}
.context-help-popover{position:absolute;right:0;top:calc(100% + .45rem);width:min(320px,calc(100vw - 2rem));max-height:min(55vh,360px);overflow:auto;padding:.8rem .9rem;border:1px solid var(--line,#d7dee4);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#1f2933);box-shadow:0 16px 40px rgba(15,23,42,.18);font-size:.86rem;line-height:1.45;text-align:left;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s ease;z-index:80;white-space:normal}
.context-help-popover.wide,.clinical-flow-reference-popout .context-help-popover{width:min(520px,calc(100vw - 2rem))}
.context-help:hover .context-help-popover,.context-help:focus-within .context-help-popover,.context-help.open .context-help-popover,.clinical-flow-reference-popout:hover .context-help-popover,.clinical-flow-reference-popout:focus-within .context-help-popover,.clinical-flow-reference-popout.open .context-help-popover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.clinical-flow-reference-popout{display:flex;justify-content:flex-end;margin:.5rem 0 0 auto;width:max-content}
.clinical-flow-reference-popout .context-help-trigger{height:2rem;min-width:2rem;font-size:.8rem}
.clinical-treatment-cockpit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:.75rem 0}.clinical-treatment-cockpit .cockpit-primary h3{margin:.18rem 0}.clinical-treatment-cockpit .cockpit-active-blocker{margin:.2rem 0;font-weight:750}.clinical-treatment-cockpit .clinical-focus-status{display:none}.compact-cockpit-actions{justify-content:flex-end}.clinical-progress-help .context-help-trigger{min-width:auto;height:2rem;padding:0 .75rem}.popout-step-strip{display:grid;gap:.45rem;margin:.65rem 0 0;padding-left:0;list-style:none}.popout-step-strip li{display:grid;grid-template-columns:1.5rem 1fr;gap:.45rem;align-items:start;padding:.5rem;border:1px solid var(--line,#d7dee4);border-radius:10px;background:#fff}.popout-step-strip li.complete{opacity:.72}.popout-step-strip li.missing{border-color:#efd79a;background:#fffaf0}.popout-step-strip li span{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#eef5f4;color:var(--primary,#0d7c75);font-size:.75rem;font-weight:900}.popout-step-strip li small{grid-column:2;color:var(--muted,#667085)}
.clinical-compact-guides-active .clinical-secondary-guides,.clinical-compact-guides-active .clinical-flow-reference{display:none!important}.clinical-compact-guides-active .bp-measurement-guide{grid-template-columns:1fr auto;padding:.55rem .75rem;background:#f8fbfa}.clinical-compact-guides-active .bp-measurement-guide .check-label{background:#fff}.clinical-compact-guides-active .clinical-command-strip small.context-help-source+ .context-help{margin-left:auto}.clinical-compact-guides-active .section-heading{align-items:center}.clinical-compact-guides-active .card-head>div{min-width:0}.clinical-compact-guides-active .card-head h2,.clinical-compact-guides-active .section-heading h3{display:inline;margin-right:.25rem}.clinical-compact-guides-active .clinical-workspace-tabs small.context-help-source+ .context-help{margin-left:.2rem}.clinical-compact-guides-active .clinical-phase-nav small.context-help-source+ .context-help{display:none}
@media(max-width:900px){.clinical-treatment-cockpit{grid-template-columns:1fr}.compact-cockpit-actions{justify-content:flex-start}.context-help-popover,.context-help-popover.wide,.clinical-flow-reference-popout .context-help-popover{left:0;right:auto;width:min(340px,calc(100vw - 1.5rem))}}


/* v0.7.5 — Task-first layout polish: keep active work above reports/guides. */
.compact-flow-help{padding:0!important;overflow:hidden}.compact-flow-help>summary,.compact-operator-report>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer}.compact-flow-help>summary::-webkit-details-marker,.compact-operator-report>summary::-webkit-details-marker{display:none}.compact-flow-help>summary span:first-child,.compact-operator-report>summary span:first-child{display:flex;flex-direction:column;gap:.15rem}.compact-flow-help>summary small,.compact-operator-report>summary small{color:var(--muted);font-weight:500}.compact-flow-help .major-flow-steps{padding:0 1rem 1rem;margin:0}.compact-flow-help:not([open]){margin-bottom:.75rem}.compact-flow-help[open]{margin-bottom:1rem}.compact-operator-report{margin-top:1rem;overflow:hidden}.compact-operator-report .stats{padding:0 1rem 1rem}.compact-operator-report .table-wrap{margin:0 1rem 1rem}.task-first-note{font-size:.8rem;color:var(--muted)}
.pos-page-heading{position:relative;z-index:2}.pos-shell{margin-top:.75rem}.pos-session-card{margin-bottom:.75rem}.cashier-own-report.compact-operator-report{order:20}.pos-recent-transactions{margin-top:1rem}.cashier-routine-exception-link{margin-top:.75rem}.dental-chart-task-first{margin-top:.75rem}.dental-chart-task-first+.dental-chart-stats,.dental-chart-stats{margin-top:1rem;margin-bottom:1rem}.dental-chart-header{margin-bottom:.75rem}.dental-dentition-tabs{margin:.75rem 0}.dental-review-grid{margin-top:1rem}.dental-chart-card .card-head p{max-width:620px}.page-task-first .card-head p,.compact-flow-help p{max-width:720px}
@media(max-width:1020px){.compact-flow-help>summary,.compact-operator-report>summary{align-items:flex-start}.pos-shell{margin-top:1rem}}


/* ClinicCare v0.7.6 role-first flow stabilization */
.patient-journey-context {
  position: relative;
  top: auto;
  z-index: 24;
  display: grid;
  grid-template-columns: minmax(210px, 1.2fr) minmax(180px, .8fr) minmax(360px, 2fr) minmax(220px, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface, #fff) 94%, transparent);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
  backdrop-filter: blur(12px);
}
.patient-journey-identity,
.patient-journey-owner,
.patient-journey-next { min-width: 0; }
.patient-journey-identity strong,
.patient-journey-owner strong,
.patient-journey-next strong { display: block; line-height: 1.25; }
.patient-journey-identity small,
.patient-journey-owner small,
.patient-journey-next small { display: block; margin-top: 3px; color: var(--muted, #64748b); }
.patient-journey-owners { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.patient-journey-owners span { display: block; color: var(--muted, #64748b); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.patient-journey-steps { display: grid; grid-template-columns: repeat(7, minmax(44px, 1fr)); gap: 5px; align-items: start; }
.patient-journey-step { position: relative; display: grid; justify-items: center; gap: 4px; min-width: 0; text-align: center; color: var(--muted, #64748b); font-size: .68rem; }
.patient-journey-step::before { content: ''; position: absolute; top: 11px; left: -50%; width: 100%; height: 2px; background: var(--border, #d9e2ec); z-index: -1; }
.patient-journey-step:first-child::before { display: none; }
.patient-journey-step span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; border: 2px solid var(--border, #d9e2ec); background: var(--surface, #fff); font-weight: 800; }
.patient-journey-step.complete span { border-color: var(--success, #15803d); background: color-mix(in srgb, var(--success, #15803d) 12%, var(--surface, #fff)); }
.patient-journey-step.current { color: var(--text, #0f172a); font-weight: 800; }
.patient-journey-step.current span { border-color: var(--primary, #2563eb); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary, #2563eb) 14%, transparent); }
.patient-journey-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.patient-journey-links a { font-size: .76rem; font-weight: 700; }

.role-command-card { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(250px, .8fr); gap: 18px; align-items: stretch; border-left: 5px solid var(--primary, #2563eb); }
.role-command-main { display: grid; gap: 12px; align-content: start; }
.role-command-main h2 { margin: 0; }
.role-command-action { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border-radius: 14px; background: color-mix(in srgb, var(--primary, #2563eb) 8%, var(--surface, #fff)); }
.role-command-action > div { min-width: 0; }
.role-command-action strong { display: block; }
.role-command-action small { display: block; margin-top: 3px; color: var(--muted, #64748b); }
.role-command-handoff { padding: 14px; border-radius: 14px; background: var(--surface-soft, #f8fafc); }
.role-command-handoff span { display: block; color: var(--muted, #64748b); font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; }
.role-command-handoff strong { display: block; margin-top: 5px; }
.role-workflow-lane { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: roleflow; }
.role-workflow-lane li { counter-increment: roleflow; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 8px; min-width: 0; padding: 10px; border: 1px solid var(--border, #d9e2ec); border-radius: 12px; background: var(--surface, #fff); font-size: .78rem; font-weight: 700; }
.role-workflow-lane li::before { content: counter(roleflow); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: color-mix(in srgb, var(--primary, #2563eb) 12%, var(--surface, #fff)); color: var(--primary, #2563eb); }

.assistant-clinical-lane { display: grid; grid-template-columns: 1fr minmax(220px, .4fr); gap: 16px; align-items: center; border-left: 5px solid var(--primary, #2563eb); }
.assistant-clinical-lane h3 { margin: 2px 0 6px; }
.assistant-handoff-state { padding: 12px; border-radius: 12px; background: var(--surface-soft, #f8fafc); }
.assistant-handoff-state span,
.assistant-handoff-state small { display: block; color: var(--muted, #64748b); }
.assistant-handoff-state strong { display: block; margin: 3px 0; }
.assistant-phase-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.assistant-step-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.assistant-handoff-panel { position: sticky; top: calc(var(--app-sticky-offset, 0px) + 92px); align-self: start; }
.assistant-mobile-actions small { flex: 1 1 100%; color: var(--muted, #64748b); }

.booking-advanced-options { border: 1px solid var(--border, #d9e2ec); border-radius: 12px; background: var(--surface-soft, #f8fafc); overflow: hidden; }
.booking-advanced-options > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; font-weight: 800; }
.booking-advanced-options > summary small { color: var(--muted, #64748b); font-weight: 500; text-align: right; }
.booking-advanced-options[open] > summary { border-bottom: 1px solid var(--border, #d9e2ec); }
.booking-advanced-grid { padding: 14px; }
.booking-exception-options { border-style: dashed; }

@media (max-width: 1180px) {
  .patient-journey-context { grid-template-columns: 1fr 1fr; }
  .patient-journey-steps { grid-column: 1 / -1; order: 3; }
  .patient-journey-next { grid-column: 1 / -1; order: 4; }
  .role-command-card { grid-template-columns: 1fr; }
  .role-workflow-lane { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .patient-journey-context { position: relative; top: auto; grid-template-columns: 1fr; padding: 12px; }
  .patient-journey-steps { grid-column: auto; overflow-x: auto; grid-template-columns: repeat(7, minmax(64px, 1fr)); padding-bottom: 5px; }
  .patient-journey-next { grid-column: auto; }
  .patient-journey-owners { grid-template-columns: 1fr; }
  .role-command-action { align-items: stretch; flex-direction: column; }
  .role-command-action .btn { width: 100%; }
  .role-workflow-lane { grid-template-columns: 1fr; }
  .assistant-clinical-lane { grid-template-columns: 1fr; }
  .assistant-phase-nav,
  .assistant-step-tabs { grid-template-columns: 1fr; }
  .booking-advanced-options > summary { align-items: flex-start; flex-direction: column; }
  .booking-advanced-options > summary small { text-align: left; }
}

/* v0.7.6 selector alignment for generated workflow markup. */
.patient-journey-identity { display: flex; align-items: center; gap: 10px; }
.patient-journey-avatar { flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: color-mix(in srgb, var(--primary, #2563eb) 12%, var(--surface, #fff)); color: var(--primary, #2563eb); font-weight: 900; }
.patient-journey-identity > div > span,
.patient-journey-owner > span,
.patient-journey-next > span { display: block; color: var(--muted, #64748b); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.patient-journey-steps li { position: relative; display: grid; justify-items: center; gap: 4px; min-width: 0; text-align: center; color: var(--muted, #64748b); font-size: .68rem; }
.patient-journey-steps li::before { content: ''; position: absolute; top: 11px; left: -50%; width: 100%; height: 2px; background: var(--border, #d9e2ec); z-index: -1; }
.patient-journey-steps li:first-child::before { display: none; }
.patient-journey-steps li > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; border: 2px solid var(--border, #d9e2ec); background: var(--surface, #fff); font-weight: 800; }
.patient-journey-steps li.done > span { border-color: var(--success, #15803d); background: color-mix(in srgb, var(--success, #15803d) 12%, var(--surface, #fff)); }
.patient-journey-steps li.current { color: var(--text, #0f172a); font-weight: 800; }
.patient-journey-steps li.current > span { border-color: var(--primary, #2563eb); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary, #2563eb) 14%, transparent); }
.role-command-main { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.role-command-action { min-width: 220px; }
.role-command-handoff { margin-top: 12px; }
.role-workflow-lane { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.role-workflow-lane li { counter-increment: none; }
.role-workflow-lane li::before { display: none; }
.role-workflow-lane li > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: color-mix(in srgb, var(--primary, #2563eb) 12%, var(--surface, #fff)); color: var(--primary, #2563eb); font-weight: 900; }
.role-workflow-lane li > small { color: var(--text, #0f172a); font-size: .78rem; font-weight: 700; line-height: 1.35; }
@media (max-width: 760px) {
  .role-command-main { grid-template-columns: 1fr; }
  .role-command-action { min-width: 0; }
}

/* v0.7.6.2 task-first checkout and retail product catalogue. */
.cashier-enforcement-compact{margin:0 0 .75rem;padding:0;overflow:hidden}.cashier-enforcement-compact>summary,.cashier-supervisor-controls>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;cursor:pointer;list-style:none}.cashier-enforcement-compact>summary::-webkit-details-marker,.cashier-supervisor-controls>summary::-webkit-details-marker{display:none}.cashier-enforcement-compact>summary span:first-child,.cashier-supervisor-controls>summary span:first-child{display:flex;flex-direction:column}.cashier-enforcement-compact>summary small,.cashier-supervisor-controls>summary small{color:var(--muted);font-weight:500}.cashier-enforcement-compact[open]>.cashier-rules,.cashier-enforcement-compact[open]>.compact-alert,.cashier-enforcement-compact[open]>.compact-summary{margin:.75rem 1rem 1rem}.pos-next-action{margin:.15rem 1.1rem 1rem;padding:1rem;border:2px solid var(--primary);border-radius:15px;background:#f1fbfa;box-shadow:0 8px 22px rgba(13,124,117,.11)}.pos-next-action h3{margin:.2rem 0 .35rem;font-size:1rem}.pos-next-action p{margin:0 0 .75rem;color:var(--muted);line-height:1.4}.pos-next-action label{display:block;margin-bottom:.65rem}.pos-next-action textarea{min-height:72px}.pos-next-action .btn{width:100%;min-height:44px;font-weight:900}.pos-catalog-section h4{margin:1rem 0 .5rem}.pos-catalog-button.retail{border-color:#afd9d4;background:#f4fcfb}.pos-catalog-button.retail span{display:flex;flex-direction:column}.pos-catalog-button.retail small{color:var(--muted);font-weight:500}.assistant-product-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;border-left:4px solid var(--primary)}.assistant-product-catalog-head h2{margin:.15rem 0 .35rem}.assistant-product-catalog-head p{margin:0;color:var(--muted);max-width:780px}.catalog-choice{padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.catalog-choice small{display:block;margin:.35rem 0 0 1.6rem;color:var(--muted)}.cashier-supervisor-controls{margin-top:1rem}.cashier-supervisor-controls>.module-card-grid{padding:0 1rem 1rem}.inventory-table td .badge+small{display:block;margin-top:.25rem}.pos-payment-panel{z-index:2}
@media(max-width:1020px){.pos-payment-panel>.pos-next-action{grid-column:1/-1}.assistant-product-catalog-head{align-items:flex-start;flex-direction:column}.assistant-product-catalog-head .btn{width:100%}}

/* v0.7.6.3 Superuser ownership and scalable email history */
.mail-history-command{scroll-margin-top:96px}.mail-history-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.mail-history-link{display:flex;flex-direction:column;gap:.32rem;padding:1rem;border:1px solid var(--line,#dce8eb);border-radius:.85rem;background:#fff;color:inherit;text-decoration:none}.mail-history-link:hover,.mail-history-link.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.mail-history-link strong{color:#123744}.mail-history-link span{font-size:.84rem;color:#526774}.mail-history-link small{margin-top:auto;color:var(--primary);font-weight:700}.mail-retention-control{margin-top:.85rem;border:1px solid var(--line,#dce8eb);border-radius:.8rem;background:#f8fbfc;padding:.8rem}.mail-retention-control>summary{cursor:pointer;font-weight:800;color:#173b47}.mail-retention-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:1rem;margin-top:.85rem}.retention-cleanup-form{display:flex;flex-direction:column;justify-content:center;gap:.8rem;padding:1rem;border:1px dashed #c7dadd;border-radius:.75rem;background:#fff}.email-history-table{scroll-margin-top:96px}.email-history-table>.card-head{padding:1rem}.email-history-table .inline-form{align-items:end}.email-history-table .smtp-transcript{max-height:24rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:900px){.mail-history-links,.mail-retention-grid{grid-template-columns:1fr}}

/* v0.7.6.4 — compact active-patient task bar and contextual journey popover. */
.compact-patient-task-bar{
  grid-template-columns:minmax(230px,1fr) minmax(280px,1.4fr) auto;
  min-height:72px;
  gap:16px;
  padding:11px 14px;
  margin-bottom:12px;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
}
.patient-task-progress{min-width:0}
.patient-task-progress>span{display:block;color:var(--primary);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.patient-task-progress>strong{display:block;margin-top:2px;font-size:.86rem}
.patient-task-progress>small{display:block;margin-top:3px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.patient-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.patient-task-actions .btn.compact{min-height:34px;padding:.45rem .72rem}
.patient-context-clear{font-size:.75rem;font-weight:750;color:var(--muted)}
.patient-journey-popover{position:relative}
.patient-journey-popover>summary{list-style:none;cursor:pointer}
.patient-journey-popover>summary::-webkit-details-marker{display:none}
.patient-journey-popover-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(620px,calc(100vw - 48px));padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 16px 42px rgba(15,23,42,.16)}
.patient-journey-popover-panel .patient-journey-steps{margin:0 0 10px;padding:0;list-style:none}
.patient-journey-popover-panel>a{font-size:.78rem;font-weight:800}
@media(max-width:1040px){.compact-patient-task-bar{grid-template-columns:1fr auto}.patient-task-progress{grid-column:1/-1;grid-row:2}.patient-task-progress>small{white-space:normal}.patient-task-actions{grid-column:2;grid-row:1}}
@media(max-width:720px){.compact-patient-task-bar{grid-template-columns:1fr}.patient-task-progress,.patient-task-actions{grid-column:auto;grid-row:auto}.patient-task-actions{justify-content:flex-start}.patient-task-actions .btn{flex:1 1 auto}.patient-journey-popover-panel{position:fixed;left:12px;right:12px;top:auto;bottom:76px;width:auto}.patient-journey-popover-panel .patient-journey-steps{overflow-x:auto}}

/* v0.7.9.1 — professional doctor-photo formats and editor. */
.doctor-photo-manager{display:grid;gap:1rem;padding:.2rem 0}.doctor-photo-format-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.doctor-photo-format{margin:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border,var(--line));border-radius:16px;background:var(--surface,#fff)}.doctor-photo-format>div{overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,#fff),color-mix(in srgb,var(--primary2) 16%,#fff));box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}.doctor-photo-format-square>div{width:112px;aspect-ratio:1;border-radius:16px}.doctor-photo-format-portrait>div{width:112px;aspect-ratio:4/5;border-radius:16px}.doctor-photo-format img{width:100%;height:100%;display:block;object-fit:cover}.doctor-photo-format figcaption{display:flex;flex-direction:column;gap:.35rem}.doctor-photo-format figcaption strong{font-size:.93rem}.doctor-photo-format figcaption small,.doctor-photo-crop-state{color:var(--muted);line-height:1.45}.doctor-photo-upload-fields{padding-top:.15rem}.doctor-photo-crop-state{margin:0;padding:.75rem .9rem;border-radius:12px;background:color-mix(in srgb,var(--primary) 7%,#fff);border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border))}.doctor-photo-crop-dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:22px;background:var(--surface,#fff);box-shadow:0 26px 80px rgba(15,23,42,.28)}.doctor-photo-crop-dialog::backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(4px)}.doctor-photo-crop-shell{padding:1.25rem;overflow:auto;max-height:calc(100vh - 28px)}.doctor-photo-crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.doctor-photo-crop-head h2{margin:.18rem 0 .35rem}.doctor-photo-crop-head p{margin:0;color:var(--muted)}.doctor-photo-preset-tabs{display:flex;gap:.65rem;margin:1rem 0}.doctor-photo-preset-tabs .active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary)}.doctor-photo-editor-layout{display:grid;grid-template-columns:minmax(320px,1.3fr) minmax(240px,.7fr);gap:1.2rem;align-items:center}.doctor-photo-editor-frame{position:relative;display:grid;place-items:center;min-height:420px;padding:1rem;border-radius:18px;background:#101827;overflow:hidden}.doctor-photo-editor-frame canvas{display:block;max-width:100%;max-height:64vh;box-shadow:0 18px 50px rgba(0,0,0,.38)}.doctor-photo-editor-frame.is-square canvas{aspect-ratio:1}.doctor-photo-editor-frame.is-portrait canvas{aspect-ratio:4/5}.doctor-photo-face-guide{position:absolute;pointer-events:none;border:2px solid rgba(255,255,255,.55);border-radius:50%;width:34%;height:44%;top:16%;left:33%;box-shadow:0 0 0 999px rgba(15,23,42,.04)}.doctor-photo-editor-frame.is-portrait .doctor-photo-face-guide{width:35%;height:32%;top:12%;left:32.5%}.doctor-photo-editor-controls{display:grid;gap:1rem}.doctor-photo-editor-controls label{display:grid;gap:.4rem;font-weight:750}.doctor-photo-editor-controls input[type=range]{width:100%}.doctor-photo-guidance{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#f8fafc)}.doctor-photo-guidance span{color:var(--muted);line-height:1.5}.doctor-photo-editor-status{min-height:1.5rem;margin:.85rem 0 0;color:var(--muted)}.doctor-photo-editor-status[data-kind=error]{color:#a11}.doctor-photo-editor-status[data-kind=success]{color:#08745e;font-weight:750}.doctor-photo-crop-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}.public-doctor-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.public-doctor-card{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:stretch;gap:18px}.public-doctor-photo{width:138px;height:auto;aspect-ratio:4/5;border-radius:18px}.public-doctor-photo img{object-position:center top}
@media(max-width:780px){.doctor-photo-format-grid,.doctor-photo-editor-layout{grid-template-columns:1fr}.doctor-photo-editor-frame{min-height:320px}.doctor-photo-format{grid-template-columns:92px 1fr}.doctor-photo-format-square>div,.doctor-photo-format-portrait>div{width:92px}.public-doctor-card{grid-template-columns:108px minmax(0,1fr)}.public-doctor-photo{width:108px}}
@media(max-width:520px){.doctor-photo-preset-tabs{display:grid;grid-template-columns:1fr 1fr}.doctor-photo-editor-frame{padding:.5rem}.public-doctor-card{grid-template-columns:1fr}.public-doctor-photo{width:100%;max-width:220px;justify-self:center}.doctor-photo-format{grid-template-columns:1fr;text-align:center}.doctor-photo-format>div{justify-self:center}}

/* ClinicCare v0.7.9.2 — explicit active clinical patient context. */
.clinical-context-lock-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:12px 16px;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}
.clinical-context-lock-bar>div:first-child{display:grid;gap:2px;min-width:0}.clinical-context-lock-bar strong{font-size:1rem}.clinical-context-lock-bar small{color:var(--muted)}
@media(max-width:760px){.clinical-context-lock-bar{align-items:flex-start;flex-direction:column}.clinical-context-lock-bar .status-actions{width:100%}.clinical-context-lock-bar .btn{flex:1}}

/* ClinicCare 0.8.0.3: patient lifetime visit and itemized transaction ledger. */
.portal-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;flex-wrap:wrap}.portal-pagination>div{display:flex;gap:8px}.portal-service-segments,.portal-ledger-list{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid var(--border,#d9e2e8);border-radius:12px;background:rgba(15,118,110,.04)}.portal-service-segments strong,.portal-ledger-list strong{display:block}.portal-service-segments span,.portal-ledger-list span{display:block;font-size:.92rem}.portal-visit-ledger{gap:16px}.portal-visit-card{overflow:hidden}.portal-visit-head{align-items:flex-start}.portal-visit-head>div:last-child{display:grid;gap:6px;justify-items:end}.portal-visit-sections{display:grid;gap:16px}.portal-visit-sections>section{padding:14px;border:1px solid var(--border,#d9e2e8);border-radius:14px;background:var(--surface-soft,#f8fafb)}.portal-visit-sections h3{margin:0 0 10px}.portal-visit-sections dl{display:grid;grid-template-columns:minmax(110px,.35fr) 1fr;gap:6px 12px;margin:0}.portal-visit-sections dt{font-weight:700}.portal-visit-sections dd{margin:0}.portal-invoice-summary{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 14px}.portal-invoice-summary span{display:grid;gap:2px;min-width:120px;padding:10px 12px;border:1px solid var(--border,#d9e2e8);border-radius:12px;background:var(--surface,#fff)}.portal-invoice-list{display:grid;gap:16px}.portal-invoice-card{padding:16px;border:1px solid var(--border,#d9e2e8);border-radius:14px;background:var(--surface,#fff)}.portal-invoice-card details{margin-top:12px}.portal-payment-details ul{margin:8px 0 0;padding-left:20px}.portal-payment-details li{margin:4px 0}.portal-ledger-intro{position:sticky;top:0;z-index:2}.portal-visit-finance .table-wrap{margin-top:10px}@media(min-width:900px){.portal-visit-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-visit-finance{grid-column:1/-1}}@media(max-width:640px){.portal-pagination{align-items:stretch}.portal-pagination>div{width:100%}.portal-pagination .btn{flex:1}.portal-visit-sections dl{grid-template-columns:1fr}.portal-visit-sections dd{margin-bottom:7px}.portal-ledger-intro{position:static}}

/* ClinicCare v0.8.0.4 — adaptive, teeth-first encounter workflow. */
.adaptive-encounter-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-left:4px solid var(--primary);border-radius:14px;background:color-mix(in srgb,var(--primary) 6%,var(--surface));scroll-margin-top:92px}.adaptive-encounter-banner h3{margin:.15rem 0 .3rem}.adaptive-encounter-banner p{margin:0;color:var(--muted);max-width:760px}.adaptive-encounter-banner .status-actions{flex:0 0 auto}.adaptive-vitals-decision{display:grid;gap:.75rem;margin-top:.85rem;padding:.9rem;border:1px dashed color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:12px;background:var(--surface-soft,#f8fafb)}.adaptive-vitals-decision .check-label{margin:0}.adaptive-vitals-decision [data-vitals-skip-reason]{margin:0}.vital-capture-block.optional-vitals{border-style:dashed;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.vital-capture-block.optional-vitals::before{content:'Optional for this encounter path';display:inline-flex;margin-bottom:.55rem;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);font-size:.72rem;font-weight:800}.vital-capture-block.required-vitals{border-left:4px solid var(--warning,#d97706)}
@media(max-width:760px){.adaptive-encounter-banner{align-items:flex-start;flex-direction:column}.adaptive-encounter-banner .status-actions{width:100%}.adaptive-encounter-banner .btn{flex:1}}

/* v0.8.1.2 controlled active-role assignments */
.role-assignment-control-list{display:grid;gap:.75rem;margin-top:.75rem}
.role-assignment-control{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) minmax(240px,1.3fr);gap:.75rem;align-items:end;padding:.85rem;border:1px solid var(--border,#d9e2ec);border-radius:.8rem;background:var(--surface-subtle,#f8fafc)}
.role-assignment-control .role-assignment-toggle{align-self:center;display:flex;align-items:center;gap:.5rem}
.role-assignment-control>small{grid-column:1/-1;margin:0;color:var(--muted,#64748b)}
@media(max-width:820px){.role-assignment-control{grid-template-columns:1fr}}

/* ClinicCare v0.9.0.8 — separate passive record viewing from active visit work. */
.patient-record-view-context{border-left-color:#94a3b8;background:linear-gradient(90deg,rgba(148,163,184,.08),var(--surface,#fff) 38%)}
.patient-record-view-context .patient-task-progress>span{color:#64748b}
.patient-record-view-context .patient-task-progress>strong{color:#334155}
.patient-record-view-context .patient-journey-avatar{background:#e2e8f0;color:#334155}

/* v0.9.1.0: neutral zero-state counters and first-seating/task-view clarity */
.journey-summary-card.zero,.journey-summary-card.journey-exception.zero{border-color:var(--line);background:var(--surface,#fff)}.journey-summary-card.zero .journey-summary-icon,.journey-summary-card.journey-exception.zero .journey-summary-icon{background:var(--surface-2,#f3f7f8);color:var(--muted)}.dental-safety-start-gate,.queue-safety-gate{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.dental-safety-start-gate p,.queue-safety-gate small{margin:0;color:var(--muted)}.dental-safety-readonly-summary{margin-top:.75rem}.task-role-switcher label>span{white-space:nowrap}

/* v0.9.1.2 patient portal and controlled record release */
.patient-portal-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.patient-portal-sidebar{position:sticky;top:16px;display:grid;gap:6px;padding:14px;background:var(--surface,#fff);border:1px solid var(--border,#dce5e8);border-radius:16px;box-shadow:0 12px 30px rgba(20,33,61,.07)}.patient-portal-sidebar a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--text,#172033);font-weight:750}.patient-portal-sidebar a:hover,.patient-portal-sidebar a.active{background:color-mix(in srgb,var(--primary,#0f766e) 12%,white);color:var(--primary,#0f766e)}.patient-portal-sidebar a b{min-width:24px;padding:2px 7px;border-radius:999px;text-align:center;background:#e8f1f2;font-size:11px}.portal-sidebar-patient{padding:4px 8px 12px;margin-bottom:4px;border-bottom:1px solid var(--border,#dce5e8)}.portal-sidebar-patient strong,.portal-sidebar-patient small{display:block}.portal-sidebar-patient small{color:var(--muted,#667085);margin-top:3px}.patient-portal-content{min-width:0;display:grid;gap:16px}.portal-safety-summary p{margin:7px 0}.inline-review-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:6px;align-items:center}.inline-review-form input{min-width:0}.stacked-actions{display:grid;gap:7px}.record-release-status{display:grid;gap:5px}.portal-self-service .module-card .btn{display:inline-flex;margin-top:8px}.portal-self-service .checkbox-row{display:flex;align-items:center;gap:8px}.portal-self-service .checkbox-row input{width:auto}.patient-portal-content>.portal-summary{margin:0}
@media(max-width:900px){.patient-portal-shell{grid-template-columns:1fr}.patient-portal-sidebar{position:static;display:flex;overflow-x:auto;white-space:nowrap}.portal-sidebar-patient{display:none}.patient-portal-sidebar a{flex:0 0 auto}.patient-portal-sidebar a:last-child{margin-left:auto}}
@media(max-width:620px){.patient-portal-sidebar{margin-inline:-4px}.inline-review-form{grid-template-columns:1fr}.patient-portal-content .portal-summary{grid-template-columns:1fr 1fr}}

/* ClinicCare v1.2.0.0: detected kiosk controls and secure exit. */
html[data-dental-kiosk="1"]{overscroll-behavior:none}.dental-kiosk-exit-button{display:inline-flex!important;align-items:center;justify-content:center;gap:.42rem;white-space:nowrap}.dental-kiosk-exit-button>span:first-child{width:19px;height:19px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,#d92d20 12%,#fff);color:#b42318;font-size:1rem;font-weight:950;line-height:1}.dental-kiosk-exit-floating{position:fixed;right:18px;top:18px;z-index:1000;box-shadow:0 12px 34px rgba(0,0,0,.2);background:#fff}.patient-screen-kiosk-exit{border-color:rgba(255,122,122,.45)!important;background:#4a2028!important;color:#fff!important}.patient-screen-kiosk-exit:hover{background:#682b36!important}.dental-kiosk-exit-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:0;border-radius:22px;background:transparent;color:var(--ink);box-shadow:0 28px 90px rgba(5,20,30,.35)}.dental-kiosk-exit-dialog::backdrop{background:rgba(5,20,30,.66);backdrop-filter:blur(4px)}.dental-kiosk-exit-card{margin:0;padding:1.45rem;border:1px solid var(--line);border-radius:22px;background:#fff}.dental-kiosk-kicker{display:block;margin-bottom:.25rem;color:var(--primary);font-size:.69rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.dental-kiosk-exit-card h2{margin:.15rem 0 .55rem}.dental-kiosk-exit-card p{margin:0;color:var(--muted);line-height:1.58}.dental-kiosk-exit-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.2rem;flex-wrap:wrap}.dental-kiosk-exit-actions .btn.danger{background:#b42318;color:#fff;border-color:#b42318}.dental-kiosk-exit-actions .btn.danger:hover{background:#8f1c13}.dental-kiosk-mode.login-page{position:relative}.dental-kiosk-mode .login-developer-footer{padding-right:150px}@media(max-width:760px){.dental-kiosk-exit-button>span:last-child{display:none}.dental-kiosk-exit-floating{right:12px;top:12px;width:44px;height:44px;padding:0}.dental-kiosk-exit-actions{align-items:stretch;flex-direction:column-reverse}.dental-kiosk-exit-actions .btn{width:100%}.dental-kiosk-mode .login-developer-footer{padding-right:12px;padding-bottom:74px}}

/* ClinicCare v1.6.0.0 management analytics */
.analytics-filter{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.analytics-filter label{min-width:160px}.analytics-scope{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;margin-bottom:1rem}.analytics-scope h2{margin:.2rem 0}.analytics-scope p{margin:0;color:var(--muted)}.analytics-health-summary{display:flex;gap:.45rem;flex-wrap:wrap}.badge.danger{background:#fee4e2;color:#b42318}.badge.warning{background:#fff1cc;color:#805b00}.badge.ok{background:#e8f7ef;color:#176b40}.analytics-primary-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-alert-list{display:grid;gap:.7rem;margin-top:1rem}.analytics-alert{border:1px solid var(--line);border-left-width:4px;border-radius:12px;padding:.85rem 1rem}.analytics-alert.critical{border-left-color:#b42318;background:#fff8f7}.analytics-alert.warning{border-left-color:#d08a00;background:#fffdf6}.analytics-alert>div{display:flex;align-items:center;gap:.6rem}.analytics-alert p{margin:.4rem 0 0;color:var(--muted);font-size:.86rem}.analytics-ratio-list{display:grid;gap:1rem;margin-top:1rem}.analytics-ratio-list>div>span{display:flex;align-items:center;justify-content:space-between;gap:1rem}.analytics-ratio-list em{font-style:normal;color:var(--muted)}.analytics-meter{height:9px;background:#edf1f4;border-radius:999px;overflow:hidden;margin-top:.4rem}.analytics-meter i,.analytics-inline-bar i{display:block;height:100%;background:var(--primary);border-radius:inherit}.analytics-definition-list{margin:0;padding-top:.4rem;border-top:1px solid var(--line);grid-template-columns:1fr auto}.analytics-definition-list dd{text-align:right;font-weight:800}.analytics-inline-bar{position:relative;min-width:150px;height:26px;background:#f0f4f5;border-radius:8px;overflow:hidden}.analytics-inline-bar i{position:absolute;inset:0 auto 0 0;opacity:.22}.analytics-inline-bar span{position:relative;display:flex;align-items:center;height:100%;padding:0 .55rem;font-weight:800}.analytics-thresholds{padding:0;overflow:hidden}.analytics-thresholds>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;list-style:none}.analytics-thresholds>summary::-webkit-details-marker{display:none}.analytics-thresholds>summary span:first-child{display:flex;flex-direction:column}.analytics-thresholds>summary small{color:var(--muted);font-weight:500}.analytics-thresholds form{padding:0 1rem 1rem}.analytics-thresholds input{min-width:110px}.analytics-trend-card{margin:1rem 0}@media print{.analytics-filter,.topbar-actions,.sidebar,.analytics-scope form,.analytics-thresholds{display:none!important}.main{margin:0!important;padding:0!important}.card,.stat-card{break-inside:avoid;box-shadow:none}.analytics-scope{grid-template-columns:1fr auto}}@media(max-width:1100px){.analytics-primary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-scope{grid-template-columns:1fr auto}.analytics-scope form{grid-column:1/-1}}@media(max-width:760px){.analytics-filter{align-items:stretch;flex-direction:column}.analytics-filter label{min-width:0}.analytics-primary-stats,.analytics-scope{grid-template-columns:1fr}.analytics-inline-bar{min-width:110px}}


/* ClinicCare Version 1 medical landing page — intentionally distinct from DentalCare. */
.cliniccare-public-main{display:flex;flex-direction:column;overflow:hidden;background:#f6f8fb}
.medical-hero{order:0;position:relative;max-width:1240px;width:100%;margin:0 auto;padding:5.5rem 2rem 3.5rem;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:5rem;align-items:center}
.medical-hero:before{content:"";position:absolute;inset:1rem auto auto -9rem;width:24rem;height:24rem;border-radius:50%;background:radial-gradient(circle,rgba(44,118,170,.11),rgba(44,118,170,0) 70%);pointer-events:none}
.medical-kicker{display:inline-flex;align-items:center;gap:.65rem;color:#296e98;font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.medical-kicker i{width:28px;height:2px;background:#43a0ac;border-radius:999px}.medical-kicker.light{color:#cbeef1}.medical-kicker.light i{background:#8bd3d8}
.medical-hero h1{font-size:clamp(3.2rem,6.2vw,6.5rem);line-height:.91;letter-spacing:-.065em;margin:1rem 0 1.25rem;max-width:760px;color:#102c46}.medical-hero-tagline{font-size:1.35rem;font-weight:780;color:#1b526d;margin:0 0 .75rem}.medical-hero-intro{font-size:1.03rem;line-height:1.8;color:#607487;max-width:680px;margin:0}.medical-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.medical-assurance-row{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:1.5rem}.medical-assurance-row span{display:inline-flex;align-items:center;gap:.4rem;color:#536d7f;font-size:.84rem}.medical-assurance-row svg{width:16px;height:16px;color:#278480}
.medical-visit-panel{position:relative;background:#12364f;color:#fff;border-radius:32px;padding:1.4rem;box-shadow:0 28px 70px rgba(13,48,74,.2);overflow:hidden}.medical-visit-panel:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(98,198,193,.13);right:-70px;top:-70px}.medical-panel-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem .5rem 1.2rem}.medical-panel-head div{display:grid;gap:.25rem}.medical-panel-head span{color:#a9c8d6;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.medical-panel-head strong{font-size:1.25rem}.medical-panel-head em{font-style:normal;color:#b8eee6;background:rgba(91,195,179,.12);border:1px solid rgba(137,228,214,.24);padding:.35rem .65rem;border-radius:999px;font-size:.75rem;font-weight:800}.medical-visit-steps{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;position:relative;z-index:1}.medical-visit-steps li{display:grid;grid-template-columns:42px 1fr;gap:.85rem;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:.9rem}.medical-visit-steps b{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#1c5e78;font-size:.78rem}.medical-visit-steps div{display:grid;gap:.15rem}.medical-visit-steps span{color:#b8ced8;font-size:.83rem;line-height:1.45}.medical-panel-contact{position:relative;z-index:1;margin-top:.75rem;background:#fff;color:#18384d;border-radius:16px;padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center}.medical-panel-contact div{display:grid;gap:.15rem}.medical-panel-contact small{color:#708493}.medical-panel-contact a{width:38px;height:38px;border-radius:12px;background:#eaf4f6;display:grid;place-items:center}.medical-hero-image{margin:0;border-radius:22px;overflow:hidden;min-height:410px}.medical-hero-image img{width:100%;height:100%;min-height:410px;object-fit:cover;display:block}
.medical-access-strip{order:1;max-width:1200px;width:calc(100% - 4rem);margin:0 auto 1.5rem;background:#fff;border:1px solid #e2e9ef;border-radius:20px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 15px 40px rgba(23,55,75,.06)}.medical-access-strip a{display:grid;grid-template-columns:44px 1fr;gap:.8rem;align-items:center;padding:1.15rem 1.2rem;color:#15384f;border-right:1px solid #e7edf1}.medical-access-strip a:last-child{border-right:0}.medical-access-strip>a>span{width:42px;height:42px;border-radius:13px;background:#eaf4f6;color:#247586;display:grid;place-items:center}.medical-access-strip div{display:grid;gap:.15rem}.medical-access-strip small{color:#748795;line-height:1.35}.medical-access-strip a:hover{background:#f8fbfc}
.medical-section{max-width:1200px;width:100%;margin:0 auto;padding:5.5rem 2rem}.medical-section-heading{max-width:760px;margin:0 auto 2.6rem;text-align:center}.medical-section-heading h2,.medical-appointment-intro h2,.medical-contact-copy h2,.medical-developer h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;color:#15354d;margin:.85rem 0 1rem}.medical-section-heading p,.medical-appointment-intro p,.medical-contact-copy p,.medical-developer>div>p{color:#687e8e;line-height:1.75}.split-heading{max-width:none;display:grid;grid-template-columns:1fr 1fr;text-align:left;align-items:end;gap:4rem}.split-heading p{margin:0}.medical-section-image{margin:0 auto 2rem;border-radius:24px;overflow:hidden;max-width:980px;border:1px solid #dae4eb}.medical-section-image img{display:block;width:100%;max-height:420px;object-fit:cover}
.medical-information{order:2}.medical-information-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.medical-information-grid article{position:relative;background:#fff;border:1px solid #e0e8ee;border-radius:20px;padding:1.6rem;min-height:210px}.medical-information-grid article>span{font-size:.75rem;font-weight:850;color:#2a7e91;letter-spacing:.1em}.medical-information-grid h3{font-size:1.15rem;margin:1.2rem 0 .65rem;color:#17394f}.medical-information-grid p{color:#6d8190;line-height:1.65;margin:0}
.medical-appointment{order:3;max-width:none;width:100%;background:#e9f1f4;display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:4rem;padding-left:max(2rem,calc((100vw - 1200px)/2 + 2rem));padding-right:max(2rem,calc((100vw - 1200px)/2 + 2rem));align-items:start}.medical-appointment-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.medical-appointment-card{background:#fff;border:1px solid #dce6eb;border-radius:24px;padding:1.8rem;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 14px 38px rgba(26,62,83,.05)}.medical-appointment-card.primary-card{background:#153e58;color:#fff;border-color:#153e58}.medical-appointment-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#2a8190}.medical-appointment-card.primary-card>span{color:#9fe3df}.medical-appointment-card h3{font-size:1.5rem;margin:1rem 0 .65rem}.medical-appointment-card p{color:#728491;line-height:1.65}.medical-appointment-card.primary-card p,.medical-appointment-card.primary-card li{color:#c4d7df}.medical-appointment-card ul{list-style:none;padding:0;margin:.5rem 0 1.3rem;display:grid;gap:.55rem;flex:1}.medical-appointment-card li{display:flex;gap:.5rem;align-items:flex-start;color:#627786;font-size:.88rem}.medical-appointment-card li svg{width:16px;height:16px;flex:0 0 auto;margin-top:.1rem}.medical-appointment-card.primary-card .btn.primary{background:#fff;color:#16465f}.medical-appointment-note{grid-column:1/-1;background:rgba(255,255,255,.72);border:1px solid #d2e0e6;border-radius:14px;padding:1rem 1.1rem;display:flex;gap:.7rem;align-items:flex-start;color:#617988}.medical-appointment-note svg{width:20px;height:20px;color:#25798a;flex:0 0 auto}
.medical-services{order:4}.medical-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.medical-service-grid article{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid #e1e9ee;border-radius:15px;padding:1rem}.medical-service-grid b{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf5f6;color:#28798a;font-size:.72rem}.medical-service-grid span{font-weight:720;color:#29475a;line-height:1.35}.medical-service-more{border-style:dashed!important}.medical-service-actions{display:flex;justify-content:center;gap:.8rem;margin-top:1.5rem}
.medical-care-flow{order:5;max-width:none;width:100%;background:#12374f;color:#fff;padding-left:max(2rem,calc((100vw - 1200px)/2 + 2rem));padding-right:max(2rem,calc((100vw - 1200px)/2 + 2rem))}.medical-care-flow .medical-section-heading h2{color:#fff}.medical-care-track{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.medical-care-track div{position:relative;display:grid;gap:1.1rem;padding:1.25rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:17px}.medical-care-track b{color:#91d8d5;font-size:.76rem;letter-spacing:.1em}.medical-care-track span{font-weight:750;line-height:1.4}.medical-care-track div:not(:last-child):after{content:"";position:absolute;right:-.55rem;top:50%;width:.35rem;height:.35rem;border-top:2px solid #6eb5bb;border-right:2px solid #6eb5bb;transform:rotate(45deg)}
.medical-team{order:6}.medical-team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.medical-team-grid article{display:grid;grid-template-columns:120px 1fr;gap:1.25rem;background:#fff;border:1px solid #e0e8ee;border-radius:20px;padding:1rem}.medical-team-photo{height:145px;border-radius:15px;background:#e9f2f5;overflow:hidden;display:grid;place-items:center;color:#2b7483;font-size:2rem;font-weight:850}.medical-team-photo img{width:100%;height:100%;object-fit:cover}.medical-team-grid h3{margin:.25rem 0 .35rem}.medical-team-grid strong{display:block;color:#29798a}.medical-team-grid small{display:block;color:#718593;margin-top:.35rem}.medical-team-grid p{color:#667d8c;line-height:1.55}
.medical-contact{order:7;display:grid;grid-template-columns:1fr .85fr;gap:4rem;align-items:center}.medical-contact-card{background:#fff;border:1px solid #dfe8ed;border-radius:24px;padding:1.5rem;display:grid;grid-template-columns:48px 1fr;gap:1rem;box-shadow:0 18px 45px rgba(25,58,77,.06)}.medical-contact-card>span{width:46px;height:46px;border-radius:14px;background:#e9f4f5;color:#287c8a;display:grid;place-items:center}.medical-contact-card h3{margin:.2rem 0 .5rem}.medical-contact-card p{color:#687f8f;line-height:1.6}.medical-contact-card dl{grid-template-columns:75px 1fr;gap:.45rem}.medical-hours{display:grid;gap:.35rem;border-top:1px solid #e6ecef;padding-top:1rem;margin-top:1rem}.medical-hours span{color:#6b808e;font-size:.88rem}
.medical-release{order:8}.medical-developer{order:9;display:grid;grid-template-columns:1fr .7fr;gap:4rem;align-items:center}.medical-developer aside{background:#fff;border:1px solid #e1e9ee;border-radius:22px;padding:1.6rem}.medical-developer aside small{color:#738795;text-transform:uppercase;letter-spacing:.1em}.medical-developer aside h3{font-size:1.8rem;margin:.65rem 0}.medical-developer aside p{color:#6e8290;line-height:1.6}
.medical-portal-band{order:10;max-width:1200px;width:calc(100% - 4rem);margin:2rem auto 5rem;padding:2.3rem 2.5rem;border-radius:26px;background:linear-gradient(120deg,#17455f,#1b6874);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:2rem}.medical-portal-band h2{font-size:2rem;margin:.7rem 0}.medical-portal-band p{color:#c5d9df;max-width:700px;line-height:1.6}.medical-portal-band .btn.ghost{border-color:rgba(255,255,255,.35);background:transparent;color:#fff}
.task-view-owner-banner{margin:-.5rem 0 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid #efcf7b;background:#fff7dc;border-radius:14px;color:#624a09}.task-view-owner-banner>div{display:flex;gap:.65rem;align-items:center}.task-view-owner-banner svg{width:19px;height:19px;flex:0 0 auto}.task-view-owner-banner .btn{white-space:nowrap}
@media(max-width:1050px){.medical-hero{grid-template-columns:1fr;gap:2rem}.medical-visit-panel{max-width:700px}.medical-access-strip{grid-template-columns:repeat(2,1fr)}.medical-access-strip a:nth-child(2){border-right:0}.medical-access-strip a:nth-child(-n+2){border-bottom:1px solid #e7edf1}.medical-appointment{grid-template-columns:1fr}.medical-service-grid{grid-template-columns:repeat(3,1fr)}.medical-care-track{grid-template-columns:repeat(3,1fr)}.medical-care-track div:nth-child(3):after{display:none}}
@media(max-width:760px){.medical-hero{padding:3.5rem 1rem 2.5rem}.medical-hero h1{font-size:3.35rem}.medical-visit-panel{border-radius:24px}.medical-access-strip{width:calc(100% - 2rem);grid-template-columns:1fr}.medical-access-strip a{border-right:0;border-bottom:1px solid #e7edf1!important}.medical-access-strip a:last-child{border-bottom:0!important}.medical-section{padding:4rem 1rem}.split-heading,.medical-appointment-options,.medical-contact,.medical-developer{grid-template-columns:1fr;gap:1.5rem}.medical-appointment{padding:4rem 1rem}.medical-information-grid,.medical-service-grid,.medical-team-grid,.medical-care-track{grid-template-columns:1fr}.medical-care-track div:after{display:none}.medical-team-grid article{grid-template-columns:88px 1fr}.medical-team-photo{height:110px}.medical-portal-band{width:calc(100% - 2rem);margin:1rem auto 3rem;padding:1.6rem;flex-direction:column;align-items:flex-start}.task-view-owner-banner{align-items:flex-start;flex-direction:column}.task-view-owner-banner .btn{width:100%}}

/* ClinicCare v1.1 general-practice medical chart */
.medical-chart-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0}.medical-chart-summary-grid .card h3{font-size:1.9rem;margin:.35rem 0}.medical-chart-summary-grid .card p{margin:.35rem 0}.medical-vital-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.medical-vital-chart-grid>article{border:1px solid var(--border,#dbe4ee);border-radius:16px;padding:14px;background:var(--surface,#fff)}.medical-vital-chart-grid h3{margin:0 0 8px}.medical-vital-chart{min-height:260px;overflow:hidden}.medical-vital-chart svg{display:block;width:100%;height:auto}.medical-chart-gridline{stroke:color-mix(in srgb,var(--border,#dbe4ee) 85%,transparent);stroke-width:1}.medical-chart-axis{fill:var(--muted,#64748b);font-size:11px}.medical-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:.82rem;color:var(--muted,#64748b)}.medical-chart-legend span{display:inline-flex;align-items:center;gap:6px}.medical-chart-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}.medical-chart-header .status-actions{justify-content:flex-end}@media(max-width:1050px){.medical-chart-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.medical-chart-summary-grid,.medical-vital-chart-grid{grid-template-columns:1fr}.medical-vital-chart{min-height:220px}.medical-chart-header .card-head{align-items:flex-start}.medical-chart-header .status-actions{justify-content:flex-start}}

/* ClinicCare v1.2 complete Doctor chart and clinical-day workspace */
.doctor-day-command,.medical-chart-registry-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:center;border-left:5px solid var(--primary,#0f766e)}
.doctor-day-command h1,.medical-chart-registry-hero h1{margin:.25rem 0 .55rem;font-size:clamp(1.7rem,3vw,2.45rem)}
.doctor-day-command p,.medical-chart-registry-hero p{max-width:760px;color:var(--muted,#64748b)}
.doctor-chart-search,.medical-chart-registry-search{display:flex;gap:10px;align-items:center}.doctor-chart-search input,.medical-chart-registry-search input{min-width:0;flex:1}
.doctor-day-stats{margin:16px 0}.doctor-day-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}
.doctor-current-patient{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;border-left:5px solid var(--primary,#0f766e)}
.patient-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--primary,#0f766e) 13%,var(--surface,#fff));color:var(--primary,#0f766e);font-weight:900}.patient-avatar.large{width:62px;height:62px;border-radius:18px;font-size:1.2rem}
.doctor-current-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.doctor-vital-line{margin:.6rem 0;color:var(--text,#0f172a);font-weight:700}.doctor-empty-flow{padding:24px;border:1px dashed var(--border,#dbe4ee);border-radius:14px;background:var(--surface-soft,#f8fafc);text-align:center}.doctor-empty-flow p{color:var(--muted,#64748b)}
.doctor-queue-card table td{vertical-align:top}.table-actions{display:flex;gap:7px;flex-wrap:wrap}.mini-progress,.chart-progress{height:8px;background:var(--surface-soft,#edf2f7);border-radius:999px;overflow:hidden}.mini-progress{margin-top:7px;min-width:90px}.mini-progress span,.chart-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary,#0f766e)}
.doctor-recent-charts{margin-top:18px}.doctor-chart-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doctor-chart-card{display:grid;gap:8px;padding:14px;border:1px solid var(--border,#dbe4ee);border-radius:14px;background:var(--surface,#fff);text-decoration:none;color:inherit}.doctor-chart-card:hover{border-color:var(--primary,#0f766e);transform:translateY(-1px)}
.doctor-patient-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.doctor-patient-identity{display:flex;gap:14px;align-items:center}.doctor-patient-identity h1{margin:.15rem 0}.doctor-patient-identity p{margin:.15rem 0;color:var(--muted,#64748b)}.doctor-chart-status{display:flex;align-items:center;gap:13px}.doctor-completion-ring{display:grid;place-items:center;width:68px;height:68px;border-radius:999px;background:conic-gradient(var(--primary,#0f766e) calc(var(--completion,0)*1%),var(--surface-soft,#e7eef3) 0);position:relative;font-weight:900}.doctor-completion-ring:before{content:"";position:absolute;inset:7px;border-radius:inherit;background:var(--surface,#fff)}.doctor-completion-ring span{position:relative;z-index:1}
.doctor-triage-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.doctor-triage-strip.risk-stop-card{border-left:5px solid var(--danger,#b42318)}.doctor-triage-strip p{margin:.35rem 0;color:var(--muted,#64748b)}
.doctor-chart-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.doctor-vital-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.doctor-vital-grid>div,.doctor-safety-list>div{padding:10px;border-radius:11px;background:var(--surface-soft,#f8fafc)}.doctor-vital-grid span,.doctor-safety-list span{display:block;color:var(--muted,#64748b);font-size:.73rem;text-transform:uppercase;letter-spacing:.05em}.doctor-vital-grid strong,.doctor-safety-list strong{display:block;margin-top:3px}.doctor-safety-list{display:grid;gap:8px}
.doctor-chart-form{display:grid;gap:16px}.doctor-chart-tabs{position:sticky;top:var(--app-sticky-offset,72px);z-index:20;display:flex;gap:7px;padding:9px;border:1px solid var(--border,#dbe4ee);border-radius:14px;background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);box-shadow:0 8px 25px rgba(15,23,42,.08);overflow-x:auto}.doctor-chart-tabs button{white-space:nowrap;border:0;border-radius:10px;background:transparent;padding:.7rem .9rem;font-weight:800;color:var(--muted,#64748b);cursor:pointer}.doctor-chart-tabs button.active{background:color-mix(in srgb,var(--primary,#0f766e) 12%,var(--surface,#fff));color:var(--primary,#0f766e)}
.doctor-chart-panel{display:none}.doctor-chart-panel.active{display:block}.doctor-chart-section{margin:0}.doctor-chart-section .form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-chart-section .form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.doctor-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ros-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ros-grid label{padding:10px;border:1px solid var(--border,#dbe4ee);border-radius:11px;background:var(--surface-soft,#f8fafc)}.doctor-review-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check-option{display:flex!important;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--border,#dbe4ee);border-radius:11px;background:var(--surface-soft,#f8fafc)}.check-option input{margin-top:.2rem}
.doctor-completion-card{align-self:start}.chart-progress{margin:12px 0;height:10px}.completion-list{margin:.7rem 0;padding-left:1.2rem}.doctor-final-signature{margin-top:16px;padding:14px;border-top:1px solid var(--border,#dbe4ee)}.doctor-final-signature p{font-size:1.08rem;font-weight:800}.doctor-chart-savebar{position:sticky;bottom:12px;z-index:22;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;border:1px solid var(--border,#dbe4ee);border-radius:14px;background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);box-shadow:0 12px 35px rgba(15,23,42,.14)}.doctor-chart-savebar span{display:block;color:var(--muted,#64748b);font-size:.82rem}.doctor-chart-savebar.readonly{position:static}
.medical-chart-registry-search{justify-self:stretch}.medical-chart-section-nav{position:sticky;top:var(--app-sticky-offset,72px);z-index:16;display:flex;gap:7px;overflow-x:auto;padding:9px;margin:14px 0;border:1px solid var(--border,#dbe4ee);border-radius:13px;background:var(--surface,#fff)}.medical-chart-section-nav a{white-space:nowrap;padding:.55rem .75rem;border-radius:9px;text-decoration:none;font-weight:750}.medical-chart-section-nav a:hover{background:var(--surface-soft,#f8fafc)}
.medical-chart-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.medical-history-profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.medical-history-profile>article{padding:14px;border:1px solid var(--border,#dbe4ee);border-radius:13px;background:var(--surface-soft,#f8fafc)}.medical-history-profile h3{margin:0 0 .45rem}.medical-consultation-timeline{display:grid;gap:13px}.medical-consultation-card{padding:16px;border:1px solid var(--border,#dbe4ee);border-radius:15px;background:var(--surface,#fff)}.medical-consultation-card h3{margin:.2rem 0}.medical-consultation-card details{margin-top:8px}.compact-timeline{display:grid;gap:8px}.compact-table{font-size:.9rem}
.risk-stop-card{border-color:color-mix(in srgb,var(--danger,#b42318) 50%,var(--border,#dbe4ee))!important;background:color-mix(in srgb,var(--danger,#b42318) 5%,var(--surface,#fff))!important}
@media(max-width:1100px){.doctor-day-command,.medical-chart-registry-hero,.doctor-day-grid{grid-template-columns:1fr}.doctor-chart-card-grid,.doctor-chart-snapshot-grid,.medical-history-profile{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-patient-banner,.medical-chart-identity{grid-template-columns:1fr}.doctor-chart-status{justify-content:flex-start}}
@media(max-width:760px){.doctor-chart-search,.medical-chart-registry-search,.doctor-current-patient,.doctor-triage-strip,.doctor-chart-savebar{display:flex;flex-direction:column;align-items:stretch}.doctor-current-actions{justify-content:flex-start}.doctor-chart-card-grid,.doctor-chart-snapshot-grid,.medical-history-profile,.doctor-chart-section .form-grid.two-col,.doctor-chart-section .form-grid.three-col,.doctor-exam-grid,.ros-grid,.doctor-review-checks{grid-template-columns:1fr}.doctor-chart-tabs,.medical-chart-section-nav{top:64px}.doctor-chart-savebar{bottom:6px}.doctor-chart-savebar .button-row,.doctor-chart-savebar .btn{width:100%}.doctor-chart-savebar .button-row{display:grid;grid-template-columns:1fr 1fr}.doctor-patient-identity{align-items:flex-start}.doctor-completion-ring{width:58px;height:58px}}

/* ClinicCare v1.4 modern clinical charting interface */
.modern-patient-header{position:sticky;top:0;z-index:34;display:grid;grid-template-columns:minmax(320px,1fr) auto auto;gap:18px;align-items:center;margin:-4px 0 12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary,#0f766e) 18%,var(--border,#dbe4ee));border-radius:18px;background:color-mix(in srgb,var(--surface,#fff) 97%,transparent);box-shadow:0 12px 32px rgba(15,23,42,.09);backdrop-filter:blur(16px)}
.modern-patient-main{display:flex;align-items:center;gap:13px;min-width:0}.modern-avatar{width:52px;height:52px;border-radius:16px;flex:0 0 auto}.modern-patient-title{min-width:0}.modern-patient-title h1{margin:.1rem 0;font-size:1.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-patient-title p{margin:.15rem 0;color:var(--muted,#64748b);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modern-header-vitals{display:flex;gap:6px}.modern-header-vitals>span{display:grid;min-width:58px;padding:7px 9px;border-radius:11px;background:var(--surface-soft,#f5f8fa);text-align:center}.modern-header-vitals small{color:var(--muted,#64748b);font-size:.64rem;text-transform:uppercase;letter-spacing:.07em}.modern-header-vitals strong{font-size:.92rem}
.modern-header-actions{display:flex;align-items:center;gap:7px}.modern-elapsed{display:grid;padding:5px 9px;border-left:1px solid var(--border,#dbe4ee)}.modern-elapsed small{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#64748b)}.modern-elapsed strong{font-variant-numeric:tabular-nums}.modern-alert-row{display:flex;gap:7px;flex-wrap:wrap;grid-column:1/-1;padding-top:9px;border-top:1px solid var(--border,#e2e8f0)}.modern-alert-chip{display:inline-flex;gap:6px;align-items:center;max-width:100%;padding:6px 9px;border-radius:999px;background:var(--surface-soft,#f5f8fa);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-alert-chip.danger,.modern-alert-chip.error{background:color-mix(in srgb,var(--danger,#b42318) 10%,var(--surface,#fff));color:var(--danger,#b42318)}.modern-alert-chip.warning{background:color-mix(in srgb,var(--warning,#d97706) 12%,var(--surface,#fff));color:#8a4b00}.modern-alert-chip.success{background:color-mix(in srgb,var(--success,#15803d) 10%,var(--surface,#fff));color:var(--success,#15803d)}
.modern-triage-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:12px;padding:11px 14px;border:1px solid var(--border,#dbe4ee);border-radius:14px;background:var(--surface,#fff)}.modern-triage-banner>div{display:flex;align-items:center;gap:8px}.modern-triage-banner p{margin:0;color:var(--muted,#64748b);font-size:.86rem}.modern-triage-banner small{color:var(--muted,#64748b)}
.modern-doctor-chart{display:block}.modern-chart-layout{display:grid;grid-template-columns:270px minmax(0,1fr) 285px;gap:14px;align-items:start;transition:grid-template-columns .2s ease}.modern-chart-layout.left-collapsed{grid-template-columns:46px minmax(0,1fr) 285px}.modern-chart-layout.right-collapsed{grid-template-columns:270px minmax(0,1fr) 46px}.modern-chart-layout.left-collapsed.right-collapsed{grid-template-columns:46px minmax(0,1fr) 46px}
.modern-chart-rail{position:sticky;top:132px;display:grid;gap:10px;max-height:calc(100vh - 150px);overflow:auto;padding:12px;border:1px solid var(--border,#dbe4ee);border-radius:17px;background:var(--surface,#fff);box-shadow:0 8px 25px rgba(15,23,42,.05);scrollbar-width:thin}.modern-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--border,#e2e8f0)}.modern-rail-heading h2{margin:.1rem 0;font-size:1rem}.modern-rail-heading .eyebrow{font-size:.62rem}.icon-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border,#dbe4ee);border-radius:9px;background:var(--surface,#fff);color:var(--muted,#64748b);font-size:1.1rem;cursor:pointer}.icon-button:hover{border-color:var(--primary,#0f766e);color:var(--primary,#0f766e)}
.modern-context-block,.modern-summary-block,.modern-missing-block{padding:11px;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:var(--surface-soft,#f8fafc)}.modern-context-block.danger-block{border-color:color-mix(in srgb,var(--danger,#b42318) 25%,var(--border,#e2e8f0));background:color-mix(in srgb,var(--danger,#b42318) 4%,var(--surface,#fff))}.modern-context-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.modern-context-title a{font-size:.72rem;text-decoration:none}.modern-context-block p,.modern-summary-block p{margin:.35rem 0 0;color:var(--text,#1e293b);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.modern-summary-block>span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted,#64748b)}
.modern-previous-visits{display:grid;gap:7px}.modern-visit-item{display:grid;gap:2px;padding:9px;border-radius:10px;text-decoration:none;color:inherit;background:var(--surface-soft,#f8fafc);border:1px solid transparent}.modern-visit-item:hover{border-color:var(--primary,#0f766e)}.modern-visit-item span,.modern-visit-item small{font-size:.7rem;color:var(--muted,#64748b)}.modern-visit-item strong{font-size:.79rem;line-height:1.35}
.modern-chart-layout.left-collapsed .modern-chart-left,.modern-chart-layout.right-collapsed .modern-chart-right{padding:8px;overflow:hidden}.modern-chart-layout.left-collapsed .modern-chart-left>:not(.modern-rail-heading),.modern-chart-layout.right-collapsed .modern-chart-right>:not(.modern-rail-heading){display:none}.modern-chart-layout.left-collapsed .modern-chart-left .modern-rail-heading>div,.modern-chart-layout.right-collapsed .modern-chart-right .modern-rail-heading>div{display:none}.modern-chart-layout.left-collapsed .modern-chart-left .modern-rail-heading,.modern-chart-layout.right-collapsed .modern-chart-right .modern-rail-heading{justify-content:center;border:0;padding:0}.modern-chart-layout.left-collapsed [data-toggle-left-rail]{transform:rotate(180deg)}.modern-chart-layout.right-collapsed [data-toggle-right-rail]{transform:rotate(180deg)}
.modern-chart-canvas{min-width:0;display:grid;gap:12px}.modern-chart-tabs{position:sticky;top:132px;z-index:28;display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:5px;padding:6px;border:1px solid var(--border,#dbe4ee);border-radius:15px;background:color-mix(in srgb,var(--surface,#fff) 97%,transparent);box-shadow:0 8px 25px rgba(15,23,42,.07);backdrop-filter:blur(14px);overflow-x:auto}.modern-chart-tabs button{display:flex;align-items:center;gap:8px;min-width:0;padding:9px;border:0;border-radius:11px;background:transparent;color:var(--muted,#64748b);text-align:left;cursor:pointer}.modern-chart-tabs button:hover{background:var(--surface-soft,#f8fafc)}.modern-chart-tabs button.active{background:color-mix(in srgb,var(--primary,#0f766e) 11%,var(--surface,#fff));color:var(--primary,#0f766e)}.modern-chart-tabs button>span:last-child{display:grid;min-width:0}.modern-chart-tabs strong{font-size:.78rem}.modern-chart-tabs small{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-tab-state{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--border,#cbd5e1);border-radius:999px;flex:0 0 auto;font-size:.65rem}.modern-tab-state.complete{border-color:var(--success,#15803d);background:var(--success,#15803d);color:#fff}
.modern-chart-panel{display:none;padding:20px;border:1px solid var(--border,#dbe4ee);border-radius:18px;background:var(--surface,#fff);box-shadow:0 10px 28px rgba(15,23,42,.045)}.modern-chart-panel.active{display:block}.modern-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.modern-section-heading.compact{margin-top:18px}.modern-section-heading h2,.modern-section-heading h3{margin:.15rem 0}.modern-section-heading h2{font-size:1.35rem}.modern-section-heading h3{font-size:1rem}.modern-section-heading p{margin:.25rem 0;color:var(--muted,#64748b);font-size:.84rem;line-height:1.45}.modern-form-section{padding:16px;border:1px solid var(--border,#e2e8f0);border-radius:14px;background:var(--surface-soft,#f8fafc)}.modern-form-section+.modern-form-section{margin-top:12px}.modern-wide-label{display:grid;gap:7px;margin-top:14px;font-weight:700}.modern-wide-label textarea{font-weight:400}
.modern-vital-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.modern-vital-card{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:4px 8px;align-items:center;padding:11px;border:1px solid var(--border,#e2e8f0);border-radius:13px;background:var(--surface-soft,#f8fafc)}.modern-vital-card>div{display:grid}.modern-vital-card span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#64748b)}.modern-vital-card strong{font-size:1.08rem}.modern-vital-card small{font-size:.65rem;color:var(--muted,#64748b)}.modern-vital-card em{grid-column:1/-1;font-size:.67rem;color:var(--muted,#64748b);font-style:normal}.modern-vital-sparkline{width:92px;height:36px}.modern-sparkline-series{fill:none;stroke:var(--primary,#0f766e);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.modern-sparkline-series.series-1{stroke:var(--brand-accent,#0e7490)}.modern-sparkline-baseline{stroke:var(--border,#dbe4ee);stroke-width:1}.modern-vital-empty{font-size:.68rem;color:var(--muted,#64748b)}
.modern-details{margin-top:14px;border:1px solid var(--border,#e2e8f0);border-radius:14px;background:var(--surface,#fff)}.modern-details summary{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;cursor:pointer}.modern-details summary>span{display:grid}.modern-details summary small{color:var(--muted,#64748b);font-weight:400}.modern-details-body{padding:0 15px 15px}
.modern-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.modern-check-card{display:flex!important;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:var(--surface-soft,#f8fafc);cursor:pointer}.modern-check-card input{margin-top:3px}.modern-check-card span{display:grid}.modern-check-card strong{font-size:.82rem}.modern-check-card small{color:var(--muted,#64748b);font-size:.7rem;line-height:1.35}
.modern-ros-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.modern-ros-item{min-width:0;margin:0;padding:10px;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:var(--surface-soft,#f8fafc)}.modern-ros-item legend{padding:0 4px;font-size:.76rem;font-weight:800}.modern-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:9px;background:var(--surface,#fff)}.modern-segmented label{display:block}.modern-segmented input{position:absolute;opacity:0;pointer-events:none}.modern-segmented span{display:block;padding:6px 4px;border-radius:7px;text-align:center;font-size:.65rem;color:var(--muted,#64748b);cursor:pointer}.modern-segmented input:checked+span{background:color-mix(in srgb,var(--primary,#0f766e) 12%,var(--surface,#fff));color:var(--primary,#0f766e);font-weight:800}.modern-segmented input[value="positive"]:checked+span{background:color-mix(in srgb,var(--warning,#d97706) 13%,var(--surface,#fff));color:#8a4b00}
.modern-exam-list{display:grid;gap:9px}.modern-exam-item{border:1px solid var(--border,#e2e8f0);border-radius:13px;background:var(--surface-soft,#f8fafc);overflow:hidden}.modern-exam-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px}.modern-exam-head>div:first-child{display:grid}.modern-exam-head small{color:var(--muted,#64748b);font-size:.68rem}.modern-exam-item textarea{width:calc(100% - 20px);margin:0 10px 10px;min-height:74px;background:var(--surface,#fff)}.modern-quick-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.modern-quick-actions button{border:1px solid var(--border,#dbe4ee);border-radius:8px;background:var(--surface,#fff);padding:5px 7px;color:var(--muted,#64748b);font-size:.66rem;cursor:pointer}.modern-quick-actions button:hover{border-color:var(--primary,#0f766e);color:var(--primary,#0f766e)}.modern-doctor-chart.hide-empty-exam .modern-exam-item.is-empty{display:none}
.modern-diagnosis-search{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;padding:16px;border:1px solid var(--border,#e2e8f0);border-radius:14px;background:var(--surface-soft,#f8fafc)}.modern-search-results{position:absolute;left:16px;right:216px;top:82px;z-index:30;display:grid;max-height:300px;overflow:auto;padding:6px;border:1px solid var(--border,#dbe4ee);border-radius:12px;background:var(--surface,#fff);box-shadow:0 18px 40px rgba(15,23,42,.16)}.modern-search-results button{display:grid;gap:2px;padding:9px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.modern-search-results button:hover{background:var(--surface-soft,#f8fafc)}.modern-search-results small{color:var(--muted,#64748b)}
.modern-order-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.modern-order-actions a{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;gap:1px 9px;padding:11px;border:1px solid var(--border,#e2e8f0);border-radius:12px;text-decoration:none;color:inherit;background:var(--surface-soft,#f8fafc)}.modern-order-actions a:hover{border-color:var(--primary,#0f766e)}.modern-order-actions a>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--primary,#0f766e) 11%,var(--surface,#fff));color:var(--primary,#0f766e);font-weight:900}.modern-order-actions strong{font-size:.79rem}.modern-order-actions small{color:var(--muted,#64748b);font-size:.67rem}
.modern-signature-block{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px;border:1px solid var(--border,#e2e8f0);border-radius:13px;background:var(--surface-soft,#f8fafc)}.modern-signature-block>div{display:grid;gap:2px}.modern-signature-block small{color:var(--muted,#64748b)}
.modern-chart-savebar{position:sticky;bottom:8px;z-index:27;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--primary,#0f766e) 18%,var(--border,#dbe4ee));border-radius:14px;background:color-mix(in srgb,var(--surface,#fff) 97%,transparent);box-shadow:0 14px 36px rgba(15,23,42,.14);backdrop-filter:blur(14px)}.modern-save-state{display:flex;align-items:center;gap:9px}.modern-save-state>div{display:grid}.modern-save-state small{color:var(--muted,#64748b);font-size:.72rem}.modern-save-dot{width:9px;height:9px;border-radius:999px;background:var(--success,#15803d);box-shadow:0 0 0 4px color-mix(in srgb,var(--success,#15803d) 10%,transparent)}.modern-save-dot[data-state="dirty"]{background:var(--warning,#d97706);box-shadow:0 0 0 4px color-mix(in srgb,var(--warning,#d97706) 12%,transparent)}.modern-save-dot[data-state="saving"]{background:var(--primary,#0f766e);animation:modern-save-pulse 1s infinite}.modern-save-dot[data-state="error"]{background:var(--danger,#b42318);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger,#b42318) 10%,transparent)}@keyframes modern-save-pulse{50%{opacity:.35}}
.modern-completion-card{padding:11px;border-radius:12px;background:color-mix(in srgb,var(--primary,#0f766e) 7%,var(--surface,#fff))}.modern-completion-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.modern-completion-head strong{font-size:1.35rem}.modern-completion-head span{font-size:.7rem;color:var(--muted,#64748b)}.modern-missing-block ul{display:grid;gap:5px;margin:.7rem 0 0;padding:0;list-style:none}.modern-missing-block li{position:relative;padding-left:15px;font-size:.76rem;color:var(--muted,#64748b)}.modern-missing-block li:before{content:"";position:absolute;left:1px;top:.45em;width:6px;height:6px;border-radius:999px;background:var(--warning,#d97706)}.modern-missing-block li.complete:before{background:var(--success,#15803d)}.modern-rail-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.modern-rail-actions a{padding:7px;border:1px solid var(--border,#dbe4ee);border-radius:8px;text-align:center;text-decoration:none;font-size:.7rem}.modern-rail-actions a:hover{border-color:var(--primary,#0f766e)}
@media(max-width:1320px){.modern-chart-layout{grid-template-columns:235px minmax(0,1fr) 245px}.modern-chart-layout.left-collapsed{grid-template-columns:46px minmax(0,1fr) 245px}.modern-chart-layout.right-collapsed{grid-template-columns:235px minmax(0,1fr) 46px}.modern-vital-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-chart-tabs small{display:none}}
@media(max-width:1080px){.modern-patient-header{grid-template-columns:minmax(0,1fr) auto}.modern-header-vitals{grid-row:2;grid-column:1/-1;justify-content:flex-start}.modern-chart-layout,.modern-chart-layout.left-collapsed,.modern-chart-layout.right-collapsed,.modern-chart-layout.left-collapsed.right-collapsed{grid-template-columns:1fr}.modern-chart-rail{position:static;max-height:none}.modern-chart-left{order:2}.modern-chart-canvas{order:1}.modern-chart-right{order:3}.modern-chart-layout.left-collapsed .modern-chart-left,.modern-chart-layout.right-collapsed .modern-chart-right{display:none}.modern-chart-tabs{top:78px}.modern-chart-panel{padding:16px}.modern-order-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.modern-patient-header{position:static;grid-template-columns:1fr;padding:12px}.modern-header-actions{flex-wrap:wrap}.modern-header-vitals{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.modern-alert-row{overflow-x:auto;flex-wrap:nowrap}.modern-alert-chip{flex:0 0 auto}.modern-triage-banner{grid-template-columns:1fr;align-items:flex-start}.modern-chart-tabs{position:sticky;top:64px;display:flex;padding:5px}.modern-chart-tabs button{min-width:105px}.modern-chart-panel{border-radius:14px;padding:13px}.modern-section-heading{align-items:flex-start;flex-direction:column}.modern-vital-cards,.modern-review-grid,.modern-ros-grid,.modern-order-actions,.modern-diagnosis-search{grid-template-columns:1fr}.modern-search-results{left:10px;right:10px;top:150px}.modern-exam-head{align-items:flex-start;flex-direction:column}.modern-quick-actions{justify-content:flex-start}.modern-chart-savebar{align-items:stretch;flex-direction:column;bottom:5px}.modern-chart-savebar .button-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.modern-chart-savebar .btn{width:100%}.modern-header-actions .modern-elapsed{border-left:0;padding-left:0}.modern-rail-actions{grid-template-columns:1fr 1fr}}
