.clinic-shell { --clinic-rail:224px; --clinic-header:72px; min-height:100dvh; background:#f6f8f7; }
.clinic-shell [hidden] { display:none!important; }
.clinic-skip { position:fixed; z-index:500; top:-80px; left:20px; padding:12px 18px; background:white; border:1px solid var(--petrol); border-radius:8px; }
.clinic-skip:focus { top:12px; }
.clinic-sidebar { position:fixed; z-index:80; inset:0 auto 0 0; width:var(--clinic-rail); padding:25px 15px 20px; background:white; border-right:1px solid #e3e9e7; overflow:auto; }
.clinic-brand { display:block; padding:0 15px; margin:0 0 31px; font-size:28px; font-weight:800; letter-spacing:-1.2px; color:#15343c; }
.clinic-brand span { color:#16aaa6; }
.clinic-nav-group { margin:0 0 22px; }
.clinic-nav-group h2 { margin:0 13px 7px; font-size:10px; font-weight:600; letter-spacing:.025em; color:#889592; }
.clinic-nav-link { display:flex; align-items:center; gap:11px; min-height:40px; padding:9px 13px; margin:3px 0; border-radius:7px; font-size:12px; font-weight:500; color:#566b68; }
.clinic-nav-link .icon { width:17px; height:17px; flex-shrink:0; }
.clinic-nav-link:hover { color:var(--petrol); background:#f4f8f6; }
.clinic-nav-link.active { color:#006d77; background:#e9f4f2; font-weight:650; }
.clinic-unread { margin-left:auto; min-width:19px; height:19px; display:grid; place-items:center; padding:0 4px; border-radius:5px; background:var(--petrol); color:white; font-size:10px; }
.clinic-workspace { margin-left:var(--clinic-rail); min-width:0; }
.clinic-header { height:var(--clinic-header); display:flex; justify-content:space-between; align-items:center; gap:18px; padding:0 32px; border-bottom:1px solid #e3e9e7; background:#fff; }
.clinic-header-start,.clinic-account { display:flex; align-items:center; gap:12px; min-width:0; }
.clinic-account-button { display:flex; align-items:center; gap:12px; min-height:36px; padding:2px 4px; border-radius:7px; text-align:left; }
.clinic-account-button:hover { background:#f3f7f5; }
.clinic-location { display:flex; align-items:center; gap:12px; font-size:12px; min-width:0; }
.clinic-clinic-name { color:#6c7b77; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:230px; }
.clinic-section-name { color:#294340; white-space:nowrap; padding-left:12px; border-left:1px solid var(--line); }
.clinic-avatar { width:33px; height:33px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; background:#edf3f0; color:#42655f; font-size:11px; font-weight:650; }
.clinic-account-copy { display:grid; gap:1px; }
.clinic-account-copy strong { font-size:11px; font-weight:600; white-space:nowrap; }
.clinic-account-copy small { color:var(--muted); font-size:10px; }
.clinic-logout { color:#7b8a86; }
.clinic-logout .icon { width:17px; height:17px; }
.clinic-content { min-width:0; outline:none; }
.clinic-route-status { padding:18px 32px; color:var(--muted); font-size:13px; }
.clinic-route-status[role="alert"] { color:var(--danger); }
.clinic-module { min-width:0; }
.clinic-module :is(.ap-topbar,.ms-topbar,.me-topbar,.fi-topbar,.prototype-bar) { display:none; }
.clinic-module > .workspace > .sidebar,.clinic-module .workspace-body > .topbar { display:none; }
.clinic-module .workspace { min-height:0; }
.clinic-module :is(.page-main,.ap-page,.ms-page,.me-page,.fi-page) { max-width:1480px; width:100%; padding:28px 32px 40px; margin:0 auto; }
.clinic-module :is(.page-heading,.ap-heading,.ms-page-heading,.me-page-heading,.fi-page-heading) h1 { font-size:27px; letter-spacing:-.7px; }
.clinic-module .ms-provider,.clinic-module .ap-heading > div > p,.clinic-module .fi-page-heading > div > p { display:none; }
.clinic-module .ms-layout { height:calc(100dvh - 204px); min-height:440px; grid-template-columns:285px minmax(0,1fr); }
.clinic-menu-toggle,.clinic-menu-close { display:none; }
.clinic-auth .clinic-sidebar,.clinic-auth .clinic-header { display:none; }
.clinic-auth .clinic-workspace { margin-left:0; }
.clinic-auth .clinic-route-status { display:none; }
.clinic-auth .clinic-module .pilot-login { min-height:100dvh; }
.clinic-invite-card { max-width:580px; padding:28px; margin:0 auto; border:1px solid var(--line); border-radius:16px; background:#fff; }
.clinic-invite-card h1 { margin:0 0 22px; font-size:26px; }
.clinic-invite-card p { line-height:1.6; }
.clinic-invite-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
@media(max-width:999px) {
  .clinic-shell { --clinic-header:64px; }
  .clinic-workspace { margin-left:0; }
  .clinic-header { padding:0 22px; }
  .clinic-menu-toggle { display:flex; align-items:center; gap:8px; min-height:38px; padding:8px 10px 8px 0; color:#294e4a; font-size:12px; font-weight:600; }
  .clinic-menu-toggle .icon { width:18px; height:18px; }
  .clinic-sidebar { transform:translateX(-100%); visibility:hidden; width:250px; z-index:160; transition:transform .16s ease,visibility .16s ease; }
  .clinic-menu-open .clinic-sidebar { transform:translateX(0); visibility:visible; }
  .clinic-menu-close { display:grid; position:absolute; top:25px; right:16px; width:28px; height:28px; place-items:center; }
  .clinic-menu-backdrop { position:fixed; inset:0; background:#17373455; z-index:150; }
  .clinic-clinic-name { max-width:190px; }
  .clinic-section-name { display:none; }
  .clinic-module :is(.page-main,.ap-page,.ms-page,.me-page,.fi-page) { padding:25px 22px 35px; }
  .clinic-module .ms-layout { grid-template-columns:265px minmax(0,1fr); }
}
@media(max-width:600px) {
  .clinic-header { padding:0 16px; gap:8px; }
  .clinic-clinic-name { max-width:145px; font-size:11px; }
  .clinic-account-copy { display:none; }
  .clinic-account { gap:5px; }
  .clinic-account-button { padding:1px; }
  .clinic-module :is(.page-main,.ap-page,.ms-page,.me-page,.fi-page) { padding:22px 16px 30px; }
  .clinic-module .ms-layout { display:block; height:calc(100dvh - 200px); min-height:430px; }
  .clinic-module .ms-inbox { height:100%; }
  .clinic-module .has-thread .ms-inbox { display:none; }
  .clinic-module .ms-conversation { height:100%; }
}
@media(prefers-reduced-motion:reduce) { .clinic-sidebar { transition:none; } }
