
/* === O2 VET UI REDESIGN 2026 PHASE 1B === */
:root{
  --o2-charcoal:#171b20;
  --o2-charcoal-2:#20262d;
  --o2-charcoal-3:#2b323a;
  --o2-white:#ffffff;
  --o2-canvas:#f6f7f8;
  --o2-line:#e5e7eb;
  --o2-muted:#6c7480;
  --o2-ink:#171b20;
  --o2-orange:#d96711;
  --o2-orange-bright:#ff8a17;
  --o2-orange-soft:#fff1e4;
  --o2-shadow:0 12px 34px rgba(21,26,31,.08);
  --o2-shadow-hover:0 18px 42px rgba(21,26,31,.13);
  --o2-radius-lg:22px;
  --o2-radius-md:16px;
  --o2-radius-sm:12px;
}

body.o2-modern-ui{
  margin:0;
  min-height:100vh;
  background:var(--o2-canvas);
  color:var(--o2-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.o2-modern-ui .o2-app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:286px minmax(0,1fr);
  background:var(--o2-canvas);
}

body.o2-modern-ui .o2-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  min-height:100vh;
  padding:22px 16px 18px;
  background:
    radial-gradient(circle at 18% 4%,rgba(255,138,23,.11),transparent 28%),
    linear-gradient(180deg,#191e24 0%,#14191e 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:18px;
  border-right:1px solid rgba(255,255,255,.05);
  box-shadow:8px 0 30px rgba(15,18,22,.05);
  overflow-y:auto;
}

body.o2-modern-ui .o2-sidebar-brand{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:#fff;
  text-decoration:none;
  padding:2px 8px 8px;
}

body.o2-modern-ui .o2-sidebar-brand img{
  display:block;
  width:102px;
  height:auto;
  max-height:88px;
  object-fit:contain;
  object-position:left center;
  border:0;
  border-radius:0;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.18));
}

body.o2-modern-ui .o2-user-block{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

body.o2-modern-ui .o2-user-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:15px;
  font-weight:850;
  letter-spacing:.02em;
  color:#fff;
  background:linear-gradient(145deg,#b54d08,#ef7d20);
  box-shadow:0 8px 20px rgba(217,103,17,.24);
}

body.o2-modern-ui .o2-user-meta{
  min-width:0;
  display:grid;
  gap:2px;
}

body.o2-modern-ui .o2-user-meta strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:15px;
  font-weight:780;
}

body.o2-modern-ui .o2-user-meta span{
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.2;
}

body.o2-modern-ui .o2-module-nav{
  display:grid;
  gap:4px;
  margin-top:4px;
}

body.o2-modern-ui .o2-module-nav a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:43px;
  padding:10px 12px 10px 46px;
  border-radius:11px;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  font-size:14px;
  font-weight:610;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}

body.o2-modern-ui .o2-module-nav a::before{
  content:"";
  position:absolute;
  left:15px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  background:currentColor;
  opacity:.92;
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="DASHBOARD"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E");
}
body.o2-modern-ui .o2-module-nav a[data-module-code="APPOINTMENTS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm11 8H6v10h12V10Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm11 8H6v10h12V10Z'/%3E%3C/svg%3E");
}
body.o2-modern-ui .o2-module-nav a[data-module-code="CLIENTS_PATIENTS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.4 11.4c1.4 0 2.6-1.6 2.6-3.6S9.8 4.2 8.4 4.2 5.8 5.8 5.8 7.8s1.2 3.6 2.6 3.6Zm7.2 0c1.4 0 2.6-1.6 2.6-3.6s-1.2-3.6-2.6-3.6S13 5.8 13 7.8s1.2 3.6 2.6 3.6ZM12 12.4c-3.5 0-7.2 2.7-7.2 6.2 0 1.3 1 2.2 2.2 2.2 1.4 0 2.7-1 5-1s3.6 1 5 1c1.2 0 2.2-.9 2.2-2.2 0-3.5-3.7-6.2-7.2-6.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.4 11.4c1.4 0 2.6-1.6 2.6-3.6S9.8 4.2 8.4 4.2 5.8 5.8 5.8 7.8s1.2 3.6 2.6 3.6Zm7.2 0c1.4 0 2.6-1.6 2.6-3.6s-1.2-3.6-2.6-3.6S13 5.8 13 7.8s1.2 3.6 2.6 3.6ZM12 12.4c-3.5 0-7.2 2.7-7.2 6.2 0 1.3 1 2.2 2.2 2.2 1.4 0 2.7-1 5-1s3.6 1 5 1c1.2 0 2.2-.9 2.2-2.2 0-3.5-3.7-6.2-7.2-6.2Z'/%3E%3C/svg%3E");
}
body.o2-modern-ui .o2-module-nav a[data-module-code="CLINICAL"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4v7h7v4h-7v7h-4v-7H3v-4h7z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4v7h7v4h-7v7h-4v-7H3v-4h7z'/%3E%3C/svg%3E");
}
body.o2-modern-ui .o2-module-nav a[data-module-code="DOCUMENTS"]::before,
body.o2-modern-ui .o2-module-nav a[data-module-code="PRESCRIPTIONS"]::before,
body.o2-modern-ui .o2-module-nav a[data-module-code="BILLING"]::before,
body.o2-modern-ui .o2-module-nav a[data-module-code="INVENTORY"]::before,
body.o2-modern-ui .o2-module-nav a[data-module-code="OWNER_INVITATIONS"]::before,
body.o2-modern-ui .o2-module-nav a[data-module-code="ADMINISTRATION"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l3 3v15H6zM8 9h8V7h-5V5H8v4Zm0 4h8v-2H8v2Zm0 4h8v-2H8v2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l3 3v15H6zM8 9h8V7h-5V5H8v4Zm0 4h8v-2H8v2Zm0 4h8v-2H8v2Z'/%3E%3C/svg%3E");
}

body.o2-modern-ui .o2-module-nav a:hover,
body.o2-modern-ui .o2-module-nav a:focus-visible{
  background:rgba(255,255,255,.07);
  color:#fff;
  transform:translateX(1px);
  outline:none;
}

body.o2-modern-ui .o2-module-nav a:first-child{
  color:#fff;
  background:linear-gradient(90deg,rgba(217,103,17,.32),rgba(217,103,17,.12));
  box-shadow:inset 3px 0 0 var(--o2-orange-bright);
}

body.o2-modern-ui .o2-logout-button{
  margin-top:auto;
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.02);
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:.15s ease;
}

body.o2-modern-ui .o2-logout-button:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.32);
}

body.o2-modern-ui .o2-app-main{
  position:relative;
  min-width:0;
  padding:0;
  background:
    radial-gradient(circle at 81% 3%,rgba(255,138,23,.07),transparent 25%),
    linear-gradient(180deg,#fafafa 0%,#f5f6f7 100%);
}

body.o2-modern-ui .o2-home-hero{
  position:relative;
  min-height:238px;
  padding:58px 54px 34px;
  overflow:hidden;
  border-bottom:1px solid rgba(23,27,32,.045);
}

body.o2-modern-ui .o2-home-hero::before,
body.o2-modern-ui .o2-home-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
body.o2-modern-ui .o2-home-hero::before{
  width:420px;
  height:420px;
  right:-80px;
  top:-200px;
  border:52px solid rgba(255,138,23,.08);
}
body.o2-modern-ui .o2-home-hero::after{
  width:220px;
  height:220px;
  right:230px;
  top:-88px;
  background:rgba(217,103,17,.045);
}

body.o2-modern-ui .o2-hero-copy{
  position:relative;
  z-index:2;
  max-width:760px;
}

body.o2-modern-ui .o2-eyebrow{
  margin:0 0 10px;
  color:#858c95;
  font-size:11px;
  font-weight:850;
  letter-spacing:.15em;
}

body.o2-modern-ui .o2-welcome h1,
body.o2-modern-ui .o2-home-hero h1{
  margin:0;
  color:#14181d;
  font-size:clamp(38px,5vw,62px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:820;
}

body.o2-modern-ui #welcome-text{
  max-width:760px;
  margin:14px 0 0;
  color:#68717d;
  font-size:16px;
  line-height:1.6;
}

body.o2-modern-ui .o2-hero-art{
  position:absolute;
  right:58px;
  bottom:22px;
  width:255px;
  height:150px;
  opacity:.9;
  pointer-events:none;
}
body.o2-modern-ui .o2-hero-art::before{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:125px;
  height:125px;
  border-radius:50% 50% 46% 46%;
  background:linear-gradient(145deg,rgba(255,138,23,.17),rgba(217,103,17,.05));
  box-shadow:-96px 35px 0 -26px rgba(255,138,23,.09);
}
body.o2-modern-ui .o2-hero-art::after{
  content:"✚";
  position:absolute;
  right:156px;
  top:24px;
  color:rgba(217,103,17,.12);
  font-size:78px;
  line-height:1;
  font-weight:800;
}

body.o2-modern-ui .o2-home-workspaces{
  padding:28px 54px 28px;
}

body.o2-modern-ui .o2-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
body.o2-modern-ui .o2-section-heading h2{
  margin:0;
  font-size:20px;
  color:#20252b;
  letter-spacing:-.015em;
}
body.o2-modern-ui .o2-section-heading p{
  margin:0;
  color:#8a9199;
  font-size:13px;
}

body.o2-modern-ui .o2-module-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

body.o2-modern-ui .o2-module-card{
  position:relative;
  min-height:148px;
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 42px 18px 18px;
  border:1px solid rgba(24,29,34,.075);
  border-radius:17px;
  background:rgba(255,255,255,.96);
  color:#1b2026;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(23,27,32,.045);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  overflow:hidden;
}

body.o2-modern-ui .o2-module-card::after{
  content:"›";
  position:absolute;
  right:15px;
  top:17px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff6ee;
  color:var(--o2-orange);
  font-size:22px;
  line-height:1;
  font-weight:500;
}

body.o2-modern-ui .o2-module-card::before{
  content:"";
  position:absolute;
  right:-32px;
  bottom:-46px;
  width:112px;
  height:112px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,138,23,.08),transparent 68%);
}

body.o2-modern-ui .o2-module-card:hover{
  transform:translateY(-3px);
  border-color:rgba(217,103,17,.22);
  box-shadow:var(--o2-shadow-hover);
}

body.o2-modern-ui .o2-module-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,#fff5eb,#ffead8);
  color:var(--o2-orange);
  font-size:18px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(217,103,17,.04);
}

body.o2-modern-ui .o2-module-body{
  min-width:0;
  display:grid;
  gap:7px;
}

body.o2-modern-ui .o2-module-body strong{
  color:#171c22;
  font-size:15px;
  line-height:1.24;
  font-weight:790;
}

body.o2-modern-ui .o2-module-body small,
body.o2-modern-ui .o2-module-body span:not(.o2-module-icon){
  color:#727b86;
  font-size:12.5px;
  line-height:1.48;
}

body.o2-modern-ui .o2-app-status{
  min-height:18px;
  margin:14px 0 0;
  color:#9f3027;
  font-weight:700;
  font-size:13px;
}

body.o2-modern-ui .o2-brand-footer{
  margin:0 54px 28px;
  padding:18px 0 0;
  display:flex;
  align-items:center;
  gap:26px;
  border-top:1px solid rgba(24,29,34,.07);
}

body.o2-modern-ui .o2-brand-lockup{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
}
body.o2-modern-ui .o2-brand-lockup + .o2-brand-lockup{
  padding-left:26px;
  border-left:1px solid #dfe2e5;
}
body.o2-modern-ui .o2-brand-caption{
  display:grid;
  gap:4px;
  color:#8b929a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}
body.o2-modern-ui .o2-brand-lockup img{
  display:block;
  width:auto;
  object-fit:contain;
}
body.o2-modern-ui .o2-brand-lockup--licensed img{
  height:45px;
  max-width:190px;
}
body.o2-modern-ui .o2-brand-lockup--powered img{
  height:30px;
  max-width:112px;
}

body.o2-modern-ui #o2-home-language-control{
  top:26px!important;
  right:36px!important;
  z-index:12!important;
}
body.o2-modern-ui #o2-home-language-control .o2-home-language-label{
  color:#404750!important;
}
body.o2-modern-ui #o2-home-language-control .o2-home-language-select{
  min-width:128px!important;
  height:40px!important;
  border-color:#d9dde1!important;
  border-radius:11px!important;
  color:#20252b!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(20,24,28,.045)!important;
}

/* Login */
body.o2-login-body{
  min-height:100vh;
  background:#f3f4f5;
}

body.o2-login-body .o2-login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(360px,42%) minmax(0,1fr);
}

body.o2-login-body .o2-login-brand-panel{
  position:relative;
  overflow:hidden;
  padding:52px 54px 44px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    radial-gradient(circle at 72% 14%,rgba(255,138,23,.19),transparent 28%),
    linear-gradient(155deg,#20262d 0%,#14191e 75%);
  color:#fff;
}

body.o2-login-body .o2-login-brand-panel::before{
  content:"";
  position:absolute;
  width:450px;
  height:450px;
  right:-270px;
  bottom:-250px;
  border:64px solid rgba(255,138,23,.09);
  border-radius:50%;
}

body.o2-login-body .o2-login-main-logo{
  position:relative;
  z-index:2;
  width:145px;
  height:auto;
  max-height:132px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.16));
}

body.o2-login-body .o2-login-brand-copy{
  position:relative;
  z-index:2;
  max-width:520px;
  margin-top:auto;
  margin-bottom:auto;
}
body.o2-login-body .o2-login-brand-kicker{
  margin:0 0 13px;
  color:#f39a53;
  font-size:11px;
  font-weight:850;
  letter-spacing:.16em;
}
body.o2-login-body .o2-login-brand-copy h2{
  margin:0;
  max-width:520px;
  font-size:clamp(38px,4.2vw,64px);
  line-height:1.04;
  letter-spacing:-.035em;
  color:#fff;
}
body.o2-login-body .o2-login-brand-copy p{
  max-width:520px;
  margin:18px 0 0;
  color:rgba(255,255,255,.65);
  font-size:15px;
  line-height:1.65;
}

body.o2-login-body .o2-login-client-row{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:34px;
}
body.o2-login-body .o2-login-client-item{
  display:grid;
  gap:6px;
}
body.o2-login-body .o2-login-client-item + .o2-login-client-item{
  padding-left:24px;
  border-left:1px solid rgba(255,255,255,.13);
}
body.o2-login-body .o2-login-client-item span{
  color:rgba(255,255,255,.45);
  font-size:10px;
  font-weight:700;
}
body.o2-login-body .o2-login-client-item img{
  display:block;
  width:auto;
  object-fit:contain;
}
body.o2-login-body .o2-login-client-item--gc img{height:44px;max-width:180px}
body.o2-login-body .o2-login-client-item--omni img{height:30px;max-width:110px}

body.o2-login-body .o2-login-form-panel{
  position:relative;
  min-width:0;
  display:grid;
  place-items:center;
  padding:70px 8vw;
  background:
    radial-gradient(circle at 92% 4%,rgba(255,138,23,.075),transparent 20%),
    #f8f8f8;
}

body.o2-login-body .unified-login-card{
  width:min(470px,100%);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.o2-login-body .unified-brand{
  display:block;
  margin:0 0 32px;
}
body.o2-login-body .unified-brand img{display:none!important}
body.o2-login-body .unified-brand h1{
  margin:0 0 8px;
  color:#171b20;
  font-size:42px;
  line-height:1.04;
  letter-spacing:-.03em;
}
body.o2-login-body .unified-brand p{
  margin:0;
  color:#777f89;
  font-size:15px;
}
body.o2-login-body .o2-login-form-kicker{
  margin:0 0 10px;
  color:#8c939b;
  font-size:11px;
  font-weight:850;
  letter-spacing:.14em;
}

body.o2-login-body #unified-login-form{
  gap:16px;
}
body.o2-login-body #unified-login-form label{
  gap:7px;
  color:#333a42;
  font-size:13px;
  font-weight:720;
}
body.o2-login-body #unified-login-form input{
  height:48px;
  padding:12px 14px;
  border:1px solid #d9dde2;
  border-radius:11px;
  background:#fff;
  color:#171b20;
  box-shadow:0 2px 8px rgba(19,23,28,.025);
}
body.o2-login-body #unified-login-form input:focus{
  outline:3px solid rgba(217,103,17,.13);
  border-color:var(--o2-orange);
}
body.o2-login-body #unified-login-button{
  min-height:50px;
  margin-top:3px;
  padding:13px 18px;
  border-radius:11px;
  background:linear-gradient(135deg,#d45f0c,#e87920);
  color:#fff;
  box-shadow:0 9px 20px rgba(217,103,17,.2);
  font-size:14px;
  font-weight:780;
}
body.o2-login-body #unified-login-button:hover:not(:disabled){
  filter:brightness(1.035);
  transform:translateY(-1px);
}
body.o2-login-body .login-note{
  margin-top:18px;
  color:#8a9199;
  font-size:12.5px;
}
body.o2-login-body #unified-login-status{
  min-height:22px;
  margin-top:13px;
  font-size:13px;
}

body.o2-login-body #o2-language-switcher{
  position:fixed!important;
  top:24px!important;
  right:28px!important;
  bottom:auto!important;
  z-index:50!important;
  padding:0!important;
  gap:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#3b424a!important;
}
body.o2-login-body #o2-language-switcher select{
  min-width:118px!important;
  height:39px!important;
  padding:5px 28px 5px 10px!important;
  border:1px solid #d9dde2!important;
  border-radius:10px!important;
  color:#242a31!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(19,23,28,.045)!important;
}

@media(max-width:1500px){
  body.o2-modern-ui .o2-module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1180px){
  body.o2-modern-ui .o2-app-shell{grid-template-columns:250px minmax(0,1fr)}
  body.o2-modern-ui .o2-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.o2-modern-ui .o2-home-hero,
  body.o2-modern-ui .o2-home-workspaces{padding-left:34px;padding-right:34px}
  body.o2-modern-ui .o2-brand-footer{margin-left:34px;margin-right:34px}
  body.o2-login-body .o2-login-shell{grid-template-columns:38% 1fr}
  body.o2-login-body .o2-login-brand-panel{padding:42px 36px}
}
@media(max-width:900px){
  body.o2-modern-ui .o2-app-shell{grid-template-columns:1fr}
  body.o2-modern-ui .o2-sidebar{
    position:relative;
    height:auto;
    min-height:auto;
    padding:15px;
  }
  body.o2-modern-ui .o2-sidebar-brand{min-height:64px}
  body.o2-modern-ui .o2-sidebar-brand img{width:78px;max-height:62px}
  body.o2-modern-ui .o2-module-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.o2-modern-ui .o2-logout-button{margin-top:4px}
  body.o2-modern-ui .o2-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.o2-modern-ui .o2-home-hero{padding-top:86px}
  body.o2-modern-ui .o2-hero-art{display:none}
  body.o2-login-body .o2-login-shell{grid-template-columns:1fr}
  body.o2-login-body .o2-login-brand-panel{
    min-height:330px;
    padding:32px 28px;
  }
  body.o2-login-body .o2-login-brand-copy{margin:36px 0}
  body.o2-login-body .o2-login-brand-copy h2{font-size:40px}
  body.o2-login-body .o2-login-form-panel{padding:62px 28px}
}
@media(max-width:620px){
  body.o2-modern-ui .o2-module-grid{grid-template-columns:1fr}
  body.o2-modern-ui .o2-module-nav{grid-template-columns:1fr}
  body.o2-modern-ui .o2-home-hero,
  body.o2-modern-ui .o2-home-workspaces{padding-left:20px;padding-right:20px}
  body.o2-modern-ui .o2-brand-footer{
    margin-left:20px;margin-right:20px;
    flex-direction:column;align-items:flex-start;gap:12px
  }
  body.o2-modern-ui .o2-brand-lockup + .o2-brand-lockup{
    padding-left:0;border-left:0
  }
  body.o2-modern-ui #o2-home-language-control{
    top:22px!important;right:20px!important
  }
  body.o2-login-body .o2-login-client-row{
    flex-direction:column;align-items:flex-start;gap:14px
  }
  body.o2-login-body .o2-login-client-item + .o2-login-client-item{
    padding-left:0;border-left:0
  }
}
/* === O2 VET UI REDESIGN 2026 PHASE 1B 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 === */

/* === O2 VET UI REDESIGN 2026 PHASE 1D - REFERENCE MATCH === */

/* Core palette tuned to the approved dog/cat reference */
:root{
  --o2-charcoal:#171b20!important;
  --o2-charcoal-2:#20262d!important;
  --o2-orange:#e66a0a!important;
  --o2-orange-hot:#ff7a00!important;
  --o2-orange-soft:#fff0df!important;
  --o2-canvas:#f8f8f7!important;
  --o2-ink:#14181d!important;
  --o2-muted:#6f7783!important;
}

/* Sidebar: more like the approved reference */
body.o2-modern-ui .o2-app-shell{
  grid-template-columns:286px minmax(0,1fr)!important;
}

body.o2-modern-ui .o2-sidebar{
  padding:20px 16px 18px!important;
  background:
    radial-gradient(circle at 72% 5%,rgba(230,106,10,.10),transparent 27%),
    linear-gradient(180deg,#1a1f25 0%,#12171c 100%)!important;
  gap:16px!important;
}

body.o2-modern-ui .o2-sidebar-brand{
  min-height:104px!important;
  justify-content:center!important;
  padding:0 0 8px!important;
}

body.o2-modern-ui .o2-sidebar-brand img{
  width:104px!important;
  max-width:104px!important;
  max-height:98px!important;
  height:auto!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))!important;
}

/* Stronger account card */
body.o2-modern-ui .o2-user-block{
  min-height:74px!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.045))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

body.o2-modern-ui .o2-user-avatar{
  width:44px!important;
  height:44px!important;
  flex-basis:44px!important;
  background:linear-gradient(145deg,#b64d06,#f57918)!important;
  box-shadow:0 8px 18px rgba(230,106,10,.28)!important;
}

/* Navigation icons and active orange state */
body.o2-modern-ui .o2-module-nav{
  gap:5px!important;
}

body.o2-modern-ui .o2-module-nav a{
  min-height:48px!important;
  padding:12px 12px 12px 50px!important;
  border-radius:11px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:14px!important;
  font-weight:620!important;
}

body.o2-modern-ui .o2-module-nav a::before{
  left:16px!important;
  width:20px!important;
  height:20px!important;
}

body.o2-modern-ui .o2-module-nav a:first-child{
  background:linear-gradient(90deg,rgba(230,106,10,.42),rgba(230,106,10,.17))!important;
  box-shadow:
    inset 4px 0 0 var(--o2-orange-hot),
    0 8px 18px rgba(0,0,0,.10)!important;
  color:#fff!important;
}

body.o2-modern-ui .o2-module-nav a:first-child::before{
  color:#ff8a1c!important;
}

/* Main workspace */
body.o2-modern-ui .o2-app-main{
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,#fbfaf8 0,#f8f8f7 56%,#f4f5f5 100%)!important;
}

/* Hero matched to approved reference */
body.o2-modern-ui .o2-home-hero{
  min-height:294px!important;
  padding:70px 54px 34px!important;
  display:flex!important;
  align-items:flex-start!important;
  border-bottom:0!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 86% 14%,rgba(255,122,0,.055),transparent 24%),
    linear-gradient(90deg,#fbfbfa 0%,#fbfaf8 54%,#fff7ee 100%)!important;
}

body.o2-modern-ui .o2-home-hero::before,
body.o2-modern-ui .o2-home-hero::after{
  display:none!important;
}

body.o2-modern-ui .o2-hero-copy{
  z-index:4!important;
  max-width:720px!important;
}

body.o2-modern-ui .o2-eyebrow{
  margin-bottom:9px!important;
  color:#737d8b!important;
  font-size:12px!important;
  letter-spacing:.14em!important;
}

body.o2-modern-ui .o2-home-hero h1{
  font-size:clamp(48px,5.4vw,70px)!important;
  line-height:.98!important;
  letter-spacing:-.047em!important;
  font-weight:850!important;
  color:#15191e!important;
}

body.o2-modern-ui #welcome-text{
  max-width:690px!important;
  margin-top:17px!important;
  color:#6d7580!important;
  font-size:16px!important;
  line-height:1.55!important;
}

/* Real dog + cat artwork derived from approved reference */
body.o2-modern-ui .o2-hero-art{
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  right:32px!important;
  bottom:0!important;
  width:min(48vw,620px)!important;
  height:292px!important;
  opacity:1!important;
  pointer-events:none!important;
}

body.o2-modern-ui .o2-hero-art::before,
body.o2-modern-ui .o2-hero-art::after{
  display:none!important;
}

body.o2-modern-ui .o2-hero-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center bottom!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  mix-blend-mode:normal!important;
}

/* Language control aligned like approved reference */
body.o2-modern-ui #o2-home-language-control{
  top:24px!important;
  right:28px!important;
  z-index:12!important;
}
body.o2-modern-ui #o2-home-language-control .o2-home-language-label{
  font-size:13px!important;
  color:#343a42!important;
}
body.o2-modern-ui #o2-home-language-control .o2-home-language-select{
  min-width:140px!important;
  height:45px!important;
  border:0!important;
  border-radius:12px!important;
  padding:7px 36px 7px 14px!important;
  box-shadow:0 7px 22px rgba(20,24,28,.07)!important;
  font-size:14px!important;
}

/* Remove the extra Workspaces heading visual weight; cards become the hero continuation */
body.o2-modern-ui .o2-home-workspaces{
  padding:0 36px 24px!important;
  margin-top:-2px!important;
  position:relative!important;
  z-index:5!important;
}

body.o2-modern-ui .o2-section-heading{
  display:none!important;
}

/*
 * Exact reference card rhythm:
 * 3 cards + 3 cards + 4 cards.
 * 12-column grid lets first six span 4 columns and final four span 3.
 */
body.o2-modern-ui .o2-module-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:16px!important;
}

body.o2-modern-ui .o2-module-card{
  grid-column:span 4!important;
  min-height:170px!important;
  padding:20px 54px 20px 20px!important;
  gap:18px!important;
  border:1px solid rgba(23,27,32,.06)!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 92% 92%,rgba(255,122,0,.055),transparent 25%),
    rgba(255,255,255,.98)!important;
  box-shadow:0 10px 28px rgba(20,24,28,.065)!important;
}

body.o2-modern-ui .o2-module-card:nth-child(n+7){
  grid-column:span 3!important;
  min-height:148px!important;
}

body.o2-modern-ui .o2-module-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(230,106,10,.24)!important;
  box-shadow:0 18px 38px rgba(20,24,28,.11)!important;
}

/* Larger, punchier orange module icons */
body.o2-modern-ui .o2-module-icon{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#fff1e3,#ffe7cf)!important;
  color:var(--o2-orange-hot)!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:
    inset 0 0 0 1px rgba(230,106,10,.055),
    0 5px 12px rgba(230,106,10,.045)!important;
}

body.o2-modern-ui .o2-module-body{
  gap:8px!important;
  padding-top:3px!important;
}

body.o2-modern-ui .o2-module-body strong{
  font-size:17px!important;
  font-weight:820!important;
  line-height:1.18!important;
  color:#171b20!important;
}

body.o2-modern-ui .o2-module-body small,
body.o2-modern-ui .o2-module-body span:not(.o2-module-icon){
  max-width:250px!important;
  font-size:13.5px!important;
  line-height:1.5!important;
  color:#727a86!important;
}

/* Larger arrow pill */
body.o2-modern-ui .o2-module-card::after{
  right:16px!important;
  top:18px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#fff2e4!important;
  color:var(--o2-orange-hot)!important;
  font-size:25px!important;
  font-weight:500!important;
}

/* Faint decorative orange form at lower-right of cards */
body.o2-modern-ui .o2-module-card::before{
  display:block!important;
  right:-12px!important;
  bottom:-22px!important;
  width:108px!important;
  height:82px!important;
  border-radius:58% 42% 0 0!important;
  background:
    radial-gradient(circle at 35% 40%,rgba(255,122,0,.12) 0 13%,transparent 14%),
    radial-gradient(circle at 70% 30%,rgba(255,122,0,.08) 0 13%,transparent 14%),
    linear-gradient(145deg,transparent 28%,rgba(255,122,0,.075) 30%,rgba(255,122,0,.02) 70%,transparent 72%)!important;
  opacity:1!important;
}

/* Footer closer to reference */
body.o2-modern-ui .o2-brand-footer{
  position:relative!important;
  z-index:4!important;
  margin:2px 36px 0!important;
  padding:18px 6px 28px!important;
  gap:30px!important;
  border-top:1px solid rgba(23,27,32,.07)!important;
}

body.o2-modern-ui .o2-brand-lockup--licensed img{
  height:54px!important;
  max-width:220px!important;
}
body.o2-modern-ui .o2-brand-lockup--powered img{
  height:37px!important;
  max-width:130px!important;
}

/* Bottom orange sweep from reference */
body.o2-modern-ui .o2-app-main::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  right:-110px!important;
  bottom:-126px!important;
  width:720px!important;
  height:230px!important;
  border-radius:50% 0 0 0!important;
  background:
    radial-gradient(ellipse at 100% 100%,rgba(255,122,0,.22) 0 30%,rgba(255,122,0,.08) 31% 55%,transparent 56%)!important;
  pointer-events:none!important;
}

/* Corrected exact logo: white Vet stays visible on dark surfaces */
body.o2-modern-ui .o2-sidebar-brand img,
body.o2-login-body .o2-login-main-logo{
  content:url("/static/unified_portal/o2vet-ui-logo.png?v=UI2026P1D")!important;
}

.o2-exact-global-logo{
  content:url("/static/unified_portal/o2vet-ui-logo.png?v=UI2026P1D")!important;
  height:56px!important;
  max-width:92px!important;
}

/* Give the exact white-Vet logo a dark home if it ever appears on a light header. */
a.o2-exact-logo-fallback{
  padding:6px 9px!important;
  border-radius:12px!important;
  background:#171b20!important;
}

/* Login keeps the same Phase 1B composition but uses the repaired exact logo. */
body.o2-login-body .o2-login-brand-panel > .o2-login-main-logo{
  width:150px!important;
  max-width:150px!important;
  max-height:142px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Responsive behavior */
@media(max-width:1450px){
  body.o2-modern-ui .o2-module-card{
    grid-column:span 6!important;
  }
  body.o2-modern-ui .o2-module-card:nth-child(n+7){
    grid-column:span 6!important;
  }
}

@media(max-width:1080px){
  body.o2-modern-ui .o2-app-shell{
    grid-template-columns:244px minmax(0,1fr)!important;
  }
  body.o2-modern-ui .o2-home-hero{
    min-height:270px!important;
    padding-left:34px!important;
    padding-right:34px!important;
  }
  body.o2-modern-ui .o2-hero-art{
    right:0!important;
    width:52vw!important;
    opacity:.84!important;
  }
  body.o2-modern-ui .o2-home-workspaces{
    padding-left:28px!important;
    padding-right:28px!important;
  }
}

@media(max-width:900px){
  body.o2-modern-ui .o2-app-shell{
    grid-template-columns:1fr!important;
  }
  body.o2-modern-ui .o2-sidebar{
    position:relative!important;
    height:auto!important;
    min-height:auto!important;
  }
  body.o2-modern-ui .o2-home-hero{
    min-height:250px!important;
    padding-top:84px!important;
  }
  body.o2-modern-ui .o2-hero-art{
    opacity:.28!important;
    width:70vw!important;
  }
  body.o2-modern-ui .o2-module-card,
  body.o2-modern-ui .o2-module-card:nth-child(n+7){
    grid-column:span 6!important;
  }
}

@media(max-width:620px){
  body.o2-modern-ui .o2-module-card,
  body.o2-modern-ui .o2-module-card:nth-child(n+7){
    grid-column:span 12!important;
    min-height:150px!important;
  }
  body.o2-modern-ui .o2-module-icon{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
    font-size:25px!important;
  }
}
/* === O2 VET UI REDESIGN 2026 PHASE 1D - REFERENCE MATCH END === */

/* === O2 VET UI REDESIGN 2026 PHASE 1E - VIEWPORT + ICON MATCH === */

/*
 * Goal: make the Home page behave like the approved reference:
 * - one desktop viewport, no vertical scrolling
 * - 3 / 3 / 4 module card rhythm
 * - larger orange module icons
 * - distinct iconography per module
 * - dog/cat hero stays on the right and never covers the welcome text
 */

@media (min-width:901px){
  html,
  body.o2-modern-ui{
    height:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-app-shell{
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-sidebar{
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:16px 16px 14px!important;
    gap:12px!important;
  }

  body.o2-modern-ui .o2-sidebar-brand{
    min-height:84px!important;
    height:84px!important;
    padding:0!important;
  }

  body.o2-modern-ui .o2-sidebar-brand img{
    width:94px!important;
    max-width:94px!important;
    max-height:82px!important;
  }

  body.o2-modern-ui .o2-user-block{
    min-height:66px!important;
    padding:10px 12px!important;
  }

  body.o2-modern-ui .o2-module-nav{
    gap:3px!important;
  }

  body.o2-modern-ui .o2-module-nav a{
    min-height:42px!important;
    height:42px!important;
    padding:9px 10px 9px 46px!important;
    font-size:13.5px!important;
  }

  body.o2-modern-ui .o2-module-nav a::before{
    left:15px!important;
    width:19px!important;
    height:19px!important;
  }

  body.o2-modern-ui .o2-logout-button{
    min-height:42px!important;
    height:42px!important;
    padding:8px 12px!important;
  }

  body.o2-modern-ui .o2-app-main{
    height:100dvh!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:clamp(208px,24vh,270px) minmax(0,1fr) 78px!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-home-hero{
    min-height:0!important;
    height:100%!important;
    padding:clamp(42px,5.2vh,62px) 48px 20px!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-hero-copy{
    position:relative!important;
    z-index:5!important;
    width:50%!important;
    max-width:50%!important;
  }

  body.o2-modern-ui .o2-home-hero h1{
    font-size:clamp(44px,4.4vw,66px)!important;
    line-height:.99!important;
  }

  body.o2-modern-ui #welcome-text{
    max-width:620px!important;
    margin-top:13px!important;
    font-size:15px!important;
    line-height:1.45!important;
  }

  /* Reserve the right half for the pet artwork. */
  body.o2-modern-ui .o2-hero-art{
    position:absolute!important;
    z-index:2!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:48%!important;
    height:100%!important;
    overflow:hidden!important;
    opacity:1!important;
  }

  body.o2-modern-ui .o2-hero-art img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center bottom!important;
  }

  body.o2-modern-ui .o2-home-workspaces{
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    padding:12px 34px 8px!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-module-grid{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:12px 14px!important;
    align-content:stretch!important;
  }

  body.o2-modern-ui .o2-module-card{
    grid-column:span 4!important;
    min-height:0!important;
    height:100%!important;
    padding:15px 48px 14px 16px!important;
    gap:14px!important;
    border-radius:15px!important;
  }

  body.o2-modern-ui .o2-module-card:nth-child(n+7){
    grid-column:span 3!important;
    min-height:0!important;
  }

  body.o2-modern-ui .o2-module-icon{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
    border-radius:14px!important;
    font-size:0!important;
  }

  body.o2-modern-ui .o2-module-body{
    gap:5px!important;
    padding-top:2px!important;
    min-width:0!important;
  }

  body.o2-modern-ui .o2-module-body strong{
    font-size:15.5px!important;
    line-height:1.17!important;
  }

  body.o2-modern-ui .o2-module-body small{
    font-size:12.2px!important;
    line-height:1.38!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:4!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-module-card::after{
    width:30px!important;
    height:30px!important;
    right:13px!important;
    top:14px!important;
    font-size:22px!important;
  }

  body.o2-modern-ui .o2-brand-footer{
    min-height:0!important;
    height:78px!important;
    margin:0 34px!important;
    padding:9px 4px 10px!important;
    align-self:stretch!important;
    overflow:hidden!important;
  }

  body.o2-modern-ui .o2-brand-lockup{
    min-height:48px!important;
  }

  body.o2-modern-ui .o2-brand-lockup--licensed img{
    height:46px!important;
    max-width:194px!important;
  }

  body.o2-modern-ui .o2-brand-lockup--powered img{
    height:31px!important;
    max-width:112px!important;
  }

  body.o2-modern-ui .o2-brand-caption{
    font-size:9px!important;
  }
}

/* === Distinct large module-card icons === */
body.o2-modern-ui .o2-module-icon{
  position:relative!important;
  overflow:hidden!important;
}

body.o2-modern-ui .o2-module-icon::before{
  content:""!important;
  display:block!important;
  width:32px!important;
  height:32px!important;
  background:var(--o2-orange-hot)!important;
  -webkit-mask:center/contain no-repeat!important;
  mask:center/contain no-repeat!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="DASHBOARD"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.8 12 3l9 7.8V21h-6.2v-6.2H9.2V21H3V10.8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.8 12 3l9 7.8V21h-6.2v-6.2H9.2V21H3V10.8Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="APPOINTMENTS"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h2v3h8V2h2v3h3v17H3V5h3V2Zm13 8H5v10h14V10Zm-2 2v2h-4v4h-2v-4H7v-2h4V8h2v4h4Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h2v3h8V2h2v3h3v17H3V5h3V2Zm13 8H5v10h14V10Zm-2 2v2h-4v4h-2v-4H7v-2h4V8h2v4h4Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="CLIENTS_PATIENTS"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.3 10.5c1.4 0 2.5-1.6 2.5-3.5S8.7 3.5 7.3 3.5 4.8 5.1 4.8 7s1.1 3.5 2.5 3.5Zm9.4 0c1.4 0 2.5-1.6 2.5-3.5s-1.1-3.5-2.5-3.5-2.5 1.6-2.5 3.5 1.1 3.5 2.5 3.5ZM12 11.4c-3.8 0-7.8 2.9-7.8 6.6 0 1.5 1.1 2.5 2.5 2.5 1.6 0 2.9-1.2 5.3-1.2s3.7 1.2 5.3 1.2c1.4 0 2.5-1 2.5-2.5 0-3.7-4-6.6-7.8-6.6Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.3 10.5c1.4 0 2.5-1.6 2.5-3.5S8.7 3.5 7.3 3.5 4.8 5.1 4.8 7s1.1 3.5 2.5 3.5Zm9.4 0c1.4 0 2.5-1.6 2.5-3.5s-1.1-3.5-2.5-3.5-2.5 1.6-2.5 3.5 1.1 3.5 2.5 3.5ZM12 11.4c-3.8 0-7.8 2.9-7.8 6.6 0 1.5 1.1 2.5 2.5 2.5 1.6 0 2.9-1.2 5.3-1.2s3.7 1.2 5.3 1.2c1.4 0 2.5-1 2.5-2.5 0-3.7-4-6.6-7.8-6.6Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="CLINICAL"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6V3Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6V3Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="DOCUMENTS"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l4 4v16H6V2Zm8 2v4h4M8.5 11h8v2h-8v-2Zm0 4h8v2h-8v-2Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l4 4v16H6V2Zm8 2v4h4M8.5 11h8v2h-8v-2Zm0 4h8v2h-8v-2Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="PRESCRIPTIONS"] .o2-module-icon::before{
  content:"Rx"!important;
  width:auto!important;
  height:auto!important;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  color:var(--o2-orange-hot)!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:900!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="BILLING"] .o2-module-icon::before{
  content:"$"!important;
  width:auto!important;
  height:auto!important;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  color:var(--o2-orange-hot)!important;
  font-size:31px!important;
  line-height:1!important;
  font-weight:900!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="INVENTORY"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7.8 12 11.3l6.4-3.5L12 4.3ZM5 9.5v6.3l6 3.3v-6.3L5 9.5Zm8 9.6 6-3.3V9.5l-6 3.3v6.3Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7.8 12 11.3l6.4-3.5L12 4.3ZM5 9.5v6.3l6 3.3v-6.3L5 9.5Zm8 9.6 6-3.3V9.5l-6 3.3v6.3Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="OWNER_INVITATIONS"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2 20c0-3.6 2.9-6.5 6.5-6.5S15 16.4 15 20v1H2v-1Zm13.5-6.5c3.6 0 6.5 2.9 6.5 6.5v1h-5v-1c0-2.2-.8-4.2-2.2-5.7.2-.5.4-.8.7-.8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2 20c0-3.6 2.9-6.5 6.5-6.5S15 16.4 15 20v1H2v-1Zm13.5-6.5c3.6 0 6.5 2.9 6.5 6.5v1h-5v-1c0-2.2-.8-4.2-2.2-5.7.2-.5.4-.8.7-.8Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="ADMINISTRATION"] .o2-module-icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m14.8 2 .5 2.2c.5.2 1 .4 1.5.7l2-1.1 2.1 2.1-1.1 2c.3.5.5 1 .7 1.5l2.2.5v3l-2.2.5c-.2.5-.4 1-.7 1.5l1.1 2-2.1 2.1-2-1.1c-.5.3-1 .5-1.5.7l-.5 2.2h-3l-.5-2.2c-.5-.2-1-.4-1.5-.7l-2 1.1-2.1-2.1 1.1-2c-.3-.5-.5-1-.7-1.5L3.6 13v-3l2.2-.5c.2-.5.4-1 .7-1.5l-1.1-2 2.1-2.1 2 1.1c.5-.3 1-.5 1.5-.7L11.5 2h3.3ZM13.2 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m14.8 2 .5 2.2c.5.2 1 .4 1.5.7l2-1.1 2.1 2.1-1.1 2c.3.5.5 1 .7 1.5l2.2.5v3l-2.2.5c-.2.5-.4 1-.7 1.5l1.1 2-2.1 2.1-2-1.1c-.5.3-1 .5-1.5.7l-.5 2.2h-3l-.5-2.2c-.5-.2-1-.4-1.5-.7l-2 1.1-2.1-2.1 1.1-2c-.3-.5-.5-1-.7-1.5L3.6 13v-3l2.2-.5c.2-.5.4-1 .7-1.5l-1.1-2 2.1-2.1 2 1.1c.5-.3 1-.5 1.5-.7L11.5 2h3.3ZM13.2 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'/%3E%3C/svg%3E")!important;
}

/* === Faint reference-style illustration in lower-right of each card === */
body.o2-modern-ui .o2-module-card::before{
  content:""!important;
  position:absolute!important;
  right:14px!important;
  bottom:10px!important;
  width:76px!important;
  height:76px!important;
  background:rgba(255,122,0,.105)!important;
  opacity:1!important;
  -webkit-mask:center/contain no-repeat!important;
  mask:center/contain no-repeat!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="DASHBOARD"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h3V9H4v11Zm6 0h3V4h-3v16Zm6 0h3V12h-3v8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h3V9H4v11Zm6 0h3V4h-3v16Zm6 0h3V12h-3v8Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="APPOINTMENTS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm11 8H6v10h12V10Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm11 8H6v10h12V10Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="CLIENTS_PATIENTS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.3 10.5c1.4 0 2.5-1.6 2.5-3.5S8.7 3.5 7.3 3.5 4.8 5.1 4.8 7s1.1 3.5 2.5 3.5Zm9.4 0c1.4 0 2.5-1.6 2.5-3.5s-1.1-3.5-2.5-3.5-2.5 1.6-2.5 3.5 1.1 3.5 2.5 3.5ZM12 11.4c-3.8 0-7.8 2.9-7.8 6.6 0 1.5 1.1 2.5 2.5 2.5 1.6 0 2.9-1.2 5.3-1.2s3.7 1.2 5.3 1.2c1.4 0 2.5-1 2.5-2.5 0-3.7-4-6.6-7.8-6.6Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.3 10.5c1.4 0 2.5-1.6 2.5-3.5S8.7 3.5 7.3 3.5 4.8 5.1 4.8 7s1.1 3.5 2.5 3.5Zm9.4 0c1.4 0 2.5-1.6 2.5-3.5s-1.1-3.5-2.5-3.5-2.5 1.6-2.5 3.5 1.1 3.5 2.5 3.5ZM12 11.4c-3.8 0-7.8 2.9-7.8 6.6 0 1.5 1.1 2.5 2.5 2.5 1.6 0 2.9-1.2 5.3-1.2s3.7 1.2 5.3 1.2c1.4 0 2.5-1 2.5-2.5 0-3.7-4-6.6-7.8-6.6Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="CLINICAL"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13h5l2-6 4 12 2-6h7v2h-5.6L13 23 9 11l-.8 4H2v-2Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13h5l2-6 4 12 2-6h7v2h-5.6L13 23 9 11l-.8 4H2v-2Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="DOCUMENTS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l4 4v16H6V2Zm8 2v4h4M8.5 11h8v2h-8v-2Zm0 4h8v2h-8v-2Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l4 4v16H6V2Zm8 2v4h4M8.5 11h8v2h-8v-2Zm0 4h8v2h-8v-2Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="PRESCRIPTIONS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 3.2a5 5 0 0 1 7.1 0l5.5 5.5a5 5 0 0 1-7.1 7.1l-5.5-5.5a5 5 0 0 1 0-7.1Zm1.4 1.4a3 3 0 0 0 0 4.3l2 2 4.3-4.3-2-2a3 3 0 0 0-4.3 0Zm3.4 7.7 2 2a3 3 0 0 0 4.3-4.3l-2-2-4.3 4.3Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 3.2a5 5 0 0 1 7.1 0l5.5 5.5a5 5 0 0 1-7.1 7.1l-5.5-5.5a5 5 0 0 1 0-7.1Zm1.4 1.4a3 3 0 0 0 0 4.3l2 2 4.3-4.3-2-2a3 3 0 0 0-4.3 0Zm3.4 7.7 2 2a3 3 0 0 0 4.3-4.3l-2-2-4.3 4.3Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="BILLING"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12v20l-2-1-2 1-2-1-2 1-2-1-2 1V2Zm3 5v2h6V7H9Zm0 4v2h6v-2H9Zm0 4v2h4v-2H9Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12v20l-2-1-2 1-2-1-2 1-2-1-2 1V2Zm3 5v2h6V7H9Zm0 4v2h6v-2H9Zm0 4v2h4v-2H9Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="INVENTORY"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7.8 12 11.3l6.4-3.5L12 4.3ZM5 9.5v6.3l6 3.3v-6.3L5 9.5Zm8 9.6 6-3.3V9.5l-6 3.3v6.3Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7.8 12 11.3l6.4-3.5L12 4.3ZM5 9.5v6.3l6 3.3v-6.3L5 9.5Zm8 9.6 6-3.3V9.5l-6 3.3v6.3Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="OWNER_INVITATIONS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2 20c0-3.6 2.9-6.5 6.5-6.5S15 16.4 15 20v1H2v-1Zm13.5-6.5c3.6 0 6.5 2.9 6.5 6.5v1h-5v-1c0-2.2-.8-4.2-2.2-5.7.2-.5.4-.8.7-.8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2 20c0-3.6 2.9-6.5 6.5-6.5S15 16.4 15 20v1H2v-1Zm13.5-6.5c3.6 0 6.5 2.9 6.5 6.5v1h-5v-1c0-2.2-.8-4.2-2.2-5.7.2-.5.4-.8.7-.8Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-card[data-module-code="ADMINISTRATION"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m14.8 2 .5 2.2c.5.2 1 .4 1.5.7l2-1.1 2.1 2.1-1.1 2c.3.5.5 1 .7 1.5l2.2.5v3l-2.2.5c-.2.5-.4 1-.7 1.5l1.1 2-2.1 2.1-2-1.1c-.5.3-1 .5-1.5.7l-.5 2.2h-3l-.5-2.2c-.5-.2-1-.4-1.5-.7l-2 1.1-2.1-2.1 1.1-2c-.3-.5-.5-1-.7-1.5L3.6 13v-3l2.2-.5c.2-.5.4-1 .7-1.5l-1.1-2 2.1-2.1 2 1.1c.5-.3 1-.5 1.5-.7L11.5 2h3.3ZM13.2 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m14.8 2 .5 2.2c.5.2 1 .4 1.5.7l2-1.1 2.1 2.1-1.1 2c.3.5.5 1 .7 1.5l2.2.5v3l-2.2.5c-.2.5-.4 1-.7 1.5l1.1 2-2.1 2.1-2-1.1c-.5.3-1 .5-1.5.7l-.5 2.2h-3l-.5-2.2c-.5-.2-1-.4-1.5-.7l-2 1.1-2.1-2.1 1.1-2c-.3-.5-.5-1-.7-1.5L3.6 13v-3l2.2-.5c.2-.5.4-1 .7-1.5l-1.1-2 2.1-2.1 2 1.1c.5-.3 1-.5 1.5-.7L11.5 2h3.3ZM13.2 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'/%3E%3C/svg%3E")!important;
}

/* Distinct sidebar navigation icons */
body.o2-modern-ui .o2-module-nav a::before{
  background-color:currentColor!important;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="DOCUMENTS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l4 4v16H6V2Zm8 2v4h4M8.5 11h8v2h-8v-2Zm0 4h8v2h-8v-2Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l4 4v16H6V2Zm8 2v4h4M8.5 11h8v2h-8v-2Zm0 4h8v2h-8v-2Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="PRESCRIPTIONS"]::before{
  content:"Rx"!important;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:19px!important;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="BILLING"]::before{
  content:"$"!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:currentColor!important;
  color:#171b20!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:19px!important;
  -webkit-mask:none!important;
  mask:none!important;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="INVENTORY"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7.8 12 11.3l6.4-3.5L12 4.3ZM5 9.5v6.3l6 3.3v-6.3L5 9.5Zm8 9.6 6-3.3V9.5l-6 3.3v6.3Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7.8 12 11.3l6.4-3.5L12 4.3ZM5 9.5v6.3l6 3.3v-6.3L5 9.5Zm8 9.6 6-3.3V9.5l-6 3.3v6.3Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="OWNER_INVITATIONS"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2 20c0-3.6 2.9-6.5 6.5-6.5S15 16.4 15 20v1H2v-1Zm13.5-6.5c3.6 0 6.5 2.9 6.5 6.5v1h-5v-1c0-2.2-.8-4.2-2.2-5.7.2-.5.4-.8.7-.8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2 20c0-3.6 2.9-6.5 6.5-6.5S15 16.4 15 20v1H2v-1Zm13.5-6.5c3.6 0 6.5 2.9 6.5 6.5v1h-5v-1c0-2.2-.8-4.2-2.2-5.7.2-.5.4-.8.7-.8Z'/%3E%3C/svg%3E")!important;
}

body.o2-modern-ui .o2-module-nav a[data-module-code="ADMINISTRATION"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m14.8 2 .5 2.2c.5.2 1 .4 1.5.7l2-1.1 2.1 2.1-1.1 2c.3.5.5 1 .7 1.5l2.2.5v3l-2.2.5c-.2.5-.4 1-.7 1.5l1.1 2-2.1 2.1-2-1.1c-.5.3-1 .5-1.5.7l-.5 2.2h-3l-.5-2.2c-.5-.2-1-.4-1.5-.7l-2 1.1-2.1-2.1 1.1-2c-.3-.5-.5-1-.7-1.5L3.6 13v-3l2.2-.5c.2-.5.4-1 .7-1.5l-1.1-2 2.1-2.1 2 1.1c.5-.3 1-.5 1.5-.7L11.5 2h3.3ZM13.2 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m14.8 2 .5 2.2c.5.2 1 .4 1.5.7l2-1.1 2.1 2.1-1.1 2c.3.5.5 1 .7 1.5l2.2.5v3l-2.2.5c-.2.5-.4 1-.7 1.5l1.1 2-2.1 2.1-2-1.1c-.5.3-1 .5-1.5.7l-.5 2.2h-3l-.5-2.2c-.5-.2-1-.4-1.5-.7l-2 1.1-2.1-2.1 1.1-2c-.3-.5-.5-1-.7-1.5L3.6 13v-3l2.2-.5c.2-.5.4-1 .7-1.5l-1.1-2 2.1-2.1 2 1.1c.5-.3 1-.5 1.5-.7L11.5 2h3.3ZM13.2 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'/%3E%3C/svg%3E")!important;
}

/* Short-height desktop tuning: still show everything with no Home scroll. */
@media (min-width:901px) and (max-height:820px){
  body.o2-modern-ui .o2-app-main{
    grid-template-rows:190px minmax(0,1fr) 66px!important;
  }
  body.o2-modern-ui .o2-home-hero{
    padding-top:38px!important;
    padding-bottom:14px!important;
  }
  body.o2-modern-ui .o2-home-hero h1{
    font-size:46px!important;
  }
  body.o2-modern-ui #welcome-text{
    margin-top:9px!important;
    font-size:14px!important;
  }
  body.o2-modern-ui .o2-home-workspaces{
    padding-top:8px!important;
    padding-bottom:6px!important;
  }
  body.o2-modern-ui .o2-module-grid{
    gap:8px 12px!important;
  }
  body.o2-modern-ui .o2-module-card{
    padding-top:11px!important;
    padding-bottom:10px!important;
  }
  body.o2-modern-ui .o2-module-icon{
    width:50px!important;
    height:50px!important;
    flex-basis:50px!important;
  }
  body.o2-modern-ui .o2-module-icon::before{
    width:28px!important;
    height:28px!important;
  }
  body.o2-modern-ui .o2-module-body strong{
    font-size:14.5px!important;
  }
  body.o2-modern-ui .o2-module-body small{
    font-size:11.5px!important;
    line-height:1.3!important;
    -webkit-line-clamp:3!important;
  }
  body.o2-modern-ui .o2-brand-footer{
    height:66px!important;
    padding-top:5px!important;
    padding-bottom:6px!important;
  }
  body.o2-modern-ui .o2-brand-lockup--licensed img{
    height:40px!important;
  }
  body.o2-modern-ui .o2-brand-lockup--powered img{
    height:27px!important;
  }
}

/* On tablet/mobile retain scrolling for usability rather than clipping content. */
@media (max-width:900px){
  html,
  body.o2-modern-ui{
    height:auto!important;
    overflow:auto!important;
  }
  body.o2-modern-ui .o2-app-shell,
  body.o2-modern-ui .o2-app-main{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
    display:block!important;
  }
}
/* === O2 VET UI REDESIGN 2026 PHASE 1E - VIEWPORT + ICON MATCH END === */
