#o2-language-switcher{position:fixed;right:16px;bottom:16px;z-index:2147483000;display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:12px;background:rgba(18,63,50,.96);box-shadow:0 8px 30px #0003;color:#fff;font:600 12px/1.2 system-ui,-apple-system,"Segoe UI","Microsoft JhengHei","PingFang TC",sans-serif}#o2-language-switcher select{width:auto!important;min-width:118px;margin:0!important;padding:6px 28px 6px 8px!important;border:1px solid #ffffff55!important;border-radius:8px!important;background:#fff!important;color:#173d32!important;font:600 12px system-ui,-apple-system,"Segoe UI","Microsoft JhengHei","PingFang TC",sans-serif}html,body,input,select,textarea,button{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans TC","Microsoft JhengHei","PingFang TC",Arial,sans-serif}@media print{#o2-language-switcher{display:none!important}}

/* === 7C-7D FIX8 LANGUAGE LIVE-SYNC + HEADER CLEANUP === */

.o2-lang-legacy-widget-hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:0!important;
}

.o2-header-right-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-left:auto!important;
  flex-wrap:nowrap!important;
}

.o2-header-right-controls #o2-lang-header-slot{
  position:static!important;
  inset:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.o2-header-right-controls .o2-lang-header-label{
  color:rgba(255,255,255,.86)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.o2-header-right-controls #o2-lang-header-select{
  position:static!important;
  width:auto!important;
  min-width:112px!important;
  max-width:150px!important;
  height:36px!important;
  margin:0!important;
  padding:5px 30px 5px 10px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#143d32!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
}

.o2-header-right-controls > a.o2-header-home-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.o2-header-right-controls > a.o2-header-home-button::before{
  content:""!important;
  display:inline-block!important;
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
  background-color:currentColor!important;
  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.2 3.5 10v10.2c0 .44.36.8.8.8h5.1v-6.4h5.2V21h5.1c.44 0 .8-.36.8-.8V10L12 3.2Zm0 2.55 6.5 5.2V19h-1.9v-6.4H7.4V19H5.5v-8.05L12 5.75Z'/%3E%3C/svg%3E")
    center/contain no-repeat!important;
  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.2 3.5 10v10.2c0 .44.36.8.8.8h5.1v-6.4h5.2V21h5.1c.44 0 .8-.36.8-.8V10L12 3.2Zm0 2.55 6.5 5.2V19h-1.9v-6.4H7.4V19H5.5v-8.05L12 5.75Z'/%3E%3C/svg%3E")
    center/contain no-repeat!important;
}

.o2-header-right-controls > a.o2-header-home-button:hover,
.o2-header-right-controls > a.o2-header-home-button:focus-visible{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.50)!important;
}

@media(max-width:760px){
  .o2-header-right-controls{
    gap:7px!important;
  }

  .o2-header-right-controls .o2-lang-header-label{
    display:none!important;
  }

  .o2-header-right-controls #o2-lang-header-select{
    min-width:92px!important;
    max-width:108px!important;
  }

  .o2-header-right-controls > a.o2-header-home-button{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .o2-header-right-controls > a.o2-header-home-button .o2-home-label{
    display:none!important;
  }

  .o2-header-right-controls > a.o2-header-home-button::before{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
  }
}
/* === 7C-7D FIX8 LANGUAGE LIVE-SYNC + HEADER CLEANUP END === */

/* === 7C-7D FIX9 DASHBOARD HEADER + LEGACY LANGUAGE CLEANUP === */

.o2-lang-legacy-widget-hidden{
  display:block!important;
  position:fixed!important;
  left:-10000px!important;
  top:-10000px!important;
  right:auto!important;
  bottom:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  max-width:1px!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  clip-path:inset(100%)!important;
}

/* Clinic Dashboard only */
header.o2-dashboard-header-dark{
  background:#0f4f40!important;
  color:#fff!important;
  border-bottom-color:#0f4f40!important;
}

header.o2-dashboard-header-dark .brand,
header.o2-dashboard-header-dark .brand *,
header.o2-dashboard-header-dark a.brand,
header.o2-dashboard-header-dark a.brand *{
  color:#fff!important;
}

header.o2-dashboard-header-dark .brand small,
header.o2-dashboard-header-dark .brand .muted,
header.o2-dashboard-header-dark .brand p{
  color:rgba(255,255,255,.78)!important;
}

header.o2-dashboard-header-dark .o2-lang-header-label{
  color:rgba(255,255,255,.88)!important;
}

header.o2-dashboard-header-dark #o2-lang-header-select{
  background:#fff!important;
  color:#143d32!important;
  border-color:rgba(255,255,255,.35)!important;
}

header.o2-dashboard-header-dark a.o2-header-home-button{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;
}

header.o2-dashboard-header-dark a.o2-header-home-button:hover,
header.o2-dashboard-header-dark a.o2-header-home-button:focus-visible{
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.55)!important;
  color:#fff!important;
}

header.o2-dashboard-header-dark a:not(.brand){
  color:#fff;
}

/* Try to retain a light pill for the operational-view badge */
header.o2-dashboard-header-dark .live-operational-view,
header.o2-dashboard-header-dark .operational-view,
header.o2-dashboard-header-dark [aria-label*="operational" i]{
  background:#e9f5f0!important;
  color:#0f5b46!important;
  border-color:#d7ebe2!important;
}
/* === 7C-7D FIX9 DASHBOARD HEADER + LEGACY LANGUAGE CLEANUP END === */

/* === 7C-7D FIX10 HOME LANGUAGE + STANDARD HEADER === */

/*
 * Match Clinic Dashboard top bar to the same dark green used by the other
 * operational pages (sampled from the Appointment Calendar header).
 */
header.o2-dashboard-header-standard{
  background:#103f33!important;
  color:#fff!important;
  border-bottom-color:#103f33!important;
}

header.o2-dashboard-header-standard .brand,
header.o2-dashboard-header-standard .brand *,
header.o2-dashboard-header-standard a.brand,
header.o2-dashboard-header-standard a.brand *{
  color:#fff!important;
}

header.o2-dashboard-header-standard .brand small,
header.o2-dashboard-header-standard .brand .muted,
header.o2-dashboard-header-standard .brand p{
  color:rgba(255,255,255,.76)!important;
}

header.o2-dashboard-header-standard .o2-lang-header-label{
  color:rgba(255,255,255,.88)!important;
}

header.o2-dashboard-header-standard #o2-lang-header-select{
  background:#fff!important;
  color:#143d32!important;
  border-color:rgba(255,255,255,.30)!important;
}

header.o2-dashboard-header-standard a.o2-header-home-button{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
}

header.o2-dashboard-header-standard a.o2-header-home-button:hover,
header.o2-dashboard-header-standard a.o2-header-home-button:focus-visible{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.48)!important;
}

/* Home page language control: top-right of main content, not floating bottom-right. */
main,
[role="main"],
.app-main,
.main-content{
  position:relative;
}

#o2-home-language-control{
  position:absolute;
  top:28px;
  right:34px;
  z-index:10;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  margin:0;
  background:transparent;
  border:0;
}

#o2-home-language-control .o2-home-language-label{
  color:#365e51;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

#o2-home-language-control .o2-home-language-select{
  width:auto;
  min-width:118px;
  height:38px;
  padding:5px 30px 5px 10px;
  border:1px solid #cfded7;
  border-radius:9px;
  background:#fff;
  color:#143d32;
  font:inherit;
  font-size:13px;
  font-weight:700;
  box-shadow:none;
  cursor:pointer;
}

@media(max-width:900px){
  #o2-home-language-control{
    position:static;
    justify-content:flex-end;
    width:100%;
    margin-bottom:18px;
  }
}
/* === 7C-7D FIX10 HOME LANGUAGE + STANDARD HEADER END === */

/* === 7C-7D FIX11 DASHBOARD HEADER OPERATIONAL MATCH === */

/*
 * Match the Dashboard header geometry to the standard operational pages.
 * Reference behavior from Clients & Patients / Appointments:
 *   - same dark green
 *   - same horizontal page padding
 *   - same logo footprint and title/subtitle spacing
 *   - same right control alignment
 *   - same Home button dimensions
 */
header.o2-dashboard-header-operational-match{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:94px!important;
  margin:0!important;
  padding:14px 56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  background:#123f32!important;
  color:#fff!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-brand-match{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  text-decoration:none!important;
  color:#fff!important;
  box-shadow:none!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-brand-match img{
  display:block!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  object-fit:contain!important;
  margin:0!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-brand-match strong,
header.o2-dashboard-header-operational-match .o2-dashboard-brand-match b{
  color:#fff!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.1!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-brand-match small,
header.o2-dashboard-header-operational-match .o2-dashboard-brand-match p,
header.o2-dashboard-header-operational-match .o2-dashboard-brand-match .muted{
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
  line-height:1.25!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-right-match{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-left:auto!important;
  min-width:0!important;
  flex-wrap:nowrap!important;
}

header.o2-dashboard-header-operational-match .o2-lang-header-label{
  color:rgba(255,255,255,.88)!important;
}

header.o2-dashboard-header-operational-match #o2-lang-header-select{
  height:44px!important;
  min-width:176px!important;
  max-width:176px!important;
  padding:7px 34px 7px 12px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#143d32!important;
  font-size:15px!important;
  font-weight:700!important;
  box-shadow:none!important;
}

/* Keep Dashboard's Live operational view semantics, but align its geometry. */
header.o2-dashboard-header-operational-match .live-operational-view,
header.o2-dashboard-header-operational-match .operational-view,
header.o2-dashboard-header-operational-match [aria-label*="operational" i]{
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 14px!important;
  border-radius:999px!important;
}

/* Force Home to match the other operational-page Home control. */
header.o2-dashboard-header-operational-match .o2-dashboard-home-match{
  min-width:118px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 16px!important;
  gap:8px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-home-match::before{
  width:17px!important;
  height:17px!important;
  flex-basis:17px!important;
}

header.o2-dashboard-header-operational-match .o2-dashboard-home-match:hover,
header.o2-dashboard-header-operational-match .o2-dashboard-home-match:focus-visible{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.48)!important;
}

@media(max-width:900px){
  header.o2-dashboard-header-operational-match{
    padding:12px 20px!important;
    min-height:84px!important;
    gap:12px!important;
  }

  header.o2-dashboard-header-operational-match .o2-dashboard-brand-match img{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }

  header.o2-dashboard-header-operational-match #o2-lang-header-select{
    min-width:112px!important;
    max-width:128px!important;
  }
}

@media(max-width:760px){
  header.o2-dashboard-header-operational-match{
    padding:10px 14px!important;
  }

  header.o2-dashboard-header-operational-match .o2-dashboard-home-match{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    padding:0!important;
  }

  header.o2-dashboard-header-operational-match .o2-dashboard-home-match .o2-home-label{
    display:none!important;
  }
}
/* === 7C-7D FIX11 DASHBOARD HEADER OPERATIONAL MATCH END === */

/* === 7C-7D FIX12 DASHBOARD HEADER EXACT OPERATIONAL SIZE === */

/*
 * Screenshot comparison at the same browser environment:
 *   working operational header  ~= 90 screen px
 *   prior Dashboard header      ~= 108 screen px
 *   working operational logo    ~= 60 screen px with rounded corners
 *   prior Dashboard logo        ~= 70 screen px with squarer corners
 *
 * The browser screenshot scale is ~1.12-1.15 CSS->screen px, so the
 * operational header maps to ~80 CSS px and the logo to ~52 CSS px.
 */
header.o2-dashboard-header-exact-operational{
  box-sizing:border-box!important;
  width:100%!important;
  height:80px!important;
  min-height:80px!important;
  max-height:80px!important;
  margin:0!important;
  padding:10px 56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  background:#123f32!important;
  color:#fff!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  overflow:visible!important;
}

/* Exact operational-page brand footprint. */
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  height:60px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  color:#fff!important;
}

/*
 * This is the important logo correction:
 * 52x52 CSS px + 12px radius matches the rounded operational-page logo.
 */
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact img{
  display:block!important;
  box-sizing:border-box!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  max-width:52px!important;
  max-height:52px!important;
  margin:0!important;
  padding:0!important;
  border-radius:12px!important;
  object-fit:cover!important;
  overflow:hidden!important;
}

/* Match title/subtitle scale used by Clients & Patients / Appointments. */
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact strong,
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact b{
  margin:0!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.05!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact small,
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact p,
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact .muted{
  margin:3px 0 0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.15!important;
}

/* Right controls use the same compact footprint as operational pages. */
header.o2-dashboard-header-exact-operational .o2-dashboard-right-exact{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-left:auto!important;
  min-width:0!important;
  height:60px!important;
  flex-wrap:nowrap!important;
}

header.o2-dashboard-header-exact-operational .o2-lang-header-label{
  color:rgba(255,255,255,.88)!important;
  font-size:13px!important;
  font-weight:700!important;
}

header.o2-dashboard-header-exact-operational #o2-lang-header-select{
  box-sizing:border-box!important;
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  height:40px!important;
  min-height:40px!important;
  padding:6px 32px 6px 11px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#143d32!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}

/* Keep the Dashboard-specific status pill, but fit the standard header height. */
header.o2-dashboard-header-exact-operational .live-operational-view,
header.o2-dashboard-header-exact-operational .operational-view,
header.o2-dashboard-header-exact-operational [aria-label*="operational" i]{
  box-sizing:border-box!important;
  min-height:36px!important;
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:6px 12px!important;
  border-radius:999px!important;
}

/* Match operational-page Home footprint instead of FIX11's oversized version. */
header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact{
  box-sizing:border-box!important;
  width:auto!important;
  min-width:106px!important;
  max-width:none!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 13px!important;
  gap:7px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact::before{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact:hover,
header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact:focus-visible{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.48)!important;
}

@media(max-width:900px){
  header.o2-dashboard-header-exact-operational{
    height:76px!important;
    min-height:76px!important;
    max-height:none!important;
    padding:8px 20px!important;
    gap:12px!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact{
    height:56px!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact img{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
    border-radius:11px!important;
  }

  header.o2-dashboard-header-exact-operational #o2-lang-header-select{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
  }
}

@media(max-width:760px){
  header.o2-dashboard-header-exact-operational{
    height:auto!important;
    min-height:72px!important;
    padding:8px 14px!important;
  }

  header.o2-dashboard-header-exact-operational .o2-lang-header-label{
    display:none!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact{
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    padding:0!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact .o2-home-label{
    display:none!important;
  }
}
/* === 7C-7D FIX12 DASHBOARD HEADER EXACT OPERATIONAL SIZE END === */

/* === 7C-7D FIX13 DASHBOARD HEADER FINAL VISUAL MATCH === */

/*
 * Final visual calibration against the working Clients & Patients header.
 * FIX12 rendered slightly oversized on Dashboard:
 * - header ~7% taller
 * - logo ~5% larger
 * - language/home controls wider than operational-page equivalents
 *
 * These rules intentionally override FIX12 only on /app/dashboard.
 */
header.o2-dashboard-header-exact-operational{
  height:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  padding:7px 56px!important;
  gap:20px!important;
}

/* Match operational-page logo footprint and rounded corners. */
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact{
  height:56px!important;
  gap:10px!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact img{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  max-width:50px!important;
  max-height:50px!important;
  border-radius:12px!important;
  object-fit:cover!important;
}

/* Match operational-page title/subtitle scale. */
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact strong,
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact b{
  font-size:17px!important;
  line-height:1.05!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact small,
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact p,
header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact .muted{
  margin-top:2px!important;
  font-size:13px!important;
  line-height:1.1!important;
}

/* Match compact right-side controls of Clients & Patients. */
header.o2-dashboard-header-exact-operational .o2-dashboard-right-exact{
  height:56px!important;
  gap:12px!important;
}

header.o2-dashboard-header-exact-operational #o2-lang-header-select{
  width:140px!important;
  min-width:140px!important;
  max-width:140px!important;
  height:37px!important;
  min-height:37px!important;
  padding:5px 30px 5px 10px!important;
  border-radius:9px!important;
  font-size:13px!important;
}

header.o2-dashboard-header-exact-operational .live-operational-view,
header.o2-dashboard-header-exact-operational .operational-view,
header.o2-dashboard-header-exact-operational [aria-label*="operational" i]{
  height:34px!important;
  min-height:34px!important;
  padding:5px 12px!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact{
  min-width:96px!important;
  height:37px!important;
  min-height:37px!important;
  padding:0 12px!important;
  gap:7px!important;
  border-radius:9px!important;
  font-size:14px!important;
}

header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact::before{
  width:15px!important;
  height:15px!important;
  flex-basis:15px!important;
}

@media(max-width:900px){
  header.o2-dashboard-header-exact-operational{
    height:72px!important;
    min-height:72px!important;
    padding:7px 20px!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact{
    height:54px!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-brand-exact img{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
    border-radius:11px!important;
  }

  header.o2-dashboard-header-exact-operational #o2-lang-header-select{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
  }
}

@media(max-width:760px){
  header.o2-dashboard-header-exact-operational{
    height:auto!important;
    min-height:68px!important;
    max-height:none!important;
    padding:7px 14px!important;
  }

  header.o2-dashboard-header-exact-operational .o2-dashboard-home-exact{
    width:37px!important;
    min-width:37px!important;
    max-width:37px!important;
    height:37px!important;
    min-height:37px!important;
    padding:0!important;
  }
}
/* === 7C-7D FIX13 DASHBOARD HEADER FINAL VISUAL MATCH END === */

/* === O2 VET UI REDESIGN 2026 PHASE 1C EXACT LOGO === */

/* Keep the approved Phase 1B design exactly; only refine the logo placement. */
body.o2-modern-ui .o2-sidebar-brand{
  justify-content:center!important;
  text-align:center!important;
}
body.o2-modern-ui .o2-sidebar-brand img{
  display:block!important;
  width:112px!important;
  height:auto!important;
  max-width:112px!important;
  max-height:104px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center center!important;
}

body.o2-login-body .o2-login-brand-panel > .o2-login-main-logo{
  align-self:center!important;
  display:block!important;
  width:154px!important;
  height:auto!important;
  max-width:154px!important;
  max-height:145px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Standard exact O2 Vet lockup on all other page headers. */
.o2-exact-global-logo{
  display:block!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:54px!important;
  min-width:0!important;
  min-height:0!important;
  max-width:96px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center center!important;
  box-shadow:none!important;
  filter:none!important;
}

a.o2-exact-logo-fallback{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:78px!important;
  margin:0 12px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
}

a.o2-exact-logo-fallback .o2-exact-global-logo{
  height:52px!important;
  max-width:92px!important;
}

/* Prevent older square/cropped header rules from changing the exact logo shape. */
header img.o2-exact-global-logo,
.dash-top img.o2-exact-global-logo,
.topbar img.o2-exact-global-logo,
.app-header img.o2-exact-global-logo,
.page-header img.o2-exact-global-logo,
.portal-header img.o2-exact-global-logo,
.staff-header img.o2-exact-global-logo,
.admin-header img.o2-exact-global-logo,
.owner-header img.o2-exact-global-logo,
header.o2-dashboard-header-exact-operational img.o2-exact-global-logo,
header.o2-dashboard-header-operational-match img.o2-exact-global-logo{
  width:auto!important;
  height:52px!important;
  min-width:0!important;
  min-height:0!important;
  max-width:94px!important;
  max-height:56px!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Existing brand links that receive the exact logo stay vertically balanced. */
header .brand:has(.o2-exact-global-logo),
header .dash-brand:has(.o2-exact-global-logo),
.dash-top .dash-brand:has(.o2-exact-global-logo),
.topbar .brand:has(.o2-exact-global-logo),
.app-header .brand:has(.o2-exact-global-logo),
.page-header .brand:has(.o2-exact-global-logo){
  align-items:center!important;
}

@media(max-width:900px){
  body.o2-modern-ui .o2-sidebar-brand img{
    width:94px!important;
    max-width:94px!important;
    max-height:88px!important;
  }
  body.o2-login-body .o2-login-brand-panel > .o2-login-main-logo{
    width:132px!important;
    max-width:132px!important;
    max-height:126px!important;
  }
}

@media(max-width:760px){
  .o2-exact-global-logo,
  header img.o2-exact-global-logo,
  .dash-top img.o2-exact-global-logo{
    height:46px!important;
    max-width:82px!important;
    max-height:49px!important;
  }
}
/* === O2 VET UI REDESIGN 2026 PHASE 1C EXACT LOGO END === */
