.bs-site-tools{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:1150;display:flex;gap:8px;align-items:center}
.bs-site-tool-button{width:42px;height:42px;min-width:42px;display:grid;place-items:center;border:1px solid rgba(7,59,116,.24);border-radius:50%;background:rgba(255,255,255,.96);color:#073b74;box-shadow:0 4px 16px rgba(7,59,116,.16);cursor:pointer;text-decoration:none;padding:0;-webkit-tap-highlight-color:transparent}
.bs-site-tool-button svg{width:21px;height:21px;fill:currentColor;display:block}
.bs-site-tool-button:hover{background:#fff;border-color:#527ba4;transform:translateY(-1px)}
.bs-site-tool-button:focus-visible{outline:3px solid rgba(7,59,116,.22);outline-offset:2px}
.bs-contact-modal[hidden]{display:none}.bs-contact-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:18px}
.bs-contact-backdrop{position:absolute;inset:0;background:rgba(8,38,72,.46);backdrop-filter:blur(2px)}
.bs-contact-card{font-family:Inter,Segoe UI,Arial,sans-serif;position:relative;width:min(760px,100%);max-height:min(88vh,820px);overflow:auto;background:#fff;color:#172033;border:1px solid #d9e1df;border-top:5px solid #ff8c1a;border-radius:15px;padding:22px;box-shadow:0 20px 55px rgba(7,59,116,.24);box-sizing:border-box}
.bs-contact-card *{box-sizing:border-box}.bs-contact-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:7px}.bs-contact-eyebrow{font-weight:900;letter-spacing:.13em;font-size:.72rem;color:#082f63}.bs-contact-card h2{margin:2px 0 0;color:#073b74;font-size:24px}.bs-contact-close{width:38px;height:38px;min-width:38px;border:1px solid #b4c0cc;border-radius:50%;background:#fff;color:#42566d;font:24px/1 Inter,Segoe UI,Arial,sans-serif;cursor:pointer}.bs-contact-close:hover{background:#f6f9fc}.bs-contact-intro{margin:0 0 18px;color:#4a5869;line-height:1.5}
.bs-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bs-contact-card label{display:block;font-weight:700;font-size:14px;margin-bottom:13px}.bs-contact-card input,.bs-contact-card textarea{font:inherit;width:100%;margin-top:6px;border:1px solid #aebdca;border-radius:9px;padding:11px;background:#fff;color:#172033}.bs-contact-card textarea{min-height:130px;resize:vertical}.bs-contact-card input:focus,.bs-contact-card textarea:focus{outline:3px solid rgba(7,59,116,.12);border-color:#527ba4}
.bs-contact-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}.bs-contact-primary,.bs-contact-secondary{border-radius:9px;padding:12px 18px;font:800 14px Inter,Segoe UI,Arial,sans-serif;cursor:pointer}.bs-contact-primary{border:0;background:linear-gradient(90deg,#ed7d11,#138808);color:#fff}.bs-contact-primary:disabled{opacity:.6;cursor:wait}.bs-contact-secondary{border:1px solid #8798ad;background:#fff;color:#173c63}.bs-contact-primary:hover:not(:disabled),.bs-contact-secondary:hover{filter:brightness(1.03)}
.bs-contact-status{margin:12px 0 0;font-weight:800;min-height:20px}.bs-contact-status.success{padding:12px;border-radius:9px;background:#e7f7e5;color:#12650b}.bs-contact-status.error{padding:12px;border-radius:9px;background:#fff0ef;color:#9d241c}.bs-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bs-contact-modal-open{overflow:hidden!important}
@media(max-width:720px){.bs-site-tools{top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));gap:7px}.bs-site-tool-button{width:40px;height:40px;min-width:40px}.bs-contact-card{padding:19px 16px}.bs-contact-grid{grid-template-columns:1fr}.bs-contact-form-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.bs-contact-form-actions button{padding:11px 9px}}
@media(max-width:430px){.bs-contact-form-actions{grid-template-columns:1fr}.bs-contact-form-actions button{width:100%}}
.bs-contact-thanks-modal[hidden]{display:none}.bs-contact-thanks-modal{position:fixed;inset:0;z-index:1450;display:grid;place-items:center;padding:18px}
.bs-contact-thanks-card{font-family:Inter,Segoe UI,Arial,sans-serif;position:relative;width:min(520px,100%);background:#fff;color:#172033;border:1px solid #d9e1df;border-top:5px solid #ff8c1a;border-radius:16px;padding:30px 26px 26px;text-align:center;box-shadow:0 20px 55px rgba(7,59,116,.26);box-sizing:border-box}
.bs-contact-success-icon{width:66px;height:66px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#e8f7e6;color:#138808;font:900 34px/1 Inter,Segoe UI,Arial,sans-serif;box-shadow:inset 0 0 0 1px rgba(19,136,8,.15)}
.bs-contact-thanks-card h2{margin:4px 0 12px;color:#073b74;font-size:27px}.bs-contact-thanks-message{color:#45566a;font-size:16px;line-height:1.58}.bs-contact-thanks-message p{margin:7px 0}.bs-contact-thanks-message p:first-child{font-weight:800;color:#26384d}.bs-contact-thanks-done{margin-top:16px;min-width:120px}
@media(max-width:520px){.bs-contact-thanks-card{padding:26px 18px 22px}.bs-contact-thanks-card h2{font-size:24px}.bs-contact-success-icon{width:60px;height:60px;font-size:31px}}
.bs-super-admin-tool{border-color:rgba(103,70,16,.3);color:#6b4a0c}
.bs-super-admin-modal[hidden]{display:none}.bs-super-admin-modal{position:fixed;inset:0;z-index:1460;display:grid;place-items:center;padding:18px}
.bs-super-admin-card{font-family:Inter,Segoe UI,Arial,sans-serif;position:relative;width:min(560px,100%);background:#fff;color:#172033;border:1px solid #d9e1df;border-top:5px solid #ff8c1a;border-radius:16px;padding:24px;box-shadow:0 20px 55px rgba(7,59,116,.26);box-sizing:border-box}
.bs-super-admin-card h2{margin:2px 0 0;color:#073b74;font-size:24px}.bs-super-admin-message{color:#44586d;line-height:1.55;margin:16px 0}.bs-super-admin-actions{display:flex;gap:10px;flex-wrap:wrap}.bs-super-admin-note{margin:16px 0 0;padding:12px 13px;border-radius:10px;background:#fff8e8;color:#6e571e;font-size:13px;line-height:1.5}
@media(max-width:520px){.bs-super-admin-card{padding:21px 16px}.bs-super-admin-actions{display:grid;grid-template-columns:1fr}.bs-super-admin-actions button{width:100%}}
/* 70.34.15 iOS/PWA Samanvayak device handoff retained */
.bs-device-setup{margin-top:20px;padding:14px;border:1px solid #d8e1ea;border-radius:11px;background:#f8fafc;color:#44586d}
.bs-device-setup summary{cursor:pointer;font-weight:800;color:#173c63}
.bs-device-setup p{margin:12px 0;line-height:1.5;font-size:13px}
.bs-samanvayak-enrollment-choice{margin:14px 0;padding:14px;border:1px solid #cbdce9;border-radius:11px;background:#f3f9fd;color:#425b72;line-height:1.5}
.bs-samanvayak-enrollment-choice[hidden]{display:none}
.bs-samanvayak-enrollment-choice p{margin:0 0 12px}
.bs-device-code-wrap{margin-top:12px;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #d8e1ea;overflow-wrap:anywhere}
.bs-device-code-wrap span{display:block;font-size:12px;font-weight:800;color:#60758a;margin-bottom:5px}
.bs-device-code-wrap code{font:700 12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#183a5b;word-break:break-all}
/* 70.34.16 simplified Samanvayak Home Screen linking */
.bs-device-setup-tool{border-color:rgba(7,95,168,.28);color:#075fa8}
.bs-setup-code-label{display:block;font-weight:800;color:#173c63;margin:14px 0}
.bs-setup-code-input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:14px 16px;border:1px solid #9fb2c5;border-radius:10px;background:#fff;color:#17324d;font:900 28px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.28em;text-align:center}
.bs-setup-code-input:focus{outline:3px solid rgba(7,95,168,.12);border-color:#527ba4}

/* B11FIX70.34.20: sitewide disclaimer and community notice. */
.bs-sitewide-disclaimer-wrap{box-sizing:border-box;width:min(1100px,calc(100% - 32px));margin:28px auto 18px;font-family:Inter,Segoe UI,Arial,sans-serif;color:#526173}
.bs-sitewide-disclaimer{border:1px solid #d7e0e8;border-radius:12px;background:#f8fafc;box-shadow:0 3px 12px rgba(7,59,116,.05);overflow:hidden}
.bs-sitewide-disclaimer summary{cursor:pointer;list-style:none;padding:12px 15px;font-size:.8rem;font-weight:800;color:#274767;letter-spacing:.01em;user-select:none}
.bs-sitewide-disclaimer summary::-webkit-details-marker{display:none}
.bs-sitewide-disclaimer summary::after{content:'+';float:right;font-size:1rem;line-height:1;color:#60758a}
.bs-sitewide-disclaimer[open] summary::after{content:'-'}
.bs-sitewide-disclaimer[open] summary{border-bottom:1px solid #e1e7ed;background:#fff}
.bs-sitewide-disclaimer-body{padding:13px 15px 15px;font-size:.76rem;line-height:1.58;color:#5a6a7b}
.bs-sitewide-disclaimer-body p{margin:0 0 10px}.bs-sitewide-disclaimer-body p:last-child{margin-bottom:0}
.bs-sitewide-disclaimer-body a{color:#0b5fa5;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.bs-disclaimer-contact{appearance:none;border:0;background:none;padding:0;color:#0b5fa5;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.bs-disclaimer-thanks{font-weight:700;color:#40566d}.bs-disclaimer-legal{font-size:.72rem;color:#6a7888}
@media(max-width:560px){.bs-sitewide-disclaimer-wrap{width:calc(100% - 20px);margin:22px auto 14px}.bs-sitewide-disclaimer summary{padding:11px 12px}.bs-sitewide-disclaimer-body{padding:12px;font-size:.74rem}}

/* B11FIX70.34.22: compact Wrapper disclaimer row. The collapsed notice is part
   of the single-viewport landing grid. Opening it becomes its own scrollable
   overlay so the home page itself never needs to grow or scroll. */
.bs-sitewide-disclaimer-wrap--wrapper{
  width:min(760px,calc(100% - 18px));
  margin:3px auto max(4px,env(safe-area-inset-bottom,0px));
  min-height:0;
  align-self:center;
  color:#d9e5f2;
  z-index:40;
}
.bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer{
  border-color:rgba(255,255,255,.28);
  border-radius:9px;
  background:rgba(255,255,255,.07);
  box-shadow:none;
}
.bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer summary{
  padding:4px 9px;
  min-height:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#e8f0fa;
  font-size:10px;
  line-height:1.15;
}
.bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer summary::after{
  float:none;
  flex:0 0 auto;
  color:#e8f0fa;
  font-size:.9rem;
}
.bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer[open]{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:1600;
  width:min(760px,calc(100vw - 24px));
  max-height:min(82dvh,760px);
  overflow:auto;
  border-color:#d7e0e8;
  border-radius:14px;
  background:#f8fafc;
  color:#526173;
  box-shadow:0 24px 70px rgba(2,22,48,.48);
  overscroll-behavior:contain;
}
.bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer[open] summary{
  position:sticky;
  top:0;
  z-index:2;
  min-height:42px;
  padding:11px 14px;
  background:#fff;
  color:#274767;
  font-size:.8rem;
}
.bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer[open] summary::after{color:#60758a}
@media(max-width:560px){
  .bs-sitewide-disclaimer-wrap--wrapper{width:calc(100% - 14px);margin:2px auto max(3px,env(safe-area-inset-bottom,0px))}
  .bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer summary{padding:3px 8px;min-height:22px;font-size:9.5px}
  .bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer[open]{width:calc(100vw - 18px);max-height:84dvh}
  .bs-sitewide-disclaimer-wrap--wrapper .bs-sitewide-disclaimer[open] summary{min-height:40px;padding:10px 12px;font-size:.78rem}
}

/* B11FIX70.34.24: Sahaya is a first-class top action on the Wrapper home. */
.bs-sahaya-tool{border-color:rgba(7,95,168,.30);color:#075fa8}
@media(max-width:430px){.bs-site-tools{max-width:calc(100vw - 20px);flex-wrap:wrap;justify-content:flex-end}}

/* B11FIX70.34.32: use the approved tricolour badge artwork on Wrapper Home, Sahaya and Contact tools. */
.bs-themed-tool{border:0;border-radius:8px;background:transparent;box-shadow:0 4px 16px rgba(7,59,116,.16);overflow:visible}
.bs-themed-tool:hover{background:transparent;border-color:transparent}
.bs-site-tool-badge-image{display:block;width:42px;height:42px;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;pointer-events:none;user-select:none}
@media(max-width:720px){.bs-site-tool-badge-image{width:40px;height:40px}}


/* B11FIX70.34.33: one fixed, flow-independent quick-action dock.
   It deliberately does not add body/main padding, margin, min-height or a second scroll container. */
.bs-site-tools.bs-public-tool-dock{
  position:fixed;
  top:calc(8px + env(safe-area-inset-top,0px));
  left:50%;
  right:auto;
  transform:translateX(-50%);
  z-index:1320;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:max-content;
  max-width:calc(100vw - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  box-sizing:border-box;
  padding:4px 6px;
  border:1px solid transparent;
  border-radius:16px;
  background:
    linear-gradient(rgba(255,250,240,.92),rgba(255,250,240,.92)) padding-box,
    linear-gradient(90deg,rgba(255,153,51,.72),rgba(255,255,255,.94) 50%,rgba(19,136,8,.70)) border-box;
  box-shadow:0 5px 18px rgba(7,38,70,.15);
  -webkit-backdrop-filter:blur(8px) saturate(1.08);
  backdrop-filter:blur(8px) saturate(1.08);
  isolation:isolate;
  overflow:hidden;
  white-space:nowrap;
}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool{
  flex:0 0 auto;
  margin:0;
  box-shadow:none;
}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 9px rgba(7,59,116,.12);
}
@media(max-width:720px){
  .bs-site-tools.bs-public-tool-dock{
    top:calc(6px + env(safe-area-inset-top,0px));
    left:50%;
    right:auto;
    gap:3px;
    padding:3px 5px;
    border-radius:15px;
    max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  }
}
@media(max-width:360px){.bs-site-tools.bs-public-tool-dock{gap:2px;padding-left:4px;padding-right:4px}}


/* Keep private device/admin shortcuts outside the public dock so they never change its width. */
.bs-site-private-tools{
  position:fixed;
  top:calc(8px + env(safe-area-inset-top,0px));
  right:calc(10px + env(safe-area-inset-right,0px));
  z-index:1321;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
@media(max-width:720px){.bs-site-private-tools{top:calc(6px + env(safe-area-inset-top,0px));right:calc(7px + env(safe-area-inset-right,0px));gap:5px}}

/* B11FIX70.34.35: BEGIN dedicated normal-flow top-right circular public tool panel.
   This strip owns its vertical space, never overlays the landing surface, and keeps
   the mobile Wrapper viewport total at one svh by subtracting the strip height. */
body.bs-public-tool-panel-active{--bs-public-tool-panel-height:calc(54px + env(safe-area-inset-top,0px))}
.bs-site-tools.bs-public-tool-dock{
  position:relative;
  top:auto;
  right:auto;
  left:auto;
  transform:none;
  z-index:1320;
  display:flex;
  flex:0 0 auto;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:100%;
  max-width:none;
  min-height:var(--bs-public-tool-panel-height);
  height:var(--bs-public-tool-panel-height);
  box-sizing:border-box;
  margin:0;
  padding:calc(6px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) 6px calc(12px + env(safe-area-inset-left,0px));
  border:0;
  border-bottom:1px solid rgba(248,198,45,.18);
  border-radius:0;
  background:linear-gradient(90deg,#031d42 0%,#062f63 58%,#07396f 100%);
  box-shadow:0 2px 10px rgba(0,0,0,.16);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  isolation:isolate;
  overflow:visible;
  white-space:nowrap;
}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool{
  flex:0 0 42px;
  width:42px;
  height:42px;
  min-width:42px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:0 2px 8px rgba(0,0,0,.20);
  overflow:hidden;
}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 10px rgba(0,0,0,.24);
}
.bs-site-tools.bs-public-tool-dock .bs-site-tool-badge-image{
  width:42px;
  height:42px;
  max-width:none;
  max-height:none;
  object-fit:cover;
  border-radius:50%;
  clip-path:circle(50% at 50% 50%);
}
body.bs-public-tool-panel-active .landing{min-height:calc(100vh - var(--bs-public-tool-panel-height))}
/* B11FIX70.34.38: desktop Wrapper viewport compensation.
   The normal-flow public tool panel already consumes vertical space above the
   Wrapper landing. On desktop only, subtract that panel from the landing height
   so panel + landing fit inside one viewport. The hero remains object-fit:cover,
   preserving its intrinsic aspect ratio. Mobile/iOS/Android rules are untouched. */
@media(min-width:781px){
  body.bs-public-tool-panel-active .landing{
    height:calc(100vh - var(--bs-public-tool-panel-height));
    height:calc(100dvh - var(--bs-public-tool-panel-height));
    min-height:0;
  }
}
/* B11FIX70.34.39: normal desktop browser visual parity with the installed app.
   A normal browser loses vertical canvas to its tabs/address bar while the installed
   standalone app does not. On short desktop browser viewports only, reclaim that
   difference from whitespace (not artwork or controls) so the flexible hero row can
   retain the decorative lower edge instead of cropping it. Standalone PWA and all
   touch/mobile rendering stay unchanged. */
@media (min-width:781px) and (max-height:1020px) and (display-mode:browser) and (hover:hover) and (pointer:fine){
  .controls-panel{
    padding:4px clamp(18px,4vw,64px);
    gap:3px;
  }
  .service-listing-stats{
    margin-top:2px;
    padding:4px 12px;
  }
  .total-community-visitors{
    margin:2px auto 0;
    padding:4px 10px;
  }
  .bs-sitewide-disclaimer-wrap--wrapper{
    margin:1px auto max(2px,env(safe-area-inset-bottom,0px));
  }
}
/* B11FIX70.34.40: web-only hero artwork vertical centering.
   The restored lower decorative band is complete in 70.34.39, but on the supplied
   normal desktop browser geometry its baked-in lotus/gold divider sits about 18 px
   below the visual midpoint of the navy band. Reuse the existing object-fit:cover
   overflow and shift the crop anchor upward slightly. The image is not resized or
   stretched. Installed/standalone PWA and all iOS/Android/mobile rendering remain
   untouched by the desktop-browser-only guard. */
@media (min-width:781px) and (max-height:1020px) and (display-mode:browser) and (hover:hover) and (pointer:fine){
  .hero-art{object-position:center 40%;}
}
/* B11FIX70.34.41: tiny web-only upward hero nudge.
   70.34.40 is visually accepted; this adds only a further subtle upward shift
   within the same normal desktop-browser crop window. No size/aspect/mobile or
   standalone-app rendering changes. */
@media (min-width:781px) and (max-height:1020px) and (display-mode:browser) and (hover:hover) and (pointer:fine){
  .hero-art{object-position:center 38%;}
}
.bs-site-private-tools{top:calc(var(--bs-public-tool-panel-height) + 8px)}
@media(max-width:780px){
  body.bs-public-tool-panel-active{--bs-public-tool-panel-height:calc(48px + env(safe-area-inset-top,0px))}
  body.bs-public-tool-panel-active .landing{
    height:calc(100svh - var(--bs-public-tool-panel-height));
    min-height:calc(100svh - var(--bs-public-tool-panel-height));
  }
  .bs-site-tools.bs-public-tool-dock{
    gap:4px;
    min-height:var(--bs-public-tool-panel-height);
    height:var(--bs-public-tool-panel-height);
    padding:calc(4px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) 4px calc(8px + env(safe-area-inset-left,0px));
  }
  .bs-site-tools.bs-public-tool-dock .bs-themed-tool{flex-basis:40px;width:40px;height:40px;min-width:40px}
  .bs-site-tools.bs-public-tool-dock .bs-site-tool-badge-image{width:40px;height:40px}
  .bs-site-private-tools{top:calc(var(--bs-public-tool-panel-height) + 6px);right:calc(7px + env(safe-area-inset-right,0px))}
}
/* B11FIX70.34.35: END dedicated normal-flow top-right circular public tool panel. */
/* B11FIX70.34.36: BEGIN prominent icon art with subtle native backgrounds.
   Visual-only: the newly approved icon artwork supplies its own restrained saffron,
   ivory, sand and pale-blue circular backgrounds. Disable the older CSS tint layer
   so the pictograms stay crisp and prominent without changing panel geometry. */
.bs-site-tools.bs-public-tool-dock .bs-themed-tool{
  background:transparent;
  isolation:isolate;
}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool .bs-site-tool-badge-image{
  mix-blend-mode:normal;
  filter:none;
  opacity:1;
}
/* B11FIX70.34.36: END prominent icon art with subtle native backgrounds. */


/* B11FIX70.34.45: tiny persistent labels beneath every public quick-action icon. */
.bs-site-tools.bs-public-tool-dock{--bs-tool-label-color:#3d536a}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool{
  flex:0 0 46px;width:46px;height:54px;min-width:46px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;
  border-radius:10px;overflow:visible;box-shadow:none;text-decoration:none;color:inherit;
}
.bs-site-tools.bs-public-tool-dock .bs-themed-tool:hover{box-shadow:none}
.bs-site-tools.bs-public-tool-dock .bs-site-tool-badge-image{
  flex:0 0 40px;width:40px;height:40px;box-shadow:0 2px 8px rgba(7,59,116,.14);
}
.bs-site-tool-label{display:block;max-width:46px;overflow:hidden;text-overflow:clip;white-space:nowrap;text-align:center;color:var(--bs-tool-label-color);font:800 7px/1.05 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.015em;text-shadow:0 1px 0 rgba(255,255,255,.55);pointer-events:none;user-select:none}
body.bs-public-tool-panel-active{--bs-public-tool-panel-height:calc(64px + env(safe-area-inset-top,0px))}
@media(max-width:720px){
  body.bs-public-tool-panel-active{--bs-public-tool-panel-height:calc(58px + env(safe-area-inset-top,0px))}
  .bs-site-tools.bs-public-tool-dock{gap:2px;padding-left:4px;padding-right:4px}
  .bs-site-tools.bs-public-tool-dock .bs-themed-tool{flex-basis:42px;width:42px;height:50px;min-width:42px}
  .bs-site-tools.bs-public-tool-dock .bs-site-tool-badge-image{flex-basis:36px;width:36px;height:36px}
  .bs-site-tool-label{max-width:42px;font-size:6.5px}
}

.bs-site-tools.bs-public-tool-dock{--bs-tool-label-color:#ffe49a}
.bs-site-tool-label{text-shadow:0 1px 2px rgba(0,0,0,.55)}
