/* OsoHealth EMR v151: visual tokens only. Structure/permissions remain shared. */
:root{
 --oso-brand-primary:#005878;--oso-brand-accent:#007F91;
 --oso-brand-background:#F7FAFB;
 --oso-brand-font:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;
 --teal:var(--oso-brand-accent);--teal-dark:var(--oso-brand-primary);
 --swift-navy:var(--oso-brand-primary);--swift-blue:var(--oso-brand-accent);
}
html,body,button,input,textarea,select{font-family:var(--oso-brand-font)!important}
body{background:var(--oso-brand-background)}
body.cf-authenticated .topbar{background:var(--oso-brand-primary)!important;border-right-color:#ffffff26!important}
.topbar .brand{min-width:0}
.topbar .brand.oso-brand-header{display:flex;flex-direction:column;align-items:flex-start;gap:5px;justify-content:center}
.topbar .brand .oso-wordmark-frame{
 background:#fff;border-radius:9px;padding:5px 7px;
 display:inline-flex;max-width:100%;min-width:0;align-items:center;
 box-shadow:0 2px 8px #051f2c0d;
}
.topbar .brand .oso-wordmark{
 display:block;width:min(100%,178px);height:auto;max-height:35px;object-fit:contain;
}
.topbar .brand .oso-brand-subtitle{
 display:block;font-size:10px;line-height:1.35;color:#d9eaf1;
 letter-spacing:.05px;white-space:normal;overflow-wrap:anywhere;
}
.topbar .brand.oso-brand-header::before{display:none!important}
body.cf-authenticated .topbar #main-navigation a.active,
body.cf-authenticated .topbar #main-navigation a[aria-current=page]{
 background:#ffffff24;color:#fff;
}
.btn.primary,button.btn.primary{background:var(--oso-brand-accent)!important;border-color:var(--oso-brand-accent)!important;color:#fff!important}
a{accent-color:var(--oso-brand-accent)}
input[type=checkbox],input[type=radio]{accent-color:var(--oso-brand-accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
 outline:2px solid var(--oso-brand-accent);outline-offset:2px;
}
body:not(.cf-authenticated) .topbar{background:var(--oso-brand-primary)!important}
body:not(.cf-authenticated) .topbar .brand{color:#fff}
@media(max-width:850px){
 .topbar .brand.oso-brand-header{flex-direction:column;align-items:flex-start;gap:3px}
 .topbar .brand .oso-wordmark-frame{padding:4px 6px;border-radius:7px}
 .topbar .brand .oso-wordmark{width:min(100%,156px);max-height:26px}
 .topbar .brand .oso-brand-subtitle{font-size:9px}
}
@media print{
 .topbar .oso-wordmark-frame{display:none}
}
