
:root{--ink:#17242a;--primary:#28373e;--accent:#14b8a6;--bg:#f2f7f8;--line:#d9e5e8;--muted:#6c7e85}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
.bpdc-screen{position:relative;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,52px)}
.bpdc-card{position:relative;width:min(1120px,100%);padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 28px 90px rgba(32,53,62,.14)}
.bpdc-brand{display:flex;align-items:center;gap:16px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.bpdc-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:17px;background:var(--primary);color:#fff;font-size:30px;font-weight:900}
.bpdc-brand h1{margin:0;color:var(--primary);font-size:clamp(24px,3vw,34px)}.bpdc-brand p{margin:5px 0 0;color:var(--muted)}
.bpdc-section-title{text-align:center;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.bpdc-country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px}
.bpdc-country{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fbfdfd;color:var(--ink);text-align:center;text-decoration:none;transition:.18s}
.bpdc-country:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 42px rgba(32,53,62,.11)}
.bpdc-country span{font-size:92px;line-height:1}.bpdc-country strong{margin-top:18px;font-size:22px}.bpdc-country small{margin-top:7px;color:var(--muted)}
.bpdc-lang{position:fixed;top:18px;right:20px;z-index:50;display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 25px rgba(32,53,62,.12)}
.bpdc-lang a{padding:8px 10px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.bpdc-lang a.active{background:var(--primary);color:#fff}
.bpdc-back{position:absolute;top:20px;right:20px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#eef3f4;color:var(--primary);font-size:23px;text-decoration:none}
.bpdc-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:28px;padding:6px;border-radius:13px;background:#edf3f4}.bpdc-tabs a{padding:13px;border-radius:9px;color:var(--muted);font-weight:800;text-align:center;text-decoration:none}.bpdc-tabs a.active{background:#fff;color:var(--primary);box-shadow:0 4px 13px rgba(32,53,62,.08)}
.bpdc-copy span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:1.4px}.bpdc-copy h2{margin:7px 0 10px;color:var(--primary);font-size:clamp(27px,4vw,40px)}.bpdc-copy p{max-width:780px;margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.65}.bpdc-copy.center{text-align:center}.bpdc-copy.center p{margin-left:auto;margin-right:auto}
.bpdc-form{display:grid;gap:17px}.bpdc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpdc-grid .wide{grid-column:1/-1}
.bpdc-form label{color:#50626a;font-size:11px;font-weight:800}.bpdc-form input,.bpdc-form select{display:block;width:100%;min-height:50px;margin-top:8px;padding:11px 13px;border:1px solid #c9d8dd;border-radius:11px;background:#fff;font:inherit}.bpdc-form input:focus,.bpdc-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(20,184,166,.12)}
.bpdc-check{display:flex!important;align-items:center;gap:9px}.bpdc-check input{width:17px!important;height:17px!important;min-height:0!important;margin:0!important}
.bpdc-primary{min-height:49px;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:0;border-radius:11px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer;text-decoration:none}.bpdc-button-link{display:flex;max-width:460px;margin:24px auto 0}
.bpdc-activation-link{display:block;margin-top:18px;color:var(--accent);font-size:13px;font-weight:800;text-align:center;text-decoration:none}
.bpdc-alert{margin-bottom:20px;padding:13px 15px;border-radius:11px;font-size:13px}.bpdc-alert.error{border:1px solid #ffc9c2;background:#fff0ee;color:#9b2c20}
.bpdc-success{width:80px;height:80px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;background:#e8f8ef;color:#16834a;font-size:40px;font-weight:900}
.bpdc-dashboard{min-height:100dvh;display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--bg)}
.bpdc-dashboard aside{display:flex;flex-direction:column;padding:24px;background:var(--primary);color:#fff}.bpdc-side-brand{display:flex;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.16)}.bpdc-side-brand small{display:block;margin-top:4px;opacity:.7}.bpdc-dashboard nav{display:grid;gap:8px;margin-top:24px}.bpdc-dashboard nav button{padding:13px 14px;border:0;border-radius:10px;background:transparent;color:#fff;text-align:left}.bpdc-dashboard nav button.active{background:rgba(255,255,255,.15)}.bpdc-dashboard nav button:disabled{opacity:.45}.bpdc-dashboard aside>a{margin-top:auto;color:#fff;text-decoration:none}
.bpdc-dashboard-main{position:relative;padding:clamp(24px,4vw,48px);overflow:auto}.bpdc-dashboard-main header{display:flex;align-items:center;justify-content:space-between;gap:20px}.bpdc-dashboard-main header span{color:var(--muted);font-size:12px}.bpdc-dashboard-main h1{margin:5px 0 0;color:var(--primary)}.bpdc-pill{padding:9px 12px;border-radius:999px;background:#e8f7f4;color:#167266;font-size:12px;font-weight:800}
.bpdc-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.bpdc-stat-grid article,.bpdc-panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.bpdc-stat-grid strong{display:block;color:var(--primary);font-size:30px}.bpdc-stat-grid span{display:block;margin-top:7px;color:var(--muted)}.bpdc-panel{margin-top:20px}.bpdc-panel h2{margin-top:0;color:var(--primary)}
@media(max-width:760px){.bpdc-screen{align-items:flex-start;padding:12px}.bpdc-card{padding:24px 17px;border-radius:20px}.bpdc-brand{padding-right:44px}.bpdc-mark{width:52px;height:52px}.bpdc-country-grid,.bpdc-grid,.bpdc-stat-grid{grid-template-columns:1fr}.bpdc-country{min-height:180px}.bpdc-country span{font-size:66px}.bpdc-tabs{grid-template-columns:1fr}.bpdc-lang{top:8px;right:8px}.bpdc-dashboard{grid-template-columns:1fr}.bpdc-dashboard aside{min-height:auto}.bpdc-dashboard aside>a{margin-top:22px}.bpdc-dashboard-main header{align-items:flex-start;flex-direction:column}}

/* Brainy Pet Desk Cloud 2.2.1 — direct route and full viewport hardening */
html,body.bpdc-standalone{
  width:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}
body.bpdc-standalone #wpadminbar{display:none!important}
body.bpdc-standalone{margin-top:0!important}
.bpdc-screen{
  width:100vw!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0!important;
}
.bpdc-card{
  width:min(1240px,calc(100vw - 48px))!important;
  max-width:1240px!important;
}
.bpdc-route-fallback{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#f2f7f8;
  font-family:Arial,Helvetica,sans-serif;
}
.bpdc-fallback-card{
  width:min(520px,100%);
  padding:34px;
  border:1px solid #d9e5e8;
  border-radius:22px;
  background:#fff;
  color:#28373e;
  text-align:center;
  box-shadow:0 28px 80px rgba(32,53,62,.14);
}
.bpdc-fallback-card strong{font-size:25px}
.bpdc-fallback-card p{color:#6c7e85}
@media(max-width:760px){
  .bpdc-card{width:100%!important;max-width:none!important}
}

/* v2.3.3 official Brainy B symbol */
.bpdc-logo-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
  aspect-ratio:auto!important;
}
.bpdc-logo-wrap img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.bpdc-brand .bpdc-logo-wrap{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  flex:0 0 58px!important;
}
.bpdc-side-brand .bpdc-logo-wrap{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  flex:0 0 54px!important;
}
.bpdc-side-brand .bpdc-logo-wrap img{
  width:44px!important;
  height:auto!important;
}
@media(max-width:760px){
  .bpdc-brand .bpdc-logo-wrap{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    flex:0 0 50px!important;
  }
  .bpdc-side-brand .bpdc-logo-wrap{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex:0 0 46px!important;
  }
  .bpdc-side-brand .bpdc-logo-wrap img{
    width:38px!important;
    height:auto!important;
  }
}

/* v2.4.1 mobile dashboard layout */
.bpdc-mobile-menu-toggle,
.bpdc-mobile-menu-overlay{
  display:none;
}

@media(max-width:760px){
  body.bpdc-standalone{
    overflow-x:hidden!important;
  }

  .bpdc-dashboard{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
  }

  .bpdc-dashboard aside{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    z-index:10002!important;
    width:min(84vw,320px)!important;
    min-height:100dvh!important;
    padding:24px 18px!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:18px 0 45px rgba(0,0,0,.28)!important;
    overflow-y:auto!important;
  }

  .bpdc-dashboard.bpdc-menu-open aside{
    transform:translateX(0)!important;
  }

  .bpdc-mobile-menu-toggle{
    position:fixed!important;
    top:max(10px, env(safe-area-inset-top))!important;
    left:12px!important;
    z-index:10004!important;
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    border:0!important;
    border-radius:12px!important;
    background:#28373E!important;
    color:#FFFFFF!important;
    font-size:23px!important;
    line-height:1!important;
    box-shadow:0 8px 24px rgba(40,55,62,.22)!important;
  }

  .bpdc-mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:10001!important;
    display:block!important;
    background:rgba(12,22,27,.42)!important;
    backdrop-filter:blur(2px)!important;
  }

  .bpdc-dashboard:not(.bpdc-menu-open) .bpdc-mobile-menu-overlay{
    display:none!important;
  }

  .bpdc-dashboard-main{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:72px 16px 28px!important;
    overflow-x:hidden!important;
  }

  .bpdc-dashboard-main header{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
  }

  .bpdc-dashboard-main header h1{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    font-size:clamp(26px,8vw,36px)!important;
  }

  .bpdc-header-badges{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }

  .bpdc-stat-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    margin-top:22px!important;
  }

  .bpdc-stat-grid article{
    width:100%!important;
    min-width:0!important;
    padding:22px!important;
  }

  .bpdc-stat-grid strong{
    font-size:34px!important;
  }

  .bpdc-panel{
    width:100%!important;
    min-width:0!important;
    margin-top:16px!important;
    padding:22px!important;
    overflow:hidden!important;
  }

  .bpdc-panel h2{
    max-width:100%!important;
    font-size:clamp(24px,7vw,34px)!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .bpdc-panel p{
    max-width:100%!important;
    font-size:17px!important;
    line-height:1.55!important;
    overflow-wrap:anywhere!important;
  }

  .bpdc-side-brand{
    padding-right:0!important;
  }

  .bpdc-side-brand strong{
    font-size:18px!important;
    line-height:1.2!important;
  }

  .bpdc-dashboard nav button,
  .bpdc-dashboard aside > a{
    width:100%!important;
    font-size:16px!important;
  }

  .bpdc-lang{
    position:fixed!important;
    top:max(10px, env(safe-area-inset-top))!important;
    right:10px!important;
    z-index:10003!important;
    transform:none!important;
  }
}

/* v2.4.2 menu button no longer covers the Brainy logo */
@media(max-width:760px){
  .bpdc-mobile-menu-toggle{
    left:12px!important;
    right:auto!important;
    transition:
      left .22s ease,
      transform .22s ease,
      background .18s ease!important;
  }

  .bpdc-dashboard.bpdc-menu-open .bpdc-mobile-menu-toggle{
    left:calc(min(84vw, 320px) - 54px)!important;
    transform:none!important;
    background:#526269!important;
  }

  .bpdc-dashboard aside .bpdc-side-brand{
    min-height:66px!important;
    padding:0 56px 20px 0!important;
    margin-bottom:8px!important;
    align-items:flex-start!important;
  }

  .bpdc-side-brand .bpdc-logo-wrap{
    position:relative!important;
    z-index:1!important;
  }

  .bpdc-side-brand > div:last-child{
    min-width:0!important;
    padding-top:2px!important;
  }

  .bpdc-side-brand strong{
    display:block!important;
    max-width:170px!important;
    overflow-wrap:anywhere!important;
  }
}

.bpdc-dashboard{--bpdc-brand-primary:#28373E;--bpdc-brand-secondary:#14B8A6}.bpdc-dashboard aside{background:var(--bpdc-brand-primary)!important}.bpdc-dashboard nav a{display:block;padding:13px 14px;border-radius:10px;color:#dfe8eb;text-decoration:none;margin-bottom:8px}.bpdc-dashboard nav a.active{background:rgba(255,255,255,.16);color:#fff}.bpdc-module{margin-top:24px}.bpdc-module-toolbar,.bpdc-record-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.bpdc-module-search{width:100%;min-height:46px;margin:12px 0 16px;padding:0 14px;border:1px solid #d7e3e7;border-radius:10px}.bpdc-record-grid{display:grid;gap:12px}.bpdc-record-card{padding:16px;border:1px solid #dce7ea;border-radius:12px;background:#fff}.bpdc-record-card h3{margin:0 0 4px}.bpdc-record-card p,.bpdc-record-card small{display:block;margin:2px 0;color:#61727a}.bpdc-record-actions{display:flex;flex-wrap:wrap;gap:8px}.bpdc-record-actions a,.bpdc-record-actions button,.bpdc-secondary{padding:8px 10px;border:1px solid #cbd9de;border-radius:8px;background:#fff;color:#28373e;text-decoration:none}.bpdc-modal[hidden]{display:none!important}.bpdc-modal{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:18px;background:rgba(10,20,25,.55)}.bpdc-modal-dialog{position:relative;width:min(940px,100%);max-height:92vh;overflow:auto;padding:24px;border-radius:16px;background:#fff}.bpdc-modal-close{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;border-radius:50%;font-size:25px}.bpdc-form-actions{display:flex;gap:10px}.bpdc-danger{border:0;border-radius:9px;background:#b42318;color:#fff;padding:11px 14px}.bpdc-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.bpdc-services-grid label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #dfe7ea;border-radius:8px}.bpdc-settings-form,.bpdc-data-tools{margin-top:16px;padding:18px;border:1px solid #dce7ea;border-radius:12px;background:#fff}.bpdc-data-tools{display:flex;gap:12px;align-items:center}@media(max-width:760px){.bpdc-module-toolbar,.bpdc-record-card{align-items:stretch;flex-direction:column}.bpdc-record-actions{width:100%}.bpdc-record-actions a,.bpdc-record-actions button{flex:1;text-align:center}.bpdc-services-grid{grid-template-columns:1fr}.bpdc-modal{padding:8px;align-items:end}.bpdc-modal-dialog{max-height:94dvh;border-radius:16px 16px 0 0}}

/* v2.5.1 restore and upload */
.bpdc-upload-preview{display:flex;align-items:center;justify-content:center;min-height:120px;padding:12px;border:1px solid #dce7ea;border-radius:12px;background:#f7fafb}
.bpdc-upload-preview img{display:block;max-width:180px;max-height:110px;object-fit:contain}
.bpdc-restore-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;width:100%;padding:14px;border:1px dashed #b9cbd1;border-radius:10px}
.bpdc-restore-form label{display:block}.bpdc-restore-form input[type=file]{display:block;margin-top:7px}.bpdc-restore-mode{display:flex!important;align-items:center;gap:7px}

/* v2.5.2 centered modal dialogs */
.bpdc-modal{
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  padding:20px!important;
  overflow:auto!important;
}
.bpdc-modal-dialog{
  position:relative!important;
  width:min(940px, calc(100vw - 32px))!important;
  max-width:940px!important;
  max-height:calc(100dvh - 40px)!important;
  margin:auto!important;
  border-radius:16px!important;
  overflow:auto!important;
}
@media(max-width:760px){
  .bpdc-modal{
    align-items:center!important;
    justify-items:center!important;
    padding:12px!important;
  }
  .bpdc-modal-dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    border-radius:16px!important;
    margin:auto!important;
  }
}

/* v2.6.0 integrated clients and pets */
.bpdc-brainy-fixed-brand{
  align-items:center!important;
}
.bpdc-brainy-fixed-brand strong{
  white-space:nowrap;
}
.bpdc-main-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
}
.bpdc-header-center-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
}
.bpdc-header-center-brand img{
  display:block;
  max-width:180px;
  max-height:82px;
  object-fit:contain;
}
.bpdc-business-logo-placeholder{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce7ea;
  color:var(--bpdc-brand-primary);
  font-size:30px;
  font-weight:900;
}
.bpdc-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}
.bpdc-summary-card{
  display:grid;
  gap:7px;
  min-height:150px;
  padding:22px;
  border:1px solid #dce7ea;
  border-radius:16px;
  background:#fff;
}
.bpdc-summary-icon{
  font-size:28px;
}
.bpdc-summary-card strong{
  font-size:38px;
  color:#28373e;
}
.bpdc-summary-card small{
  color:#60727a;
  font-size:15px;
}
.bpdc-dashboard-sections{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  margin-top:18px;
}
.bpdc-quick-actions{
  display:grid;
  gap:10px;
}
.bpdc-quick-actions a{
  display:block;
  padding:13px 14px;
  border:1px solid #d8e4e8;
  border-radius:10px;
  color:#28373e;
  text-decoration:none;
}
.bpdc-client-family-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border:1px solid #dce7ea;
  border-radius:16px;
  background:#fff;
}
.bpdc-client-family-main{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.bpdc-avatar{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:16px;
  background:color-mix(in srgb,var(--bpdc-brand-secondary) 16%,white);
  color:var(--bpdc-brand-primary);
  font-weight:900;
}
.bpdc-pet-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.bpdc-pet-chips span{
  padding:5px 9px;
  border-radius:999px;
  background:#edf5f6;
  color:#42565e;
  font-size:12px;
}
.bpdc-empty-state{
  display:grid;
  place-items:center;
  min-height:260px;
  padding:30px;
  border:1px dashed #bed0d5;
  border-radius:16px;
  text-align:center;
  background:#fff;
}
.bpdc-empty-state>span{
  font-size:44px;
}
.bpdc-family-modal{
  width:min(1080px,calc(100vw - 34px))!important;
}
.bpdc-modal-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-right:46px;
  margin-bottom:18px;
}
.bpdc-modal-heading span{
  color:#6b7d84;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.bpdc-modal-heading h2{
  margin:4px 0 0;
}
.bpdc-modal-step-badge{
  padding:9px 12px;
  border-radius:999px;
  background:#edf5f6;
  font-weight:800;
}
.bpdc-client-bundle-form{
  display:grid;
  gap:18px;
}
.bpdc-form-section{
  padding:20px;
  border:1px solid #dce7ea;
  border-radius:16px;
  background:#fbfdfd;
}
.bpdc-section-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.bpdc-section-title>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--bpdc-brand-primary);
  color:#fff;
  font-weight:900;
}
.bpdc-section-title h3,
.bpdc-section-title p{
  margin:0;
}
.bpdc-section-title p{
  color:#6a7b82;
}
.bpdc-section-title button{
  margin-left:auto;
}
.bpdc-pet-editor-list{
  display:grid;
  gap:14px;
}
.bpdc-pet-editor-card{
  border:1px solid #d6e2e6;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.bpdc-pet-editor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  background:#f2f7f8;
}
.bpdc-pet-editor-head strong{
  color:#28373e;
}
.bpdc-pet-editor-head button{
  border:0;
  background:transparent;
  color:#b42318;
  font-weight:800;
  cursor:pointer;
}
.bpdc-pet-editor-body{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:15px;
}
.bpdc-pet-editor-body label{
  display:block;
  font-weight:700;
}
.bpdc-pet-editor-body input,
.bpdc-pet-editor-body select,
.bpdc-pet-editor-body textarea{
  width:100%;
  margin-top:6px;
}
.bpdc-pet-editor-body .wide{
  grid-column:1/-1;
}
.bpdc-pet-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:7px;
}
.bpdc-pet-services label{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px;
  border:1px solid #e0e8eb;
  border-radius:8px;
  font-weight:500;
}
.bpdc-pet-limit-note{
  margin-top:10px;
  text-align:right;
  color:#60727a;
}
.bpdc-sticky-actions{
  position:sticky;
  bottom:-24px;
  z-index:5;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 0 0;
  background:linear-gradient(transparent,#fff 25%);
}
.bpdc-pet-index-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.bpdc-pet-index-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:16px;
  border:1px solid #dce7ea;
  border-radius:14px;
  background:#fff;
}
.bpdc-pet-index-icon{
  font-size:28px;
}
.bpdc-pet-index-card a{
  color:var(--bpdc-brand-primary);
  font-weight:800;
}
@media(max-width:980px){
  .bpdc-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bpdc-dashboard-sections{
    grid-template-columns:1fr;
  }
  .bpdc-pet-editor-body{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bpdc-pet-services{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .bpdc-main-header{
    grid-template-columns:1fr!important;
    text-align:left;
  }
  .bpdc-header-center-brand{
    order:-1;
    justify-content:center;
    width:100%;
  }
  .bpdc-header-badges{
    justify-content:flex-start!important;
  }
  .bpdc-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .bpdc-summary-card{
    min-height:125px;
    padding:16px;
  }
  .bpdc-client-family-card{
    align-items:stretch;
    flex-direction:column;
  }
  .bpdc-client-family-main{
    align-items:flex-start;
  }
  .bpdc-family-modal{
    width:calc(100vw - 20px)!important;
  }
  .bpdc-form-section{
    padding:14px;
  }
  .bpdc-section-title{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .bpdc-section-title button{
    width:100%;
    margin-left:0;
  }
  .bpdc-pet-editor-body{
    grid-template-columns:1fr;
  }
  .bpdc-pet-services{
    grid-template-columns:1fr;
  }
  .bpdc-pet-index-grid{
    grid-template-columns:1fr;
  }
  .bpdc-pet-index-card{
    grid-template-columns:auto 1fr;
  }
  .bpdc-pet-index-card a{
    grid-column:1/-1;
  }
  .bpdc-sticky-actions{
    flex-direction:column-reverse;
  }
  .bpdc-sticky-actions button{
    width:100%;
  }
}

/* v2.7.0 interactive dashboard, agenda and breed guide */
.bpdc-interactive-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:18px;
  margin-top:18px;
}
.bpdc-dashboard-main-column{
  display:grid;
  gap:18px;
}
.bpdc-panel-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.bpdc-panel-heading span{
  color:#718289;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.bpdc-panel-heading h2{
  margin:4px 0 0;
}
.bpdc-panel-heading a,
.bpdc-panel-heading button{
  border:0;
  background:transparent;
  color:var(--bpdc-brand-primary);
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.bpdc-recent-client-list{
  display:grid;
  gap:8px;
}
.bpdc-recent-client{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:10px;
  border:1px solid #e0e8eb;
  border-radius:12px;
  color:#28373e;
  text-decoration:none;
}
.bpdc-recent-client small{
  display:block;
  margin-top:3px;
  color:#718289;
}
.bpdc-quick-actions-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.bpdc-quick-actions-grid button{
  width:100%;
  padding:13px 14px;
  border:1px solid #d8e4e8;
  border-radius:10px;
  background:#fff;
  color:#28373e;
  text-align:left;
  cursor:pointer;
}
.bpdc-agenda-sidebar{
  align-self:start;
  position:sticky;
  top:20px;
  padding:18px;
  border:1px solid #dce7ea;
  border-radius:16px;
  background:#fff;
  max-height:calc(100dvh - 40px);
  overflow:auto;
}
.bpdc-agenda-list{
  display:grid;
  gap:10px;
}
.bpdc-agenda-item{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:11px;
  border:1px solid #e1e9ec;
  border-radius:12px;
}
.bpdc-agenda-date{
  display:grid;
  place-items:center;
  min-height:54px;
  padding:7px;
  border-radius:10px;
  background:color-mix(in srgb,var(--bpdc-brand-secondary) 14%,white);
  text-align:center;
}
.bpdc-agenda-date strong,
.bpdc-agenda-date small{
  display:block;
}
.bpdc-agenda-info{
  min-width:0;
}
.bpdc-agenda-info strong,
.bpdc-agenda-info span,
.bpdc-agenda-info small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bpdc-agenda-info span,
.bpdc-agenda-info small{
  color:#6d7f86;
}
.bpdc-agenda-actions{
  display:grid;
  grid-template-columns:repeat(2,auto);
  gap:5px;
}
.bpdc-agenda-actions a,
.bpdc-agenda-actions button{
  display:grid;
  place-items:center;
  min-width:34px;
  height:32px;
  border:1px solid #d6e2e6;
  border-radius:8px;
  background:#fff;
  color:#28373e;
  text-decoration:none;
  cursor:pointer;
}
.bpdc-empty-agenda{
  padding:28px 12px;
  text-align:center;
  color:#718289;
}
.bpdc-appointment-dialog{
  width:min(720px,calc(100vw - 30px))!important;
}
.bpdc-breed-help{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-left:5px;
  border:0;
  border-radius:50%;
  background:var(--bpdc-brand-primary);
  color:#fff;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.bpdc-breed-dialog{
  width:min(760px,calc(100vw - 30px))!important;
}
.bpdc-breed-content{
  display:grid;
  gap:14px;
}
.bpdc-breed-content article{
  padding:15px;
  border:1px solid #dce7ea;
  border-radius:12px;
  background:#fbfdfd;
}
.bpdc-breed-content h3{
  margin:0 0 7px;
}
.bpdc-breed-content ul{
  margin:8px 0 0 18px;
}
@media(max-width:1100px){
  .bpdc-interactive-layout{
    grid-template-columns:1fr;
  }
  .bpdc-agenda-sidebar{
    position:static;
    max-height:none;
  }
}
@media(max-width:760px){
  .bpdc-quick-actions-grid{
    grid-template-columns:1fr;
  }
  .bpdc-agenda-item{
    grid-template-columns:58px minmax(0,1fr);
  }
  .bpdc-agenda-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(3,1fr);
  }
}


/* v2.7.1 fusion bridge — v2.2.1 visual system */
:root{
  --bpdc-brand-primary:#28373E;
  --bpdc-brand-secondary:#14B8A6;
}
.bpdc-powered-brand{
  color:#2874D0;
  font-weight:900;
}
.bpdc-dashboard aside{
  background:var(--bpdc-brand-primary)!important;
}
.bpdc-dashboard nav a{
  display:block;
  width:100%;
  padding:13px 14px;
  margin-bottom:8px;
  border-radius:10px;
  color:#dce5e8;
  text-decoration:none;
  font-size:14px;
}
.bpdc-dashboard nav a.active{
  background:#526269;
  color:#fff;
}
.bpdc-module,
.bpdc-dashboard-summary{
  width:100%;
}
.bpdc-module-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:24px 0 16px;
}
.bpdc-module-toolbar h2{
  margin:0 0 5px;
}
.bpdc-module-toolbar p{
  margin:0;
  color:#6d7d84;
}
.bpdc-module-search{
  width:100%;
  min-height:48px;
  margin-bottom:16px;
  padding:0 15px;
  border:1px solid #cfdbdf;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
.bpdc-record-grid{
  display:grid;
  gap:12px;
}
.bpdc-record-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bpdc-record-actions a,
.bpdc-record-actions button,
.bpdc-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid #cfdbdf;
  border-radius:9px;
  background:#fff;
  color:#28373E;
  text-decoration:none;
  font:inherit;
  cursor:pointer;
}
.bpdc-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border:0;
  border-radius:10px;
  background:var(--bpdc-brand-primary)!important;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.bpdc-danger{
  min-height:42px;
  padding:10px 14px;
  border:0;
  border-radius:10px;
  background:#B42318;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.bpdc-modal{
  position:fixed!important;
  inset:0!important;
  z-index:20000!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  overflow:auto!important;
  background:rgba(19,34,40,.58)!important;
}
.bpdc-modal[hidden]{
  display:none!important;
}
.bpdc-modal-dialog{
  width:min(1080px,calc(100vw - 40px))!important;
  max-height:calc(100dvh - 40px)!important;
  margin:auto!important;
  padding:25px!important;
  overflow:auto!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(23,40,47,.26)!important;
}
.bpdc-modal-dialog .bpdc-grid,
.bpdc-form-section .bpdc-grid,
.bpdc-settings-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.bpdc-modal-dialog label,
.bpdc-settings-form label,
.bpdc-form-section label{
  display:block!important;
  color:#42545c;
  font-size:13px;
  font-weight:700;
}
.bpdc-modal-dialog input,
.bpdc-modal-dialog select,
.bpdc-modal-dialog textarea,
.bpdc-settings-form input,
.bpdc-settings-form select,
.bpdc-settings-form textarea{
  display:block!important;
  width:100%!important;
  min-height:44px!important;
  margin-top:7px!important;
  padding:10px 12px!important;
  border:1px solid #cfdcdf!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#28373E!important;
  font:inherit!important;
}
.bpdc-modal-dialog textarea,
.bpdc-settings-form textarea{
  min-height:96px!important;
  resize:vertical;
}
.bpdc-modal-dialog .wide,
.bpdc-settings-form .wide{
  grid-column:1/-1!important;
}
.bpdc-services-grid,
.bpdc-pet-services{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.bpdc-services-grid label,
.bpdc-pet-services label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px!important;
  border:1px solid #dbe5e8!important;
  border-radius:9px!important;
  background:#fff!important;
  font-weight:500!important;
}
.bpdc-services-grid input,
.bpdc-pet-services input{
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.bpdc-main-header{
  min-height:92px;
}
.bpdc-header-center-brand img{
  max-width:190px!important;
  max-height:76px!important;
}
@media(max-width:760px){
  .bpdc-module-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .bpdc-modal{
    padding:10px!important;
  }
  .bpdc-modal-dialog{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    padding:18px!important;
  }
  .bpdc-modal-dialog .bpdc-grid,
  .bpdc-form-section .bpdc-grid,
  .bpdc-settings-form{
    grid-template-columns:1fr!important;
  }
  .bpdc-services-grid,
  .bpdc-pet-services{
    grid-template-columns:1fr!important;
  }
  .bpdc-record-actions{
    width:100%;
  }
  .bpdc-record-actions a,
  .bpdc-record-actions button{
    flex:1 1 auto;
  }
}


/* v2.8.0 clean minimal UX */
body.bpdc-standalone{
  background:#F7FAFB!important;
}
.bpdc-dashboard{
  background:#F7FAFB!important;
}
.bpdc-dashboard aside{
  background:#FFFFFF!important;
  border-right:4px solid var(--bpdc-brand-primary)!important;
  box-shadow:8px 0 28px rgba(40,55,62,.06)!important;
  color:#28373E!important;
}
.bpdc-brainy-fixed-brand{
  padding-bottom:22px!important;
  border-bottom:1px solid #E4ECEF!important;
}
.bpdc-brainy-fixed-brand .bpdc-logo-wrap{
  background:var(--bpdc-brand-primary)!important;
  border-radius:14px!important;
  padding:8px!important;
}
.bpdc-brainy-fixed-brand strong,
.bpdc-brainy-fixed-brand small{
  color:#28373E!important;
}
.bpdc-dashboard nav a{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid transparent!important;
  background:#FFFFFF!important;
  color:#52636A!important;
}
.bpdc-dashboard nav a:hover{
  border-color:color-mix(in srgb,var(--bpdc-brand-primary) 22%,#DCE6E9)!important;
}
.bpdc-dashboard nav a.active{
  border-color:var(--bpdc-brand-primary)!important;
  border-left-width:5px!important;
  background:color-mix(in srgb,var(--bpdc-brand-primary) 5%,white)!important;
  color:var(--bpdc-brand-primary)!important;
}
.bpdc-nav-icon{
  width:27px!important;
  height:27px!important;
  object-fit:contain!important;
}
.bpdc-signout{
  color:#52636A!important;
  border-top:1px solid #E4ECEF!important;
  padding-top:18px!important;
}
.bpdc-dashboard-main{
  background:#F7FAFB!important;
}
.bpdc-main-header,
.bpdc-panel,
.bpdc-summary-card,
.bpdc-client-family-card,
.bpdc-pet-index-card,
.bpdc-agenda-sidebar,
.bpdc-settings-form,
.bpdc-data-tools{
  border-color:#DCE7EA!important;
  box-shadow:0 8px 26px rgba(40,55,62,.045)!important;
}
.bpdc-main-header{
  padding:20px!important;
  border:1px solid #DCE7EA!important;
  border-top:5px solid var(--bpdc-brand-primary)!important;
  border-radius:16px!important;
  background:#FFFFFF!important;
}
.bpdc-header-center-brand{
  min-height:80px!important;
}
.bpdc-header-center-brand img{
  max-width:220px!important;
  max-height:78px!important;
}
.bpdc-subsection-heading{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:5px!important;
  padding:14px!important;
  border-radius:12px!important;
  background:#F2F7F8!important;
}
.bpdc-subsection-heading img{
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
}
.bpdc-subsection-heading h4,
.bpdc-subsection-heading p{
  margin:0!important;
}
.bpdc-subsection-heading p{
  margin-top:4px!important;
  color:#6C7D84!important;
}
.bpdc-contact-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.bpdc-additional-contact{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
  min-width:0!important;
  padding:15px!important;
  border:1px solid #DCE7EA!important;
  border-radius:14px!important;
  background:#FFFFFF!important;
}
.bpdc-additional-contact legend{
  padding:0 7px!important;
  color:var(--bpdc-brand-primary)!important;
  font-weight:900!important;
}
.bpdc-contact-dialog{
  width:min(700px,calc(100vw - 30px))!important;
}
.bpdc-contact-options{
  display:grid!important;
  gap:12px!important;
}
.bpdc-contact-person{
  padding:16px!important;
  border:1px solid #DCE7EA!important;
  border-radius:14px!important;
  background:#FAFCFC!important;
}
.bpdc-contact-person h3,
.bpdc-contact-person p{
  margin:0!important;
}
.bpdc-contact-person p{
  margin-top:4px!important;
  color:#6A7A81!important;
}
.bpdc-contact-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:12px!important;
}
.bpdc-contact-buttons a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:8px 11px!important;
  border:1px solid #CBDADF!important;
  border-radius:9px!important;
  background:#FFFFFF!important;
  color:#28373E!important;
  text-decoration:none!important;
}
.bpdc-pet-type-selector{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.bpdc-pet-type-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:58px!important;
  border:1px solid #D7E3E6!important;
  border-radius:12px!important;
  background:#FFFFFF!important;
  color:#52636A!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.bpdc-pet-type-button img{
  width:35px!important;
  height:35px!important;
  object-fit:contain!important;
}
.bpdc-pet-type-button.active{
  border:2px solid var(--bpdc-brand-primary)!important;
  background:color-mix(in srgb,var(--bpdc-brand-primary) 5%,white)!important;
  color:var(--bpdc-brand-primary)!important;
}
.bpdc-custom-service{
  display:flex!important;
  gap:8px!important;
  margin-top:10px!important;
}
.bpdc-custom-service input{
  flex:1!important;
}
@media(max-width:760px){
  .bpdc-dashboard aside{
    border-right-width:3px!important;
  }
  .bpdc-contact-grid,
  .bpdc-additional-contact{
    grid-template-columns:1fr!important;
  }
  .bpdc-pet-type-selector{
    grid-template-columns:1fr!important;
  }
  .bpdc-main-header{
    padding-top:70px!important;
  }
}

/* v2.9.0 unified action system */
.bpdc-record-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
  padding:12px;
  border:1px solid #DCE7EA;
  border-radius:12px;
  background:#F7FAFB;
}
.bpdc-contact-add-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.bpdc-pet-card-actions{
  display:flex;
  gap:8px;
}
.bpdc-pet-card-actions button{
  border:0;
  background:transparent;
  color:#52636A;
  font-weight:800;
  cursor:pointer;
}
.bpdc-pet-card-actions button:last-child{
  color:#B42318;
}
.bpdc-toast-container{
  position:fixed;
  top:18px;
  right:18px;
  z-index:30000;
  display:grid;
  gap:10px;
  width:min(360px,calc(100vw - 36px));
}
.bpdc-toast{
  transform:translateY(-8px);
  opacity:0;
  padding:13px 15px;
  border-radius:11px;
  background:#28373E;
  color:#FFFFFF;
  box-shadow:0 16px 40px rgba(40,55,62,.22);
  transition:.2s ease;
}
.bpdc-toast.error{
  background:#B42318;
}
.bpdc-toast.show{
  transform:translateY(0);
  opacity:1;
}
body.bpdc-modal-open{
  overflow:hidden!important;
}
.bpdc-contact-buttons button{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 11px;
  border:1px solid #CBDADF;
  border-radius:9px;
  background:#FFFFFF;
  color:#28373E;
  cursor:pointer;
}
button[disabled]{
  opacity:.55;
  cursor:not-allowed!important;
}
@media(max-width:760px){
  .bpdc-record-toolbar,
  .bpdc-contact-add-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .bpdc-record-toolbar button,
  .bpdc-contact-add-actions button{
    width:100%;
  }
  .bpdc-toast-container{
    top:10px;
    right:10px;
    width:calc(100vw - 20px);
  }
}
\n/* v2.9.1 fixes */
.bpdc-breed-field-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:end;gap:8px}.bpdc-breed-field-row .bpdc-breed-help{width:38px!important;height:44px!important;margin:7px 0 0!important;border-radius:10px!important}.bpdc-pet-owner-link{border:0;background:transparent;color:var(--bpdc-brand-primary);font-weight:800;text-align:left;text-decoration:underline;cursor:pointer}

/* v2.9.2 menu, icon mapping and pet flow */
.bpdc-mobile-menu-toggle{display:grid!important;place-items:center!important;position:fixed!important;top:14px!important;left:14px!important;z-index:10004!important;width:44px!important;height:44px!important;border:0!important;border-radius:12px!important;background:var(--bpdc-brand-primary,#28373E)!important;color:#fff!important;font-size:23px!important;cursor:pointer!important;box-shadow:0 8px 22px rgba(40,55,62,.18)!important}
.bpdc-dashboard-main{padding-top:74px!important}
.bpdc-summary-icon{display:grid!important;place-items:center!important;width:44px!important;height:44px!important}
.bpdc-summary-icon img{display:block!important;width:42px!important;height:42px!important;object-fit:contain!important}
.bpdc-quick-actions a,.bpdc-quick-actions button{display:flex!important;align-items:center!important;gap:10px!important}
.bpdc-quick-actions img,.bpdc-data-tools img{width:30px!important;height:30px!important;object-fit:contain!important}
.bpdc-data-tools a,.bpdc-data-tools button{display:inline-flex!important;align-items:center!important;gap:9px!important}
.bpdc-add-pet-under-list{display:flex!important;justify-content:center!important;margin:14px 0 6px!important}
.bpdc-add-pet-under-list button{min-width:220px!important}
body.bpdc-menu-lock{overflow:hidden!important}
@media(min-width:761px){.bpdc-dashboard{transition:grid-template-columns .22s ease!important}.bpdc-dashboard.bpdc-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)!important}.bpdc-dashboard.bpdc-sidebar-collapsed>aside{transform:translateX(-110%)!important;opacity:0!important;pointer-events:none!important}.bpdc-dashboard>aside{transition:transform .22s ease,opacity .22s ease!important}}
@media(max-width:760px){.bpdc-dashboard-main{padding-top:72px!important}.bpdc-add-pet-under-list button{width:100%!important}}

/* v2.9.3 exact action icons */
.bpdc-icon-action,
.bpdc-quick-actions a,
.bpdc-module-toolbar button[data-action="new-client"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.bpdc-action-icon{
  display:block!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  object-fit:contain!important;
}
.bpdc-danger .bpdc-action-icon{
  width:28px!important;
  height:28px!important;
  filter:none!important;
}
.bpdc-data-tools .bpdc-secondary,
.bpdc-data-tools .bpdc-danger{
  min-height:52px!important;
}
@media(max-width:760px){
  .bpdc-data-tools .bpdc-secondary,
  .bpdc-data-tools .bpdc-danger{
    width:100%!important;
  }
}

/* v2.9.4 action audit and panel spacing */
.bpdc-dashboard-main{padding:30px 34px 42px!important}
.bpdc-dashboard-main>*+*{margin-top:22px!important}
.bpdc-panel,.bpdc-settings-form,.bpdc-data-tools,.bpdc-agenda-sidebar,
.bpdc-client-family-card,.bpdc-pet-index-card,.bpdc-summary-card{padding:22px!important}
.bpdc-panel h2,.bpdc-panel h3,.bpdc-settings-form h2,
.bpdc-data-tools h2,.bpdc-data-tools h3{
  margin:0 0 10px!important;line-height:1.28!important
}
.bpdc-panel p,.bpdc-module-toolbar p,.bpdc-settings-form p,.bpdc-data-tools p{
  margin:0 0 14px!important;line-height:1.6!important
}
.bpdc-module-toolbar{margin:28px 0 18px!important;padding:0 2px!important}
.bpdc-module-toolbar>div{display:grid!important;gap:6px!important}
.bpdc-data-tools{
  display:grid!important;
  grid-template-columns:minmax(190px,auto) minmax(0,1fr) minmax(190px,auto)!important;
  align-items:center!important;gap:20px!important;margin-top:22px!important
}
.bpdc-data-tools>a,.bpdc-data-tools>form{margin:0!important}
.bpdc-data-tools form{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:13px!important
}
.bpdc-data-tools label{
  display:flex!important;align-items:center!important;gap:9px!important;
  margin:0!important;line-height:1.5!important
}
.bpdc-data-tools input[type=file]{
  max-width:100%!important;padding:10px!important;border:1px solid #D3E0E4!important;
  border-radius:9px!important;background:#fff!important
}
.bpdc-data-tools .bpdc-secondary,.bpdc-data-tools .bpdc-danger{
  gap:10px!important;min-height:56px!important;padding:12px 16px!important;
  line-height:1.3!important;white-space:normal!important
}
.bpdc-record-actions{align-items:center!important;gap:10px!important}
.bpdc-record-actions a,.bpdc-record-actions button{
  min-height:42px!important;padding:9px 13px!important;line-height:1.3!important
}
.bpdc-quick-actions,.bpdc-quick-actions-grid{gap:13px!important}
.bpdc-quick-actions a,.bpdc-quick-actions button{
  min-height:56px!important;padding:13px 16px!important;gap:10px!important;line-height:1.35!important
}
.bpdc-contact-options{gap:15px!important}
.bpdc-contact-person{padding:18px!important}
.bpdc-contact-buttons{gap:10px!important}
.bpdc-contact-buttons a,.bpdc-contact-buttons button{
  min-height:42px!important;padding:9px 12px!important
}
.bpdc-form-section{padding:22px!important}
.bpdc-section-title{margin-bottom:20px!important}
.bpdc-section-title h3{margin:0 0 5px!important}
.bpdc-section-title p{margin:0!important;line-height:1.5!important}
.bpdc-pet-editor-list{gap:18px!important}
.bpdc-pet-editor-head{padding:15px 18px!important}
.bpdc-pet-editor-body{gap:15px!important;padding:18px!important}
.bpdc-pet-services{gap:9px!important}
.bpdc-pet-services label{min-height:44px!important;padding:10px 12px!important}
.bpdc-custom-service{margin-top:12px!important;gap:10px!important}
.bpdc-record-toolbar{gap:10px!important;padding:14px!important;margin-bottom:18px!important}
.bpdc-record-toolbar button{min-height:42px!important}
.bpdc-alert{padding:14px 16px!important;margin:16px 0!important;border-radius:10px!important;line-height:1.5!important}
.bpdc-action-icon{margin-right:2px!important}
.bpdc-mobile-menu-toggle{cursor:pointer!important}
body.bpdc-menu-visible{overflow:hidden!important}
@media(max-width:1050px){
  .bpdc-data-tools{grid-template-columns:1fr!important;align-items:stretch!important}
  .bpdc-data-tools>a,.bpdc-data-tools>form,.bpdc-data-tools button{width:100%!important}
}
@media(max-width:760px){
  .bpdc-dashboard-main{padding:74px 16px 28px!important}
  .bpdc-panel,.bpdc-settings-form,.bpdc-data-tools,.bpdc-agenda-sidebar,
  .bpdc-client-family-card,.bpdc-pet-index-card,.bpdc-summary-card{padding:17px!important}
  .bpdc-data-tools{gap:14px!important}
  .bpdc-data-tools form{display:grid!important;grid-template-columns:1fr!important}
  .bpdc-record-actions{display:grid!important;grid-template-columns:1fr!important}
  .bpdc-record-actions a,.bpdc-record-actions button{width:100%!important}
  .bpdc-form-section{padding:15px!important}
}

/* v2.9.5 appointments and customize icons */
.bpdc-heading-with-icon{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
}
.bpdc-heading-icon-wrap{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  border:1px solid #DCE7EA!important;
  border-radius:12px!important;
  background:#FFFFFF!important;
}
.bpdc-panel-title-icon{
  display:block!important;
  width:34px!important;
  height:34px!important;
  object-fit:contain!important;
}
.bpdc-toolbar-with-icon{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:14px!important;
}
.bpdc-quick-action-with-icon{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.bpdc-pet-chips span{
  padding-left:10px!important;
}
.bpdc-pet-index-icon:empty{
  display:none!important;
}
.bpdc-pet-index-card:has(.bpdc-pet-index-icon:empty){
  grid-template-columns:1fr auto!important;
}
@media(max-width:760px){
  .bpdc-heading-with-icon{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .bpdc-heading-with-icon > button{
    grid-column:1/-1!important;
    width:100%!important;
  }
  .bpdc-toolbar-with-icon{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
}

/* v2.9.6 reliable CRUD fallback links */
.bpdc-button-link,
.bpdc-action-link{
  text-decoration:none!important;
}
.bpdc-record-actions .bpdc-action-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 13px!important;
  border:1px solid #CFDBDF!important;
  border-radius:9px!important;
  background:#FFFFFF!important;
  color:#28373E!important;
  font-weight:600!important;
}
.bpdc-pet-owner-link{
  display:inline-flex!important;
  align-items:center!important;
  min-height:40px!important;
  padding:8px 12px!important;
  border:1px solid #CFDBDF!important;
  border-radius:9px!important;
  background:#FFFFFF!important;
  color:var(--bpdc-brand-primary)!important;
  text-decoration:none!important;
}

/* v2.9.7 additional contact deletion */
.bpdc-contact-block-actions{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:4px!important;
  padding-top:12px!important;
  border-top:1px solid #E1E9EC!important;
}
.bpdc-delete-contact-button{
  min-height:40px!important;
  padding:9px 13px!important;
}
.bpdc-additional-contact[hidden]{
  display:none!important;
}
@media(max-width:760px){
  .bpdc-contact-block-actions{
    justify-content:stretch!important;
  }
  .bpdc-delete-contact-button{
    width:100%!important;
  }
}

/* v2.9.8 immediate contact deletion */
.bpdc-delete-contact-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.bpdc-delete-contact-button:active{
  transform:translateY(1px);
}

/* v2.9.9 client identity CRUD fix */
.bpdc-alert.error{border-left:5px solid #B42318!important}

/* v3.0.0 single database icon and native contact deletion */
.bpdc-data-tools > a .bpdc-action-icon{
  margin:0!important;
}
.bpdc-delete-contact-button{
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}

/* v3.0.1 contact delete bypass */
.bpdc-delete-contact-button[disabled]{
  opacity:.65!important;
  cursor:wait!important;
}

/* v3.0.2 native contact delete */
.bpdc-delete-contact-button{
  pointer-events:auto!important;
  cursor:pointer!important;
}

/* v3.0.3 visual cleanup and expanded catalogs */
@media(min-width:761px){
  .bpdc-mobile-menu-toggle{display:none!important}
}
@media(max-width:760px){
  .bpdc-mobile-menu-toggle{
    display:grid!important;
    left:auto!important;
    right:14px!important;
    top:14px!important;
  }
  .bpdc-side-brand{padding-right:58px!important}
}
.bpdc-dashboard-panel-heading{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
}
.bpdc-dashboard-panel-icon{
  width:42px!important;
  height:42px!important;
  object-fit:contain!important;
}
.bpdc-stars-icon{width:58px!important;height:42px!important}
.bpdc-quick-actions a>img,
.bpdc-quick-actions button>img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
  margin:0!important;
}
.bpdc-empty-agenda{padding-top:22px!important}
.bpdc-empty-agenda>p{margin:0!important}
.bpdc-modal-step-badge{font-variant-numeric:tabular-nums!important}
.bpdc-pet-chips span::before,
.bpdc-pet-index-card h3::before,
.bpdc-pet-editor-head strong::before{content:none!important;display:none!important}

/* v3.0.4 manual Other fields */
.bpdc-pet-editor-body textarea[data-pet-field="other_pet_details"]{
  min-height:120px!important;
}


/* v3.0.6 breed information opens only through the question-mark button */
.bpdc-breed-help{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--bpdc-brand-primary)!important;
  color:#FFFFFF!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
}


/* v3.0.7 direct independent contact deletion */
.bpdc-delete-contact-button{
  pointer-events:auto!important;
  cursor:pointer!important;
}
.bpdc-delete-contact-button[disabled]{
  opacity:.65!important;
  cursor:wait!important;
}

/* v3.0.9 AJAX contact deletion */
.bpdc-delete-contact-button[disabled]{
  opacity:.6!important;
  cursor:wait!important;
}

/* v3.0.12 frontend AJAX client record deletion */
[data-action="delete-client-ajax"][disabled]{
  opacity:.6!important;
  cursor:wait!important;
}

/* v3.0.13 clean product branding */
.bpdc-brainy-fixed-brand .bpdc-brand-parent{
  display:block!important;
  color:#28373E!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-weight:700!important;
  font-size:15px!important;
  line-height:1.2!important;
  margin:0!important;
}
.bpdc-brainy-fixed-brand .bpdc-brand-product{
  display:block!important;
  color:#28373E!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-weight:700!important;
  font-size:17px!important;
  line-height:1.22!important;
  margin-top:3px!important;
}
.bpdc-build-marker{display:none!important}


/* ===== v3.0.14 responsive UX fixes ===== */

/* Language flags: images only */
.bpdc-lang{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.bpdc-lang a{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:42px!important;
  padding:5px!important;
}
.bpdc-lang img{
  display:block!important;
  width:40px!important;
  height:28px!important;
  object-fit:contain!important;
}

/* Menu: desktop sidebar visible; mobile drawer */
.bpdc-sidebar-close{display:none!important}
@media(min-width:761px){
  .bpdc-mobile-menu-toggle{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    left:auto!important;
    z-index:100!important;
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    height:46px!important;
    border:0!important;
    border-radius:12px!important;
    background:#0E86BD!important;
    color:#fff!important;
    font-size:24px!important;
    cursor:pointer!important;
  }
  .bpdc-dashboard-sidebar{
    transform:none!important;
  }
  .bpdc-dashboard.bpdc-sidebar-collapsed{
    grid-template-columns:86px minmax(0,1fr)!important;
  }
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-dashboard-sidebar{
    width:86px!important;
    overflow:hidden!important;
  }
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-brand > div:last-child,
  .bpdc-dashboard.bpdc-sidebar-collapsed nav span,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout{
    display:none!important;
  }
}

@media(max-width:760px){
  .bpdc-mobile-menu-toggle{
    position:fixed!important;
    top:calc(env(safe-area-inset-top, 0px) + 12px)!important;
    right:14px!important;
    left:auto!important;
    z-index:10005!important;
    width:50px!important;
    height:50px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:14px!important;
    background:#0E86BD!important;
    color:#fff!important;
    font-size:26px!important;
  }
  .bpdc-dashboard-sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(84vw,320px)!important;
    z-index:10006!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    overflow-y:auto!important;
  }
  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar{
    transform:translateX(0)!important;
  }
  .bpdc-sidebar-close{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    width:42px!important;
    height:42px!important;
    z-index:2!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#28373E!important;
    font-size:28px!important;
  }
  .bpdc-mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:10005!important;
    background:rgba(18,23,28,.42)!important;
  }
  .bpdc-dashboard:not(.bpdc-menu-open) .bpdc-mobile-menu-overlay{
    display:none!important;
  }

  /* Keep flags high and away from Brainy logo */
  .bpdc-lang{
    position:fixed!important;
    top:calc(env(safe-area-inset-top, 0px) + 6px)!important;
    right:74px!important;
    left:auto!important;
    z-index:10004!important;
    padding:4px!important;
  }
  .bpdc-lang a{
    width:48px!important;
    height:38px!important;
  }
  .bpdc-lang img{
    width:34px!important;
    height:24px!important;
  }
  .bpdc-brand{
    padding-top:54px!important;
    padding-right:0!important;
  }

  /* Quick actions in a clean vertical order */
  .bpdc-quick-actions-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .bpdc-quick-actions-grid > a,
  .bpdc-quick-actions-grid > button{
    width:100%!important;
    min-height:78px!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:start!important;
    gap:14px!important;
    padding:12px 18px!important;
    text-align:left!important;
  }
  .bpdc-quick-actions-grid .bpdc-action-icon{
    width:48px!important;
    height:48px!important;
    margin:0!important;
    object-fit:contain!important;
  }
}

/* Breed modal available from every form/view */
#bpdc-breed-modal{
  position:fixed!important;
  inset:0!important;
  z-index:20000!important;
  background:rgba(18,23,28,.52)!important;
  padding:18px!important;
}
#bpdc-breed-modal:not([hidden]){
  display:grid!important;
  place-items:center!important;
}
#bpdc-breed-modal .bpdc-modal-dialog{
  position:relative!important;
  width:min(720px,94vw)!important;
  max-height:86vh!important;
  overflow:auto!important;
  margin:auto!important;
  padding:26px!important;
  border-radius:20px!important;
  background:#fff!important;
}
#bpdc-breed-modal .bpdc-modal-close{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
}

/* Phone code and hyphen formatting */
.bpdc-phone-wrap{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  width:100%!important;
  margin-top:8px!important;
}
.bpdc-phone-prefix{
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  border:1px solid #c9d8dd!important;
  border-right:0!important;
  border-radius:11px 0 0 11px!important;
  background:#eef4f5!important;
  color:#28373E!important;
  font-weight:800!important;
}
.bpdc-phone-wrap input{
  margin-top:0!important;
  border-radius:0 11px 11px 0!important;
}
.bpdc-contact-phone{
  display:block!important;
  margin:5px 0 10px!important;
  color:#60747c!important;
}

/* Pet index alphabet */
.bpdc-pet-alphabet{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:14px 0 18px!important;
}
.bpdc-alpha-button{
  min-width:36px!important;
  height:36px!important;
  padding:0 8px!important;
  border:1px solid #d4e1e5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#28373E!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.bpdc-alpha-button.active{
  background:#28373E!important;
  color:#fff!important;
}
@media(max-width:760px){
  .bpdc-pet-alphabet{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:6px!important;
  }
  .bpdc-alpha-button{
    flex:0 0 auto!important;
  }
}

/* v3.0.14 auth mobile flag clearance */
@media(max-width:760px){
  .bpdc-screen > .bpdc-card{
    padding-top:76px!important;
  }
  .bpdc-screen .bpdc-brand{
    padding-top:0!important;
    padding-right:0!important;
    min-height:120px!important;
  }
  .bpdc-screen .bpdc-lang{
    top:10px!important;
    right:12px!important;
  }
}

/* v3.0.15 country selection cards: actual flags instead of US / PA */
.bpdc-country .bpdc-country-flag{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:112px!important;
  margin-bottom:12px!important;
}
.bpdc-country .bpdc-country-flag img{
  display:block!important;
  width:min(220px,70%)!important;
  max-height:105px!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .bpdc-country .bpdc-country-flag{
    min-height:82px!important;
  }
  .bpdc-country .bpdc-country-flag img{
    width:min(170px,72%)!important;
    max-height:76px!important;
  }
}

/* v3.0.16 exact user-supplied flags everywhere */
.bpdc-country-badge{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:8px 12px!important;
}
.bpdc-country-badge img{
  display:block!important;
  width:42px!important;
  height:28px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
  border-radius:0!important;
}
.bpdc-country-badge span{
  display:inline-block!important;
  font-weight:700!important;
}

/* Language selector: preserve original PNG aspect ratio and remove icon styling */
.bpdc-lang a{
  overflow:visible!important;
}
.bpdc-lang img{
  display:block!important;
  width:44px!important;
  height:auto!important;
  max-height:30px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
@media(max-width:760px){
  .bpdc-lang{
    gap:6px!important;
  }
  .bpdc-lang a{
    width:52px!important;
    height:42px!important;
    padding:5px!important;
  }
  .bpdc-lang img{
    width:42px!important;
    height:auto!important;
    max-height:29px!important;
  }
  .bpdc-country-badge img{
    width:38px!important;
    height:26px!important;
  }
}

/* Country-choice cards also keep the original rectangular flag proportions */
.bpdc-country .bpdc-country-flag img{
  width:min(230px,76%)!important;
  height:auto!important;
  max-height:118px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
@media(max-width:760px){
  .bpdc-country .bpdc-country-flag img{
    width:min(190px,78%)!important;
    height:auto!important;
    max-height:92px!important;
  }
}


/* ===== v3.0.17 AUTHORITATIVE SIDEBAR MENU ===== */

html.bpdc-menu-lock,
body.bpdc-menu-lock{
  overflow:hidden!important;
}

.bpdc-dashboard{
  position:relative!important;
}

.bpdc-dashboard-sidebar{
  box-sizing:border-box!important;
}

.bpdc-mobile-menu-toggle{
  border:0!important;
  background:#0E86BD!important;
  color:#FFFFFF!important;
  cursor:pointer!important;
  display:grid!important;
  place-items:center!important;
  z-index:30020!important;
}

.bpdc-mobile-menu-overlay{
  background:rgba(18,23,28,.48)!important;
}

/* Desktop */
@media(min-width:761px){
  .bpdc-dashboard{
    display:grid!important;
    grid-template-columns:280px minmax(0,1fr)!important;
  }

  .bpdc-dashboard-sidebar{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    bottom:auto!important;
    width:280px!important;
    min-width:280px!important;
    height:auto!important;
    min-height:100vh!important;
    transform:none!important;
    translate:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    overflow:visible!important;
    z-index:20!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed{
    grid-template-columns:86px minmax(0,1fr)!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-dashboard-sidebar{
    width:86px!important;
    min-width:86px!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-brand > div:last-child,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-dashboard-sidebar nav span,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout{
    display:none!important;
  }

  .bpdc-mobile-menu-toggle{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    width:46px!important;
    height:46px!important;
    border-radius:13px!important;
    font-size:24px!important;
  }

  .bpdc-mobile-menu-overlay{
    display:none!important;
  }

  .bpdc-sidebar-close{
    display:none!important;
  }
}

/* Mobile */
@media(max-width:760px){
  .bpdc-dashboard{
    display:block!important;
    width:100%!important;
  }

  .bpdc-dashboard-sidebar{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:min(86vw,320px)!important;
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding-top:max(18px,env(safe-area-inset-top))!important;
    transform:translate3d(-105%,0,0)!important;
    translate:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    background:#FFFFFF!important;
    box-shadow:14px 0 40px rgba(0,0,0,.24)!important;
    z-index:30030!important;
    transition:transform .22s ease!important;
  }

  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar{
    transform:translate3d(0,0,0)!important;
    pointer-events:auto!important;
  }

  .bpdc-mobile-menu-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    z-index:30025!important;
  }

  .bpdc-mobile-menu-overlay[hidden]{
    display:none!important;
  }

  .bpdc-mobile-menu-toggle{
    position:fixed!important;
    top:calc(env(safe-area-inset-top, 0px) + 12px)!important;
    right:14px!important;
    left:auto!important;
    width:50px!important;
    height:50px!important;
    border-radius:14px!important;
    font-size:27px!important;
  }

  .bpdc-sidebar-close{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    top:max(12px,env(safe-area-inset-top))!important;
    right:12px!important;
    width:42px!important;
    height:42px!important;
    border:0!important;
    border-radius:12px!important;
    background:#F4F8F9!important;
    color:#28373E!important;
    font-size:28px!important;
    cursor:pointer!important;
    z-index:4!important;
  }
}

/* v3.0.18 client icon replacement */
.bpdc-module-title-with-icon{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.bpdc-module-client-icon{
  width:52px!important;
  height:52px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}
.bpdc-empty-client-icon{
  width:72px!important;
  height:72px!important;
  object-fit:contain!important;
  margin:0 auto 12px!important;
}
.bpdc-dashboard-panel-icon[src*="icon-recent-clients.png"]{
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .bpdc-module-client-icon{
    width:46px!important;
    height:46px!important;
  }
}

/* v3.0.18 final sidebar safeguard */
@media(max-width:760px){
  body .bpdc-dashboard.bpdc-menu-open > #bpdc-dashboard-sidebar{
    display:block!important;
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:2147483000!important;
  }
  body .bpdc-dashboard > .bpdc-mobile-menu-overlay:not([hidden]){
    z-index:2147482990!important;
  }
}

/* v3.0.19 global modal actions */
.bpdc-modal .bpdc-modal-close{
  display:grid!important;
  place-items:center!important;
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#F2F5F6!important;
  color:#28373E!important;
  font-size:27px!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  z-index:2147483640!important;
  touch-action:manipulation!important;
}
.bpdc-modal .bpdc-modal-dialog{
  position:relative!important;
}
.bpdc-modal[hidden]{
  display:none!important;
}

/* v3.0.21 consolidated QA safeguards */
@media(max-width:760px){
  .bpdc-lang{top:calc(env(safe-area-inset-top,0px) + 6px)!important;right:78px!important;left:auto!important;}
  .bpdc-lang img{width:40px!important;height:auto!important;max-height:28px!important;object-fit:contain!important;}
  .bpdc-mobile-menu-toggle{top:calc(env(safe-area-inset-top,0px) + 8px)!important;right:14px!important;}
  .bpdc-side-brand,.bpdc-brand{padding-top:58px!important;}
}
#bpdc-client-us-state,#bpdc-client-us-city,#bpdc-client-pa-province,#bpdc-client-pa-district,#bpdc-client-pa-corregimiento{display:block!important;width:100%!important;min-height:48px!important;}
.bpdc-module-search{width:100%!important;min-height:48px!important;}

/* v3.0.22 phone country selector */
.bpdc-phone-wrap{display:grid!important;grid-template-columns:minmax(160px,42%) minmax(0,1fr)!important;gap:8px!important;width:100%!important}
.bpdc-phone-country-select{width:100%!important;min-height:48px!important;border:1px solid #C9D8DD!important;border-radius:11px!important;background:#F7FAFB!important;color:#28373E!important;padding:0 10px!important;font-weight:700!important}
.bpdc-phone-wrap input{width:100%!important;min-width:0!important;margin:0!important;border-radius:11px!important}
@media(max-width:760px){.bpdc-phone-wrap{grid-template-columns:1fr!important;gap:7px!important}}
#bpdc-client-pa-province,#bpdc-client-pa-district,#bpdc-client-pa-corregimiento,#bpdc-client-us-state,#bpdc-client-us-city{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:48px!important}

/* v3.0.23 agenda dashboard sync */
.bpdc-appointment-save-notice{
  margin:0 0 14px!important;
}
.bpdc-agenda-pending{
  border-left:4px solid #E7A23B!important;
}
@media(max-width:760px){
  .bpdc-interactive-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .bpdc-agenda-sidebar{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .bpdc-agenda-list{
    display:grid!important;
    width:100%!important;
    gap:10px!important;
  }
  .bpdc-agenda-item{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
  }
  .bpdc-agenda-actions{
    grid-column:1 / -1!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
}

/* v3.0.24 appointments + navigation UX */
.bpdc-signout{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  min-height:52px!important;margin:18px 14px 16px!important;padding:12px 16px!important;
  border:2px solid #28373E!important;border-radius:14px!important;background:#28373E!important;color:#fff!important;
  font-size:15px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(40,55,62,.16)!important;
}
.bpdc-signout:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important}
.bpdc-signout-icon{font-size:20px!important;line-height:1!important}
.bpdc-sidebar-language{margin:18px 14px 4px!important;padding:12px!important;border:1px solid #DCE7EA!important;border-radius:14px!important;background:#F7FAFB!important}
.bpdc-sidebar-language>span{display:block!important;margin-bottom:8px!important;color:#60747C!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.bpdc-sidebar-flags{display:flex!important;gap:10px!important;align-items:center!important}
.bpdc-sidebar-flags a{display:grid!important;place-items:center!important;width:52px!important;height:38px!important;border:1px solid #D6E2E6!important;border-radius:10px!important;background:#fff!important}
.bpdc-sidebar-flags img{width:36px!important;height:24px!important;object-fit:contain!important;border-radius:0!important}
.bpdc-summary-card-link{text-decoration:none!important;color:inherit!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important}
.bpdc-summary-card-link:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(40,55,62,.12)!important}
.bpdc-agenda-heading-link{color:inherit!important;text-decoration:none!important}
.bpdc-agenda-heading-link:hover{text-decoration:underline!important}
.bpdc-appointments-module{width:100%!important}
.bpdc-appointment-filterbar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;margin:18px 0!important}
.bpdc-appointment-filter{padding:9px 13px!important;border:1px solid #D4E1E5!important;border-radius:10px!important;background:#fff!important;color:#28373E!important;text-decoration:none!important;font-weight:800!important}
.bpdc-appointment-filter.active{background:#28373E!important;color:#fff!important;border-color:#28373E!important}
.bpdc-service-filter{margin-left:auto!important}.bpdc-service-filter select{min-height:42px!important;border-radius:10px!important;padding:0 10px!important}
.bpdc-appointment-history-list{display:grid!important;gap:12px!important}
.bpdc-appointment-history-card{display:grid!important;grid-template-columns:120px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;padding:16px!important;border:1px solid #DDE7EA!important;border-radius:16px!important;background:#fff!important}
.bpdc-appointment-history-date{display:grid!important;gap:4px!important}.bpdc-appointment-history-date small{color:#6B7D84!important}
.bpdc-appointment-history-main{display:grid!important;gap:4px!important}.bpdc-appointment-history-main p,.bpdc-appointment-history-main small,.bpdc-appointment-history-main em{margin:0!important}.bpdc-appointment-history-main em{font-style:normal!important;font-size:12px!important;color:#7A8B91!important}
.bpdc-appointment-history-title{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}
.bpdc-status-badge{display:inline-flex!important;padding:5px 9px!important;border-radius:999px!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important}
.bpdc-status-scheduled{background:#E8F4FA!important;color:#0E86BD!important}.bpdc-status-completed{background:#E8F8EF!important;color:#168A4C!important}.bpdc-status-cancelled{background:#FCEBEC!important;color:#B23A48!important}
.bpdc-appointment-history-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;justify-content:flex-end!important}.bpdc-appointment-history-actions form{margin:0!important}.bpdc-appointment-history-actions a,.bpdc-appointment-history-actions button{min-height:38px!important;padding:8px 10px!important;border-radius:9px!important;border:1px solid #CBDDE2!important;background:#fff!important;color:#28373E!important;font-weight:800!important;text-decoration:none!important;cursor:pointer!important}.bpdc-appointment-history-actions .bpdc-danger-soft{color:#B23A48!important;border-color:#F0C7CB!important;background:#FFF7F8!important}
@media(max-width:760px){
  /* Floating flags no longer cover the header/logo. The language control lives in the drawer. */
  .bpdc-dashboard>.bpdc-lang,.bpdc-dashboard-main>.bpdc-lang{display:none!important}
  .bpdc-sidebar-language{display:block!important}
  .bpdc-signout{margin-top:22px!important;margin-bottom:24px!important;min-height:56px!important;font-size:16px!important}
  .bpdc-appointment-filterbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bpdc-service-filter{grid-column:1/-1!important;margin-left:0!important}.bpdc-service-filter select{width:100%!important}
  .bpdc-appointment-history-card{grid-template-columns:1fr!important;gap:10px!important}
  .bpdc-appointment-history-actions{justify-content:flex-start!important}
}


/* ===== v3.0.26 sidebar collapsed spacing + mobile flag clearance ===== */

/* Desktop collapsed sidebar should still look intentional, not squeezed */
@media(min-width:761px){
  .bpdc-dashboard.bpdc-sidebar-collapsed{
    grid-template-columns:104px minmax(0,1fr)!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-dashboard-sidebar{
    width:104px!important;
    min-width:104px!important;
    padding-left:14px!important;
    padding-right:14px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:14px 0 18px!important;
    margin-bottom:14px!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-brand img{
    width:54px!important;
    height:54px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed nav a,
  .bpdc-dashboard.bpdc-sidebar-collapsed nav button{
    width:68px!important;
    min-width:68px!important;
    height:58px!important;
    min-height:58px!important;
    display:grid!important;
    place-items:center!important;
    padding:8px!important;
    margin:0!important;
    border-radius:14px!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed nav img,
  .bpdc-dashboard.bpdc-sidebar-collapsed nav .bpdc-nav-icon{
    width:30px!important;
    height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    margin:0!important;
    object-fit:contain!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-language{
    width:72px!important;
    margin:18px auto 10px!important;
    padding:10px 6px!important;
    border-radius:14px!important;
    overflow:visible!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-language > span,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-language .bpdc-side-language-label{
    display:none!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-language .bpdc-lang{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-language .bpdc-lang a{
    width:52px!important;
    height:38px!important;
    min-width:52px!important;
    padding:4px!important;
    margin:0!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-side-language .bpdc-lang img{
    width:38px!important;
    height:auto!important;
    max-height:26px!important;
    object-fit:contain!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout{
    display:grid!important;
    place-items:center!important;
    width:68px!important;
    min-width:68px!important;
    min-height:52px!important;
    margin:16px auto 12px!important;
    padding:8px!important;
    font-size:0!important;
    border-radius:14px!important;
  }

  
}

/* Mobile: keep language controls well above any back arrow / floating navigation */
@media(max-width:760px){
  .bpdc-lang{
    position:fixed!important;
    top:calc(env(safe-area-inset-top, 0px) + 54px)!important;
    right:78px!important;
    left:auto!important;
    z-index:2147482970!important;
    margin:0!important;
    padding:4px!important;
  }

  .bpdc-lang a{
    width:46px!important;
    height:34px!important;
    padding:3px!important;
  }

  .bpdc-lang img{
    width:36px!important;
    height:auto!important;
    max-height:24px!important;
    object-fit:contain!important;
  }

  /* Leave a clear navigation zone under the browser chrome */
  .bpdc-screen > .bpdc-card,
  .bpdc-dashboard-main{
    padding-top:max(84px, calc(env(safe-area-inset-top, 0px) + 84px))!important;
  }

  /* Inside the opened mobile sidebar, language stays in normal flow */
  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar .bpdc-lang,
  .bpdc-dashboard-sidebar .bpdc-side-language .bpdc-lang{
    position:static!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:8px 0 0!important;
    padding:0!important;
    z-index:auto!important;
  }

  .bpdc-dashboard-sidebar .bpdc-side-language{
    margin-top:18px!important;
    padding:14px!important;
  }
}

/* ===== v3.0.27 menu actions / pointer-event fix ===== */

.bpdc-mobile-menu-overlay[hidden]{
  display:none!important;
  pointer-events:none!important;
}

@media(min-width:761px){
  .bpdc-mobile-menu-overlay{
    display:none!important;
    pointer-events:none!important;
  }

  .bpdc-dashboard-sidebar{
    pointer-events:auto!important;
  }

  .bpdc-dashboard-sidebar nav,
  .bpdc-dashboard-sidebar nav a,
  .bpdc-dashboard-sidebar nav button,
  .bpdc-signout{
    pointer-events:auto!important;
    position:relative!important;
    z-index:10!important;
  }
}

@media(max-width:760px){
  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar{
    pointer-events:auto!important;
    z-index:2147483000!important;
  }

  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar nav,
  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar nav a,
  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar nav button,
  .bpdc-dashboard.bpdc-menu-open .bpdc-signout,
  .bpdc-dashboard.bpdc-menu-open .bpdc-side-language{
    pointer-events:auto!important;
    position:relative!important;
    z-index:2147483005!important;
  }

  .bpdc-dashboard.bpdc-menu-open .bpdc-mobile-menu-overlay{
    z-index:2147482990!important;
    pointer-events:auto!important;
  }
}


/* ===== v3.0.28 mobile language flags: clear the back-action arrow ===== */
@media(max-width:760px){
  body .bpdc-lang{
    top:calc(env(safe-area-inset-top, 0px) + 8px)!important;
    right:18px!important;
    left:auto!important;
    transform:none!important;
    z-index:2147482970!important;
  }

  /* Reserve the arrow's own row below the flags */
  .bpdc-screen .bpdc-back,
  .bpdc-screen [data-action="back"],
  .bpdc-screen .bpdc-back-button{
    top:92px!important;
    right:28px!important;
    z-index:2147482960!important;
  }

  /* Language selector inside an opened sidebar remains part of the sidebar. */
  .bpdc-dashboard.bpdc-menu-open .bpdc-dashboard-sidebar .bpdc-lang,
  .bpdc-dashboard-sidebar .bpdc-side-language .bpdc-lang{
    position:static!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
  }
}


/* ===== v3.0.29 sidebar cleanup ===== */

/* Sidebar language selector intentionally removed.
   Login / register language flags remain available. */
.bpdc-dashboard-sidebar .bpdc-side-language{
  display:none!important;
}

/* One sign-out control only */
@media(min-width:761px){
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout::before,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout::after{
    content:none!important;
    display:none!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout{
    width:68px!important;
    min-width:68px!important;
    min-height:52px!important;
    margin:18px auto 14px!important;
    padding:8px!important;
    display:grid!important;
    place-items:center!important;
    font-size:0!important;
    overflow:hidden!important;
  }

  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout img,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout svg,
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout .bpdc-signout-icon{
    display:block!important;
    width:28px!important;
    height:28px!important;
    margin:0!important;
  }
}

/* Mobile sidebar also does not show the duplicate language block */
@media(max-width:760px){
  .bpdc-dashboard-sidebar .bpdc-side-language{
    display:none!important;
  }
}


/* ===== v3.0.30 company logo guidance / presentation ===== */
.bpdc-logo-hint{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  margin:8px 0 2px!important;
  padding:10px 12px!important;
  border:1px solid #D9E5E9!important;
  border-radius:10px!important;
  background:#F7FAFB!important;
  color:#28373E!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.bpdc-logo-hint strong{font-weight:800!important}
.bpdc-company-logo-wrap,
.bpdc-business-logo,
.bpdc-client-brand-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:110px!important;
  padding:10px!important;
  overflow:hidden!important;
}
.bpdc-company-logo-wrap img,
.bpdc-business-logo img,
.bpdc-client-brand-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(92%,420px)!important;
  max-height:96px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}
@media(max-width:760px){
  .bpdc-company-logo-wrap,
  .bpdc-business-logo,
  .bpdc-client-brand-logo{min-height:92px!important}
  .bpdc-company-logo-wrap img,
  .bpdc-business-logo img,
  .bpdc-client-brand-logo img{
    max-width:88%!important;
    max-height:82px!important;
  }
}

/* ===== v3.0.30 white logout icon ===== */
.bpdc-signout{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.bpdc-signout::before{
  content:""!important;
  display:block!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  background:#FFFFFF!important;
  -webkit-mask-image:url("../assets/logout.png")!important;
  mask-image:url("../assets/logout.png")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}
.bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout{
  font-size:0!important;
}
.bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout::before{
  width:30px!important;
  height:30px!important;
  flex-basis:30px!important;
}

/* ===== v3.0.30 show/hide password ===== */
.bpdc-password-field{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
}
.bpdc-password-field input{
  width:100%!important;
  padding-right:96px!important;
}
.bpdc-password-toggle{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-width:72px!important;
  height:38px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:9px!important;
  background:#EEF4F6!important;
  color:#28373E!important;
  font-weight:800!important;
  cursor:pointer!important;
  z-index:4!important;
}


/* ===== v3.0.31 FINAL SIDEBAR CLEANUP ===== */
/* Language selector must never appear inside dashboard/sidebar. */
.bpdc-dashboard .bpdc-language,
.bpdc-dashboard .bpdc-language-switcher,
.bpdc-dashboard .bpdc-lang-switcher,
.bpdc-dashboard .bpdc-sidebar-language,
.bpdc-dashboard .bpdc-language-box,
.bpdc-sidebar .bpdc-language,
.bpdc-sidebar .bpdc-language-switcher,
.bpdc-sidebar .bpdc-lang-switcher,
.bpdc-sidebar [class*="language"],
.bpdc-sidebar [class*="lang-box"]{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Sign out: one white logout icon only. No extra arrow/glyph. */
.bpdc-signout::after,
.bpdc-signout .bpdc-signout-arrow,
.bpdc-signout .bpdc-logout-arrow,
.bpdc-signout [class*="arrow"]{
  content:none!important;
  display:none!important;
}
.bpdc-signout::before{
  content:""!important;
  display:block!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  background:#fff!important;
  -webkit-mask-image:url("../assets/logout.png")!important;
  mask-image:url("../assets/logout.png")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}


/* ===== v3.0.32 MOBILE MENU / CUSTOMIZE / PASSWORD FINAL LAYOUT ===== */

/* Mobile: blue menu button higher; close X sits clearly below it */
@media(max-width:760px){
  .bpdc-mobile-menu-toggle{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 6px)!important;
    right:14px!important;
    width:50px!important;
    height:50px!important;
    z-index:2147483020!important;
  }

  .bpdc-dashboard-sidebar .bpdc-sidebar-close{
    top:calc(env(safe-area-inset-top,0px) + 70px)!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    z-index:2147483010!important;
  }

  /* Leave room at the top of the opened drawer for both controls */
  .bpdc-dashboard-sidebar{
    padding-top:calc(env(safe-area-inset-top,0px) + 122px)!important;
  }
}

/* Customize/Settings: force a clean one-column mobile layout */
@media(max-width:760px){
  .bpdc-settings-page,
  .bpdc-settings-grid,
  .bpdc-settings-form,
  .bpdc-customize-page,
  .bpdc-customize-grid,
  .bpdc-customize-form,
  .bpdc-branding-settings,
  .bpdc-profile-settings{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:block!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  .bpdc-settings-grid,
  .bpdc-customize-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .bpdc-settings-page .bpdc-panel,
  .bpdc-customize-page .bpdc-panel,
  .bpdc-settings-form .bpdc-panel,
  .bpdc-customize-form .bpdc-panel,
  .bpdc-branding-settings,
  .bpdc-profile-settings{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:16px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .bpdc-settings-page label,
  .bpdc-customize-page label,
  .bpdc-settings-form label,
  .bpdc-customize-form label{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-bottom:12px!important;
    box-sizing:border-box!important;
  }

  .bpdc-settings-page input,
  .bpdc-settings-page select,
  .bpdc-settings-page textarea,
  .bpdc-settings-page button,
  .bpdc-customize-page input,
  .bpdc-customize-page select,
  .bpdc-customize-page textarea,
  .bpdc-customize-page button,
  .bpdc-settings-form input,
  .bpdc-settings-form select,
  .bpdc-settings-form textarea,
  .bpdc-customize-form input,
  .bpdc-customize-form select,
  .bpdc-customize-form textarea{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .bpdc-settings-page input[type="file"],
  .bpdc-customize-page input[type="file"],
  .bpdc-settings-form input[type="file"],
  .bpdc-customize-form input[type="file"]{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:hidden!important;
  }

  .bpdc-logo-hint{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:8px 0 14px!important;
  }

  .bpdc-company-logo-wrap,
  .bpdc-business-logo,
  .bpdc-client-brand-logo{
    width:100%!important;
    min-height:110px!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }

  .bpdc-company-logo-wrap img,
  .bpdc-business-logo img,
  .bpdc-client-brand-logo img{
    max-width:90%!important;
    max-height:90px!important;
    margin:auto!important;
  }

  /* Database / backup controls inside Customize stack cleanly */
  .bpdc-settings-page .bpdc-actions,
  .bpdc-customize-page .bpdc-actions,
  .bpdc-settings-form .bpdc-actions,
  .bpdc-customize-form .bpdc-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .bpdc-settings-page .bpdc-actions > *,
  .bpdc-customize-page .bpdc-actions > *,
  .bpdc-settings-form .bpdc-actions > *,
  .bpdc-customize-form .bpdc-actions > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

/* Password Show/Hide: proper padding and centered text */
.bpdc-password-field{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
}

.bpdc-password-field input{
  width:100%!important;
  padding-right:112px!important;
  box-sizing:border-box!important;
}

.bpdc-password-toggle{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:82px!important;
  width:auto!important;
  height:40px!important;
  padding:0 14px!important;
  margin:0!important;
  border:1px solid #D4E1E5!important;
  border-radius:10px!important;
  background:#F2F6F7!important;
  color:#28373E!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
  z-index:4!important;
}

@media(max-width:760px){
  .bpdc-password-field input{
    padding-right:108px!important;
  }
  .bpdc-password-toggle{
    right:8px!important;
    min-width:78px!important;
    height:38px!important;
    padding:0 12px!important;
    font-size:13px!important;
  }
}


/* v3.0.34 — Sign out must show ONE white logout icon only; no extra arrow beside S */
.bpdc-signout .bpdc-arrow,
.bpdc-signout .bpdc-refresh,
.bpdc-signout .bpdc-switch-arrow,
.bpdc-signout [class*="arrow"],
.bpdc-signout [class*="refresh"],
.bpdc-logout .bpdc-arrow,
.bpdc-logout .bpdc-refresh,
.bpdc-logout [class*="arrow"],
.bpdc-logout [class*="refresh"]{
  display:none!important;
}
.bpdc-signout::before,
.bpdc-signout::after,
.bpdc-logout::before,
.bpdc-logout::after{
  content:none!important;
  display:none!important;
}


/* ===== v3.0.35 MOBILE CUSTOMIZE + MODAL CLOSE FIX ===== */

@media(max-width:760px){

  /* When a modal/ficha is open, remove the floating blue menu button completely.
     This prevents it from covering the modal X. */
  body.bpdc-modal-open .bpdc-mobile-menu-toggle{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Modal always sits above dashboard/menu layers */
  .bpdc-modal{
    z-index:2147483500!important;
    padding:18px 12px!important;
    align-items:flex-start!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .bpdc-modal .bpdc-modal-dialog{
    position:relative!important;
    width:100%!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    margin:56px auto 24px!important;
    padding:64px 18px 22px!important;
    border-radius:20px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* X gets its own clear area inside the modal */
  .bpdc-modal .bpdc-modal-close{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    z-index:2147483600!important;
    font-size:28px!important;
    line-height:1!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  /* Prevent modal titles/content from hiding behind the X */
  .bpdc-modal .bpdc-modal-dialog > h1,
  .bpdc-modal .bpdc-modal-dialog > h2,
  .bpdc-modal .bpdc-modal-dialog > h3,
  .bpdc-modal .bpdc-modal-dialog .bpdc-modal-title{
    padding-right:58px!important;
    margin-top:0!important;
  }

  /* ---------- Customize / Personalizar ---------- */
  .bpdc-customize-page,
  .bpdc-settings-page,
  .bpdc-customize-form,
  .bpdc-settings-form{
    width:100%!important;
    max-width:100%!important;
    padding:0 14px 28px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .bpdc-customize-page .bpdc-panel,
  .bpdc-settings-page .bpdc-panel,
  .bpdc-customize-form .bpdc-panel,
  .bpdc-settings-form .bpdc-panel,
  .bpdc-branding-settings,
  .bpdc-profile-settings{
    width:100%!important;
    max-width:100%!important;
    padding:20px 16px!important;
    margin:0 0 18px!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .bpdc-customize-grid,
  .bpdc-settings-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
  }

  .bpdc-customize-page label,
  .bpdc-settings-page label,
  .bpdc-customize-form label,
  .bpdc-settings-form label{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    width:100%!important;
    margin:0 0 16px!important;
    font-weight:700!important;
    line-height:1.35!important;
  }

  .bpdc-customize-page input,
  .bpdc-customize-page select,
  .bpdc-customize-page textarea,
  .bpdc-settings-page input,
  .bpdc-settings-page select,
  .bpdc-settings-page textarea,
  .bpdc-customize-form input,
  .bpdc-customize-form select,
  .bpdc-customize-form textarea,
  .bpdc-settings-form input,
  .bpdc-settings-form select,
  .bpdc-settings-form textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    padding:12px 14px!important;
    margin:0!important;
    border-radius:11px!important;
    box-sizing:border-box!important;
  }

  .bpdc-customize-page textarea,
  .bpdc-settings-page textarea,
  .bpdc-customize-form textarea,
  .bpdc-settings-form textarea{
    min-height:110px!important;
    resize:vertical!important;
  }

  .bpdc-customize-page input[type="file"],
  .bpdc-settings-page input[type="file"],
  .bpdc-customize-form input[type="file"],
  .bpdc-settings-form input[type="file"]{
    min-height:54px!important;
    padding:10px!important;
    overflow:hidden!important;
  }

  .bpdc-logo-hint{
    margin:4px 0 18px!important;
    padding:12px 14px!important;
    line-height:1.5!important;
  }

  /* Colors / compact controls should wrap instead of squeezing */
  .bpdc-color-row,
  .bpdc-brand-colors,
  .bpdc-settings-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
  }

  /* Actions get clear full-width buttons */
  .bpdc-customize-page .bpdc-actions,
  .bpdc-settings-page .bpdc-actions,
  .bpdc-customize-form .bpdc-actions,
  .bpdc-settings-form .bpdc-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    margin-top:18px!important;
  }

  .bpdc-customize-page .bpdc-actions button,
  .bpdc-settings-page .bpdc-actions button,
  .bpdc-customize-form .bpdc-actions button,
  .bpdc-settings-form .bpdc-actions button{
    width:100%!important;
    min-height:50px!important;
    padding:12px 16px!important;
    margin:0!important;
    border-radius:12px!important;
  }

  /* General form rows inside edit ficha also get breathing room */
  .bpdc-modal form{
    display:block!important;
    width:100%!important;
  }

  .bpdc-modal form label{
    margin-bottom:14px!important;
  }

  .bpdc-modal form input,
  .bpdc-modal form select,
  .bpdc-modal form textarea{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}


/* ===== v3.0.36 EXACT USER LOGOUT ICON, RENDERED WHITE ===== */
.bpdc-signout{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.bpdc-signout::before{
  content:""!important;
  display:block!important;
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  background:#FFFFFF!important;
  -webkit-mask-image:url("../assets/logout.png")!important;
  mask-image:url("../assets/logout.png")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}
.bpdc-signout::after{
  content:none!important;
  display:none!important;
}
.bpdc-signout img,
.bpdc-signout svg,
.bpdc-signout [class*="arrow"],
.bpdc-signout [class*="refresh"]{
  display:none!important;
}
.bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout::before{
  width:30px!important;
  height:30px!important;
  flex-basis:30px!important;
}

/* ===== v3.0.36 MOBILE SERVICES RESPONSIVE ===== */
@media(max-width:760px){

  /* General services containers */
  .bpdc-services,
  .bpdc-services-page,
  .bpdc-services-panel,
  .bpdc-services-list,
  .bpdc-service-list,
  .bpdc-service-grid,
  .bpdc-upcoming-services,
  .bpdc-upcoming-services-list,
  .bpdc-appointments,
  .bpdc-appointments-page,
  .bpdc-appointments-list,
  .bpdc-appointments-grid,
  .bpdc-schedule,
  .bpdc-schedule-list,
  .bpdc-dashboard-services{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* Grids collapse to one column */
  .bpdc-service-grid,
  .bpdc-services-grid,
  .bpdc-upcoming-services-list,
  .bpdc-appointments-grid,
  .bpdc-dashboard-services{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  /* Service / appointment cards */
  .bpdc-service-card,
  .bpdc-services-card,
  .bpdc-upcoming-service,
  .bpdc-upcoming-service-card,
  .bpdc-appointment-card,
  .bpdc-schedule-card,
  .bpdc-service-row,
  .bpdc-appointment-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:block!important;
    padding:14px!important;
    margin:0 0 12px!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* Any row inside services/appointments stacks instead of squeezing */
  .bpdc-service-card > *,
  .bpdc-upcoming-service-card > *,
  .bpdc-appointment-card > *,
  .bpdc-service-row > *,
  .bpdc-appointment-row > *{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .bpdc-service-actions,
  .bpdc-appointment-actions,
  .bpdc-schedule-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    margin-top:10px!important;
  }

  .bpdc-service-actions button,
  .bpdc-service-actions a,
  .bpdc-appointment-actions button,
  .bpdc-appointment-actions a,
  .bpdc-schedule-actions button,
  .bpdc-schedule-actions a{
    width:100%!important;
    max-width:100%!important;
    min-height:46px!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    white-space:normal!important;
  }

  /* Dashboard Upcoming services must always be visible in mobile */
  .bpdc-dashboard .bpdc-upcoming-services,
  .bpdc-dashboard [class*="upcoming"][class*="service"],
  .bpdc-dashboard [class*="service"][class*="panel"]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  /* Text should wrap, never run off screen */
  .bpdc-services-page *,
  .bpdc-services-panel *,
  .bpdc-upcoming-services *,
  .bpdc-appointments-page *,
  .bpdc-appointment-card *,
  .bpdc-service-card *{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* Tables in appointments/services scroll horizontally instead of disappearing */
  .bpdc-services-page table,
  .bpdc-appointments-page table,
  .bpdc-services-panel table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    white-space:nowrap!important;
  }
}


/* ===== v3.0.37 AUTHORITATIVE SIGN OUT — SAME ON PC + MOBILE ===== */
.bpdc-signout{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  position:relative!important;
  pointer-events:auto!important;
}

.bpdc-signout::before{
  content:""!important;
  display:block!important;
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  background:#FFFFFF!important;
  -webkit-mask-image:url("../assets/logout.png")!important;
  mask-image:url("../assets/logout.png")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}

.bpdc-signout::after{
  content:none!important;
  display:none!important;
}

.bpdc-signout img,
.bpdc-signout svg,
.bpdc-signout [class*="arrow"],
.bpdc-signout [class*="refresh"],
.bpdc-signout [class*="logout-icon"],
.bpdc-signout [class*="signout-icon"]{
  display:none!important;
}

@media(min-width:761px){
  .bpdc-signout::before{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  .bpdc-dashboard.bpdc-sidebar-collapsed .bpdc-signout::before{
    width:30px!important;
    height:30px!important;
    flex-basis:30px!important;
  }
}

@media(max-width:760px){
  .bpdc-signout{
    width:100%!important;
    min-height:52px!important;
    padding:12px 16px!important;
    border-radius:14px!important;
  }
  .bpdc-signout::before{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
}


/* ===== v3.0.38 PHONE FIELD — NO OVERLAP WITH EMAIL ===== */
.bpdc-client-bundle-form .bpdc-phone-wrap,
#bpdc-client-form .bpdc-phone-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:8px 0 0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.bpdc-client-bundle-form .bpdc-phone-country-select,
#bpdc-client-form .bpdc-phone-country-select{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #C9D8DD!important;
  border-radius:11px!important;
  box-sizing:border-box!important;
}

.bpdc-client-bundle-form .bpdc-phone-wrap input,
#bpdc-client-form .bpdc-phone-wrap input{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #C9D8DD!important;
  border-radius:11px!important;
  box-sizing:border-box!important;
}

#bpdc-client-form .bpdc-grid > label,
.bpdc-client-bundle-form .bpdc-grid > label{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

@media(max-width:760px){
  #bpdc-client-form .bpdc-grid,
  .bpdc-client-bundle-form .bpdc-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}


/* ===== v3.0.38 PET INDEX FILTER ===== */
.bpdc-pet-index-card[hidden]{
  display:none!important;
}
.bpdc-alpha-button{
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.bpdc-alpha-button:hover,
.bpdc-alpha-button:focus{
  border-color:#28373E!important;
  outline:none!important;
}
.bpdc-alpha-button.active{
  background:#28373E!important;
  color:#FFFFFF!important;
  border-color:#28373E!important;
}
#bpdc-pet-search{
  pointer-events:auto!important;
  touch-action:manipulation!important;
}


/* ===== v3.0.39 MOBILE CLIENT / PET SERVICES LAYOUT ===== */
@media(max-width:760px){

  /* Every client/pet modal column must stay inside the viewport. */
  #bpdc-client-form,
  .bpdc-client-bundle-form,
  .bpdc-pet-form,
  .bpdc-pet-card-form,
  .bpdc-pet-editor,
  .bpdc-modal form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* Service area becomes a clean full-width block. */
  #bpdc-client-form .bpdc-services,
  #bpdc-client-form .bpdc-service-section,
  #bpdc-client-form .bpdc-services-section,
  .bpdc-client-bundle-form .bpdc-services,
  .bpdc-client-bundle-form .bpdc-service-section,
  .bpdc-client-bundle-form .bpdc-services-section,
  .bpdc-pet-form .bpdc-services,
  .bpdc-pet-form .bpdc-service-section,
  .bpdc-pet-form .bpdc-services-section,
  .bpdc-pet-card-form .bpdc-services,
  .bpdc-pet-card-form .bpdc-service-section,
  .bpdc-pet-card-form .bpdc-services-section,
  .bpdc-pet-editor .bpdc-services,
  .bpdc-pet-editor .bpdc-service-section,
  .bpdc-pet-editor .bpdc-services-section{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:18px 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }

  /* Service option grids collapse to one column. */
  #bpdc-client-form .bpdc-services-grid,
  #bpdc-client-form .bpdc-service-grid,
  .bpdc-client-bundle-form .bpdc-services-grid,
  .bpdc-client-bundle-form .bpdc-service-grid,
  .bpdc-pet-form .bpdc-services-grid,
  .bpdc-pet-form .bpdc-service-grid,
  .bpdc-pet-card-form .bpdc-services-grid,
  .bpdc-pet-card-form .bpdc-service-grid,
  .bpdc-pet-editor .bpdc-services-grid,
  .bpdc-pet-editor .bpdc-service-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:10px 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  /* Each service option occupies the entire row and can wrap text. */
  #bpdc-client-form .bpdc-service-option,
  #bpdc-client-form .bpdc-service-item,
  #bpdc-client-form .bpdc-service-check,
  .bpdc-client-bundle-form .bpdc-service-option,
  .bpdc-client-bundle-form .bpdc-service-item,
  .bpdc-client-bundle-form .bpdc-service-check,
  .bpdc-pet-form .bpdc-service-option,
  .bpdc-pet-form .bpdc-service-item,
  .bpdc-pet-form .bpdc-service-check,
  .bpdc-pet-card-form .bpdc-service-option,
  .bpdc-pet-card-form .bpdc-service-item,
  .bpdc-pet-card-form .bpdc-service-check,
  .bpdc-pet-editor .bpdc-service-option,
  .bpdc-pet-editor .bpdc-service-item,
  .bpdc-pet-editor .bpdc-service-check{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    transform:none!important;
  }

  #bpdc-client-form .bpdc-service-option *,
  #bpdc-client-form .bpdc-service-item *,
  #bpdc-client-form .bpdc-service-check *,
  .bpdc-client-bundle-form .bpdc-service-option *,
  .bpdc-client-bundle-form .bpdc-service-item *,
  .bpdc-client-bundle-form .bpdc-service-check *,
  .bpdc-pet-form .bpdc-service-option *,
  .bpdc-pet-form .bpdc-service-item *,
  .bpdc-pet-form .bpdc-service-check *,
  .bpdc-pet-card-form .bpdc-service-option *,
  .bpdc-pet-card-form .bpdc-service-item *,
  .bpdc-pet-card-form .bpdc-service-check *,
  .bpdc-pet-editor .bpdc-service-option *,
  .bpdc-pet-editor .bpdc-service-item *,
  .bpdc-pet-editor .bpdc-service-check *{
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Checkboxes/radios do not get stretched by generic input rules. */
  #bpdc-client-form .bpdc-services input[type="checkbox"],
  #bpdc-client-form .bpdc-services input[type="radio"],
  .bpdc-client-bundle-form .bpdc-services input[type="checkbox"],
  .bpdc-client-bundle-form .bpdc-services input[type="radio"],
  .bpdc-pet-form .bpdc-services input[type="checkbox"],
  .bpdc-pet-form .bpdc-services input[type="radio"],
  .bpdc-pet-card-form .bpdc-services input[type="checkbox"],
  .bpdc-pet-card-form .bpdc-services input[type="radio"]{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    flex:0 0 20px!important;
    margin:1px 0 0!important;
    padding:0!important;
  }

  /* Heading and Add service controls get their own full row. */
  #bpdc-client-form [class*="service"] h3,
  #bpdc-client-form [class*="service"] h4,
  .bpdc-client-bundle-form [class*="service"] h3,
  .bpdc-client-bundle-form [class*="service"] h4,
  .bpdc-pet-form [class*="service"] h3,
  .bpdc-pet-form [class*="service"] h4,
  .bpdc-pet-card-form [class*="service"] h3,
  .bpdc-pet-card-form [class*="service"] h4{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 10px!important;
    line-height:1.3!important;
    white-space:normal!important;
  }

  #bpdc-client-form [data-action="add-service"],
  .bpdc-client-bundle-form [data-action="add-service"],
  .bpdc-pet-form [data-action="add-service"],
  .bpdc-pet-card-form [data-action="add-service"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:48px!important;
    margin:12px 0 0!important;
    padding:12px 14px!important;
    white-space:normal!important;
    box-sizing:border-box!important;
  }

  /* Generic protection for any service-related child that inherited a desktop offset. */
  .bpdc-modal [class*="service"]{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}


/* ===== v3.0.40 EXACT MOBILE SERVICE LIST FIX ===== */
@media(max-width:760px){

  /* Exact service wrappers used by Pet Desk */
  .bpdc-service-checks,
  .bpdc-service-options,
  .bpdc-pet-services,
  .bpdc-services-list,
  .bpdc-service-list,
  fieldset[class*="service"],
  div[class*="service-check"],
  div[class*="service-option"]{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:10px 0 0!important;
    padding:0!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* Exact labels are the visible service cards */
  .bpdc-service-checks > label,
  .bpdc-service-options > label,
  .bpdc-pet-services > label,
  .bpdc-services-list > label,
  .bpdc-service-list > label,
  fieldset[class*="service"] > label,
  div[class*="service-check"] > label,
  div[class*="service-option"] > label,
  label[class*="service"]{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:12px 14px!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.35!important;
  }

  /* Checkbox stays compact; text gets the remaining width */
  .bpdc-service-checks > label input[type="checkbox"],
  .bpdc-service-options > label input[type="checkbox"],
  .bpdc-pet-services > label input[type="checkbox"],
  .bpdc-services-list > label input[type="checkbox"],
  .bpdc-service-list > label input[type="checkbox"],
  fieldset[class*="service"] > label input[type="checkbox"],
  label[class*="service"] input[type="checkbox"]{
    display:block!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    min-height:20px!important;
    flex:0 0 20px!important;
    margin:1px 0 0!important;
    padding:0!important;
    position:static!important;
    transform:none!important;
  }

  /* Any span/text wrapper inside a service choice must expand normally */
  .bpdc-service-checks > label > span,
  .bpdc-service-options > label > span,
  .bpdc-pet-services > label > span,
  .bpdc-services-list > label > span,
  .bpdc-service-list > label > span,
  fieldset[class*="service"] > label > span,
  label[class*="service"] > span{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:break-word!important;
    line-height:1.35!important;
  }

  /* Defensive reset for desktop multi-column/positioned service descendants */
  .bpdc-modal .bpdc-service-checks *,
  .bpdc-modal .bpdc-service-options *,
  .bpdc-modal .bpdc-pet-services *,
  .bpdc-modal fieldset[class*="service"] *{
    box-sizing:border-box!important;
  }

  /* Custom/add service field belongs on its own line */
  .bpdc-add-service,
  .bpdc-other-service,
  [data-role="other-service"],
  [data-action="add-service"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:12px 0 0!important;
    position:static!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  .bpdc-add-service input,
  .bpdc-other-service input,
  [data-role="other-service"] input{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}


/* ===== v3.0.41 PET INDEX SEARCH ===== */
#bpdc-pet-search,
#bpdc-pet-index-search,
.bpdc-pet-search,
.bpdc-pet-index-search,
.bpdc-pet-index input[type="search"],
.bpdc-pet-index-page input[type="search"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:48px!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  position:relative!important;
  z-index:5!important;
}

.bpdc-pet-index-card[hidden],
[data-pet-card][hidden]{
  display:none!important;
}
