:root{--v114-ink:#143f35;--v114-soft:#edf3f0;--v114-line:#e7e1d8;--v114-muted:#74827d;--v114-bg:#f7f3eb}
@media(max-width:900px){
 html,body{overflow-x:hidden}
 body,#app,#app button,#app input,#app select,#app textarea,#authModal,#bookingModal,#groomerAccessModal{font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
 #app .head{padding:12px 14px!important;min-height:64px!important;align-items:flex-start!important}
 #app .head h1{font-size:21px!important;line-height:1.1!important;letter-spacing:-.025em!important}
 #app .head .muted{font-size:12px!important;line-height:1.4!important}
 #app .head .toolbar{display:none!important}
 #portalSectionStatus{display:none!important}
 #workspace{padding:12px 12px 104px!important}
 #workspace .panel,#workspace .profile-header{border-radius:20px!important;padding:15px!important;margin-bottom:12px!important;box-shadow:0 5px 18px rgba(24,52,45,.04)!important}
 #workspace h2{font-size:20px!important;line-height:1.15!important}
 #workspace h3{font-size:17px!important;line-height:1.2!important}
 .btn{min-height:46px!important;border-radius:14px!important;padding:10px 14px!important;font-size:14px!important}
 .field{margin-bottom:12px!important}
 .field label{font-size:12px!important;font-weight:800!important;margin-bottom:6px!important}
 .field input,.field select,.field textarea{font-size:16px!important;min-height:50px!important;border-radius:14px!important;padding:11px 13px!important}
 .field textarea{min-height:112px!important}
 .modal-bg{padding:0!important;align-items:flex-end!important}
 .modal{width:100%!important;max-width:none!important;max-height:92dvh!important;overflow-y:auto!important;border-radius:26px 26px 0 0!important;padding:16px!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
 .modal.wide{width:100%!important;max-width:none!important}
 .modal-head{position:sticky;top:-16px;z-index:4;background:#fff;padding:14px 0 10px!important;margin-bottom:8px!important}
 #bookingBody .choice-grid,#groomerBody .choice-grid{grid-template-columns:1fr!important;gap:9px!important}
 #bookingBody .booking-mode-grid{grid-template-columns:1fr!important;gap:10px!important}
 #bookingBody .grid2{grid-template-columns:1fr!important;gap:0!important}
 #bookingBody .span2{grid-column:auto!important}
 #bookingBody .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
 #bookingBody .toolbar .btn{width:100%!important}
 #bookingBody .review-row{grid-template-columns:120px 1fr!important;gap:10px!important;font-size:13px!important}
 #bookingBody h3{font-size:20px!important;margin-top:4px!important}
 #bookingBody>.muted{font-size:13px!important;line-height:1.5!important}
 #mobileNav.mobile-nav{left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;border-radius:24px!important;padding:7px!important;gap:4px!important;background:rgba(255,255,255,.98)!important;border:1px solid #e6e0d8!important;box-shadow:0 12px 34px rgba(23,49,42,.13)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
 #mobileNav button{min-width:0!important;min-height:62px!important;padding:7px 3px!important;border:0!important;border-radius:17px!important;background:transparent!important;color:#81908a!important;font-size:10.5px!important;font-weight:800!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;line-height:1.05!important}
 #mobileNav button::before,#mobileNav button::after{content:none!important;display:none!important}
 #mobileNav button.active,#mobileNav button.more-active{background:var(--v114-ink)!important;color:#fff!important}
 .v114-nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}
 .v114-nav-icon svg,.v114-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}
 #mobileMore .mobile-more-sheet{background:#faf8f4!important;border-radius:28px 28px 0 0!important;padding:15px 14px max(18px,env(safe-area-inset-bottom))!important}
 #mobileMore .mobile-more-list{grid-template-columns:1fr!important;gap:7px!important}
 #mobileMore .mobile-more-list button{min-height:60px!important;padding:10px 12px!important;border-radius:16px!important;background:#fff!important;border:1px solid var(--v114-line)!important;font-size:14px!important;text-align:left!important;display:grid!important;grid-template-columns:38px 1fr!important;align-items:center!important;gap:10px!important}
 #mobileMore .mobile-more-list button::before,#mobileMore .mobile-more-list button::after{content:none!important;display:none!important}
 .v114-more-icon{width:36px;height:36px;border-radius:11px;background:var(--v114-soft);display:flex;align-items:center;justify-content:center;color:#315e52}
 .v114-home{display:grid;gap:12px}
 .v114-hero{background:linear-gradient(145deg,#153f35,#245d4e);color:#fff;border-radius:24px;padding:19px;box-shadow:0 14px 34px rgba(20,63,53,.18)}
 .v114-hero .eyebrow{color:#cae0d8!important;font-size:10px!important;letter-spacing:.14em!important}
 .v114-hero h2{margin:5px 0 7px!important;color:#fff!important;font-size:27px!important;line-height:1.05!important;letter-spacing:-.035em!important}
 .v114-hero p{margin:0;color:#d7e6e0;font-size:13px;line-height:1.45}
 .v114-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
 .v114-hero-actions .btn{width:100%}
 .v114-next{background:#fff;border:1px solid var(--v114-line);border-radius:20px;padding:16px}
 .v114-next h3{margin:0 0 9px!important;color:var(--v114-ink)}
 .v114-next-time{font-size:19px;font-weight:900;color:var(--v114-ink)}
 .v114-next .muted{margin-top:4px;font-size:12.5px!important}
 .v114-label{font-size:10.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#798782;margin:3px 2px 0}
 .v114-actions{display:grid;gap:8px}
 .v114-action{border:1px solid var(--v114-line);background:#fff;border-radius:18px;min-height:72px;padding:11px 13px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;text-align:left;color:var(--v114-ink);box-shadow:0 4px 14px rgba(28,56,48,.03)}
 .v114-action .v114-icon{width:42px;height:42px;border-radius:13px;background:var(--v114-soft);display:flex;align-items:center;justify-content:center;color:#315e52}
 .v114-action b{display:block;font-size:14px;line-height:1.2}
 .v114-action small{display:block;color:var(--v114-muted);font-size:11.5px;line-height:1.35;margin-top:2px}
 .v114-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .v114-secondary .v114-action{min-height:84px;grid-template-columns:38px 1fr;padding:10px}
 .v114-secondary .v114-icon{width:38px;height:38px}
 .v114-signout{margin-top:12px;border:1px solid #ead8d4;background:#fff9f7;border-radius:18px;padding:14px}
 .v114-signout .btn{width:100%;background:#9a3d36!important;border-color:#9a3d36!important;color:#fff!important}
}
@media(max-width:380px){
 .v114-hero-actions{grid-template-columns:1fr}
 .v114-secondary{grid-template-columns:1fr}
 #mobileNav button{font-size:9.5px!important}
}

@media(max-width:900px){
 #public .top .nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:10px 12px!important;width:100%!important;max-width:100%!important;margin:0!important}
 #public .top .brand{font-size:15px!important;white-space:nowrap!important;min-width:0!important;max-width:calc(100vw - 128px)!important;overflow:hidden!important;flex:1 1 auto!important}
 #public .top .brand .logo{width:38px!important;height:38px!important;border-radius:12px!important;flex:0 0 38px!important}
 #public .nav-links{display:none!important}
 #public .nav-actions{display:flex!important;align-items:center!important;margin-left:auto!important;gap:0!important;min-width:96px!important;flex:0 0 auto!important}
 #public .nav-actions>.btn.primary{display:none!important}
 #public #access{position:relative!important;display:block!important;flex:0 0 auto!important}
 #public #access>.btn{min-width:92px!important;max-width:104px!important;padding:9px 12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 #public #access .menu{right:0!important;left:auto!important;width:min(330px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
}

/* V117 focused sign-in + groomer access cleanup */
@media(max-width:900px){
  #public #access>.btn{
    min-height:40px!important;min-width:82px!important;max-width:90px!important;
    padding:7px 11px!important;border-radius:999px!important;font-size:12.5px!important
  }
  #public #access .v117-access-menu{
    right:0!important;left:auto!important;width:204px!important;max-width:calc(100vw - 24px)!important;
    min-height:54px!important;height:54px!important;padding:7px!important;gap:6px!important;
    border-radius:16px!important;align-items:center!important
  }
  #public #access.dropdown.open .v117-access-menu{display:flex!important}
  #public #access .v117-access-menu button{
    flex:0 0 calc(50% - 3px)!important;width:calc(50% - 3px)!important;height:40px!important;min-height:40px!important;
    margin:0!important;padding:8px 9px!important;border:1px solid #e8e2da!important;border-radius:11px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
    background:#fff!important;color:#16483d!important
  }
  #public #access .v117-access-menu button:first-child{background:#143f35!important;color:#fff!important;border-color:#143f35!important}
  #public #access .v117-access-menu b{font-size:12px!important;line-height:1!important;white-space:nowrap!important}

  #authModal.modal-bg{padding:18px!important;align-items:center!important;justify-content:center!important}
  #authModal .modal{
    width:min(92vw,420px)!important;max-width:420px!important;max-height:82dvh!important;
    border-radius:24px!important;padding:17px 17px 18px!important;background:#fbfaf7!important;
    box-shadow:0 22px 65px rgba(20,46,39,.19)!important
  }
  #authModal .modal-head{
    position:static!important;top:auto!important;background:transparent!important;
    padding:0 0 6px!important;margin-bottom:4px!important
  }
  #authModal .modal-head h2{font-size:24px!important}
  #authModal .modal-head .muted{font-size:12.5px!important;line-height:1.45!important}
  #authModal .field{margin-top:10px!important;margin-bottom:8px!important}
  #authModal .field label{font-size:12px!important;margin-bottom:5px!important}
  #authModal input{min-height:47px!important;border-radius:14px!important;font-size:15px!important}
  #authModal #authSubmit{min-height:47px!important;border-radius:14px!important;margin-top:12px!important;font-size:14px!important}
  #authModal .x{width:42px!important;height:42px!important;min-height:42px!important;border-radius:13px!important}
  #authModal .eye{min-width:42px!important}

  #authModal .v117-auth-links{
    margin:3px 1px 0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
    gap:8px!important;flex-wrap:wrap!important;font-size:12px!important
  }
  #authModal .v117-auth-links span{color:#a5aca8!important}
  #authModal .v117-auth-links button{
    border:0!important;background:transparent!important;padding:3px 0!important;min-height:0!important;
    color:#315e52!important;font-size:12px!important;font-weight:850!important;text-decoration:underline!important;
    text-underline-offset:2px!important
  }
}
/* V118 profile-first Admin/Groomer mobile homes */
@media(max-width:900px){
 .v118-role-home{gap:10px!important}
 .v118-profile-card{
  background:#fff;border:1px solid #e7e1d8;border-radius:20px;padding:14px;
  box-shadow:0 6px 20px rgba(24,52,45,.05);display:grid;gap:11px
 }
 .v118-profile-main{display:grid;grid-template-columns:76px 1fr;gap:13px;align-items:start;min-width:0}
 .v118-avatar-wrap{display:grid;justify-items:center;gap:6px}
 .v118-avatar{
  width:72px;height:72px;border-radius:19px;object-fit:cover;display:flex;align-items:center;justify-content:center;
  background:#eaf1ee;border:1px solid #dfe8e4;color:#315e52;font-weight:900;font-size:21px
 }
 .v118-avatar-fallback{letter-spacing:.02em}
 .v118-photo-link{font-size:9.5px;font-weight:850;color:#315e52;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:center}
 .v118-photo-link input{display:none!important}
 .v118-profile-copy{min-width:0}
 .v118-profile-copy .eyebrow{font-size:9.5px!important;letter-spacing:.14em!important;margin-bottom:3px}
 .v118-profile-copy h2{font-size:20px!important;margin:0 0 7px!important;line-height:1.08!important;color:#143f35}
 .v118-profile-line{display:grid;grid-template-columns:15px 1fr;gap:6px;align-items:start;margin-top:5px;min-width:0;color:#71807b;font-size:11px;line-height:1.35}
 .v118-profile-line svg{width:14px!important;height:14px!important;stroke:#678078;fill:none;stroke-width:1.9}
 .v118-profile-line span{min-width:0;overflow-wrap:anywhere}
 .v118-edit-profile{min-height:38px;border:1px solid #dfe6e2;background:#f6f9f7;color:#244c42;border-radius:12px;font-size:11.5px;font-weight:850}
 .v118-shortcuts{grid-template-columns:1fr 1fr!important;gap:8px!important}
 .v118-shortcuts .v114-action{min-height:78px!important;padding:10px!important;grid-template-columns:34px 1fr!important;gap:8px!important;border-radius:15px!important}
 .v118-shortcuts .v114-icon{width:34px!important;height:34px!important;border-radius:10px!important}
 .v118-shortcuts .v114-action b{font-size:12.5px!important}
 .v118-shortcuts .v114-action small{font-size:10px!important;line-height:1.3!important}
 .v118-today{
  background:#edf3f0;border:1px solid #dce8e2;border-radius:16px;padding:13px;
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center
 }
 .v118-today .v118-kicker{font-size:9px;font-weight:900;letter-spacing:.14em;color:#6e7e78}
 .v118-today h3{font-size:16px!important;margin:2px 0 4px!important;color:#143f35}
 .v118-today p{margin:0;color:#6f7e79;font-size:10.5px;line-height:1.4}
 .v118-today button{min-height:36px;border:1px solid #d1ddd8;background:#fff;color:#244c42;border-radius:11px;padding:7px 10px;font-size:10.5px;font-weight:850;white-space:nowrap}
 .v118-more{grid-template-columns:1fr 1fr!important;gap:8px!important}
 .v118-more .v114-action{min-height:72px!important;border-radius:15px!important}
}
/* V119 — true text-link styling for Sign In helper actions (desktop + mobile) */
#authModal .v117-auth-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:5px 2px 2px!important;
  line-height:1.3!important;
}
#authModal .v117-auth-links span{
  color:#a0aaa5!important;
  font-size:12px!important;
}
#authModal .v117-auth-links button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  color:#466c62!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.35!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
  cursor:pointer!important;
}
#authModal .v117-auth-links button:hover,
#authModal .v117-auth-links button:focus{
  color:#163f35!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:900px){
  #authModal .v117-auth-links{margin-top:4px!important;gap:7px!important}
  #authModal .v117-auth-links button{font-size:12px!important;font-weight:650!important}
}

/* V120 — Create Account secondary sign-in line */
#authModal #authSwitch.v119-auth-switch{
  margin:12px 2px 0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.4!important;
  color:#8a958f!important;
  text-align:left!important;
}
#authModal #authSwitch.v119-auth-switch .link{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  color:#6f786f!important;
  font:inherit!important;
  font-weight:650!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}
#authModal #authSwitch.v119-auth-switch .link:hover,
#authModal #authSwitch.v119-auth-switch .link:focus{
  color:#153f35!important;
  background:transparent!important;
}
@media(max-width:900px){
  #authModal #authSwitch.v119-auth-switch{font-size:12px!important;margin-top:10px!important}
}

/* V121 — compact Groomer Access footer links */
.footer .v121-footer-groomer>p{
  margin:8px 0 0!important;
  color:rgba(255,255,255,.68)!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
.footer .v121-footer-groomer .link{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  width:auto!important;
  color:#e8c5a5!important;
  font-size:inherit!important;
  font-weight:650!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}
.footer .v121-footer-groomer .link:hover,
.footer .v121-footer-groomer .link:focus{color:#fff!important;background:transparent!important}
@media(max-width:560px){
 .footer .v121-footer-groomer>p{font-size:12px!important;margin-top:7px!important}
}

/* V122 — Groomer Access login helper links */
#authModal .v122-groomer-auth-links{
  margin:5px 2px 2px!important;
  padding:0!important;
  display:grid!important;
  gap:3px!important;
}
#authModal .v122-groomer-auth-links p{
  margin:0!important;
  padding:0!important;
  color:#8a958f!important;
  font-size:13px!important;
  line-height:1.4!important;
}
#authModal .v122-groomer-auth-links button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  color:#466c62!important;
  font:inherit!important;
  font-weight:650!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
  cursor:pointer!important;
}
#authModal .v122-groomer-auth-links button:hover,
#authModal .v122-groomer-auth-links button:focus{
  color:#153f35!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:900px){
 #authModal .v122-groomer-auth-links p{font-size:12px!important}
}

/* V123 — mobile header Book + Sign In actions */
.v123-book-mobile{display:none}
@media(max-width:900px){
 #public .top .brand{
   max-width:calc(100vw - 174px)!important;
   font-size:14.5px!important;
 }
 #public .nav-actions{
   gap:6px!important;
   min-width:148px!important;
 }
 #public .nav-actions>.btn.primary.v123-header-book{
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   min-width:58px!important;
   max-width:64px!important;
   min-height:40px!important;
   padding:7px 11px!important;
   border-radius:999px!important;
   background:#143f35!important;
   color:#fff!important;
   font-size:12.5px!important;
   white-space:nowrap!important;
 }
 .v123-header-book .v123-book-desktop{display:none!important}
 .v123-header-book .v123-book-mobile{display:inline!important}
}
@media(max-width:380px){
 #public .top .brand{font-size:13.5px!important;max-width:calc(100vw - 166px)!important}
 #public .top .brand .logo{width:36px!important;height:36px!important;flex-basis:36px!important}
 #public #access>.btn{min-width:76px!important;max-width:80px!important;padding-left:9px!important;padding-right:9px!important}
 #public .nav-actions>.btn.primary.v123-header-book{min-width:54px!important;max-width:58px!important;padding-left:9px!important;padding-right:9px!important}
 #public .nav-actions{min-width:136px!important;gap:5px!important}
}

/* V124 — shared mobile portal consistency + reliability */
@media(max-width:900px){
 #app,#workspace{max-width:100vw!important;overflow-x:hidden!important}
 #workspace .split,#workspace .grid2,#workspace .choice-grid{grid-template-columns:1fr!important}
 #workspace .panel-head,#workspace .request-head,#workspace .row{
   min-width:0!important;gap:9px!important;flex-wrap:wrap!important
 }
 #workspace .panel-head>*,
 #workspace .request-head>*,
 #workspace .row>*{min-width:0!important}
 #workspace .toolbar,#workspace .request-actions{
   display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%!important
 }
 #workspace .toolbar>.btn,#workspace .toolbar>a.btn,
 #workspace .request-actions>.btn,#workspace .request-actions>a.btn{
   flex:1 1 132px!important;min-width:0!important;max-width:100%!important
 }
 #workspace .desktop-table,#workspace .table-wrap{
   display:block!important;width:100%!important;max-width:100%!important;
   overflow-x:auto!important;-webkit-overflow-scrolling:touch!important
 }
 #workspace .desktop-table table,#workspace .table-wrap table{min-width:720px}
 #workspace .tabs{
   max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;
   flex-wrap:nowrap!important;scrollbar-width:none
 }
 #workspace .tabs::-webkit-scrollbar{display:none}
 #workspace .tabs button{flex:0 0 auto!important;white-space:nowrap!important}
 #workspace .notice,#workspace .item,#workspace .setting-card,#workspace .request-card,
 #workspace .muted,#workspace td,#workspace th{overflow-wrap:anywhere;word-break:normal}
 #workspace .eye-wrap{max-width:100%!important}
 #workspace .eye-wrap input{min-width:0!important}
 #workspace img{max-width:100%;height:auto}
 #mobileMore .mobile-more-list button{width:100%!important;min-width:0!important}
 .v118-role-home{width:100%;max-width:100%}
 .v118-profile-card,.v118-today,.v118-shortcuts,.v118-more{min-width:0!important;max-width:100%!important}
}
@media(max-width:340px){
 .v118-shortcuts,.v118-more{grid-template-columns:1fr!important}
 .v118-profile-main{grid-template-columns:64px 1fr!important}
 .v118-avatar{width:60px!important;height:60px!important;border-radius:16px!important}
}

/* V125 — authoritative stable portal navigation */
@media(min-width:901px){
 body.pp-portal-active.pp-stable-nav-v125 .sidebar{
   width:240px!important;min-width:240px!important;max-width:240px!important;
   overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable both-edges!important
 }
 body.pp-portal-active.pp-stable-nav-v125 #sideNav{
   display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:46px!important;
   gap:4px!important;align-content:start!important;width:100%!important;min-width:0!important
 }
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button:hover,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button:focus,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button:focus-visible,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button:active{
   display:flex!important;align-items:center!important;width:100%!important;
   height:46px!important;min-height:46px!important;max-height:46px!important;
   box-sizing:border-box!important;margin:0!important;padding:0 13px!important;
   border:1px solid transparent!important;border-radius:11px!important;
   transform:none!important;transition:none!important;box-shadow:none!important;
   font-size:13px!important;font-weight:750!important;line-height:1!important;
   white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
   outline:none!important
 }
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button:not(.active):hover{
   background:#f6f1e8!important;color:#173f35!important
 }
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button.active,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button.active:hover,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button.active:focus,
 body.pp-portal-active.pp-stable-nav-v125 #sideNav button.active:active{
   background:#173f35!important;color:#fff!important;border-color:#173f35!important;
   box-shadow:none!important;font-weight:750!important
 }
}
@media(max-width:900px){
 #mobileNav.mobile-nav,#mobileNav.mobile-nav button{
   transform:none!important;transition:none!important
 }
 #mobileNav.mobile-nav button.active,
 #mobileNav.mobile-nav button.more-active{
   transform:none!important;font-weight:800!important
 }
}

/* V126 — Groomer desktop Control Centre aligned with Admin */
@media(min-width:901px){
 body.pp-portal-active #workspace .v126-groomer-profile{
   background:#fff!important;
   border:1px solid #e1ddd4!important;
   border-radius:20px!important;
   padding:18px 20px!important;
   margin:0 0 18px!important;
   box-shadow:0 8px 26px rgba(25,54,46,.055)!important;
 }
 body.pp-portal-active #workspace .v126-groomer-profile .avatar{
   width:64px!important;height:64px!important;min-width:64px!important;
   border-radius:18px!important;
 }
 body.pp-portal-active #workspace .v126-groomer-profile h2{
   font-size:27px!important;line-height:1.05!important;margin:2px 0 5px!important
 }
 body.pp-portal-active #workspace [data-v126-groomer-control],
 body.pp-portal-active #workspace [data-v126-business-tools]{
   margin:0 0 18px!important
 }
 body.pp-portal-active #workspace .v126-groomer-shortcuts{
   grid-template-columns:repeat(3,minmax(0,1fr))!important;
   gap:12px!important;margin-bottom:0!important
 }
 body.pp-portal-active #workspace .v126-groomer-action{
   min-height:112px!important;padding:16px!important;
   border-radius:18px!important
 }
 body.pp-portal-active #workspace .v126-groomer-action:hover,
 body.pp-portal-active #workspace .v126-groomer-action:focus-visible{
   transform:none!important
 }
 body.pp-portal-active #workspace .v126-groomer-metrics{
   margin:0 0 18px!important;
   grid-template-columns:repeat(4,minmax(0,1fr))!important
 }
 body.pp-portal-active #workspace .v126-groomer-metrics .metric{
   min-height:104px!important
 }
 body.pp-portal-active #workspace .v126-business-grid{
   grid-template-columns:repeat(4,minmax(0,1fr))!important;
   gap:10px!important;margin-bottom:0!important
 }
 body.pp-portal-active #workspace .v126-business-grid .v126-groomer-action{
   min-height:96px!important
 }
 body.pp-portal-active #workspace .split{
   gap:14px!important
 }
}
@media(min-width:901px) and (max-width:1180px){
 body.pp-portal-active #workspace .v126-groomer-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.pp-portal-active #workspace .v126-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.pp-portal-active #workspace .v126-groomer-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* V127 — booking touch + loading reliability */
#bookingModal button,
#bookingModal .pp-v103-day,
#bookingModal .pp-v103-time,
#bookingModal .pp-v107-cal-day,
#bookingModal .pp-v107-cal-arrow{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
#bookingModal button[aria-busy="true"]{
  opacity:.72!important;
  cursor:wait!important;
  pointer-events:none!important;
}
#bookingModal .pp-v103-loading{
  min-height:120px!important;
  display:grid!important;
  place-items:center!important;
  font-weight:700!important;
}
#bookingModal .pp-v103-loading::before{
  content:"";
  width:24px;height:24px;
  border:3px solid #d8dfdc;border-top-color:#173f35;border-radius:50%;
  animation:ppSpinV127 .8s linear infinite;
  margin-bottom:8px;
}
#bookingModal .pp-v127-retry{
  margin-top:12px!important;
}
#bookingModal .pp-v127-retry .link{
  border:0!important;background:transparent!important;padding:0!important;
  color:#173f35!important;text-decoration:underline!important;font-weight:800!important;
}
@keyframes ppSpinV127{to{transform:rotate(360deg)}}
@media(max-width:720px){
 #bookingModal .pp-v103-time,
 #bookingModal .pp-v107-cal-day,
 #bookingModal .pp-v103-day{
   min-height:46px!important;
 }
}

/* V127.1 — keep mobile booking controls from covering appointment slots */
@media(max-width:720px){
  #bookingModal{z-index:170!important}
  #bookingModal .pp-v103-sticky{
    position:sticky!important;
    left:auto!important;
    right:auto!important;
    bottom:-15px!important;
    width:auto!important;
    margin:16px -15px -15px!important;
  }
  #bookingModal .modal.wide{
    padding-bottom:15px!important;
    scroll-padding-bottom:140px!important;
  }
  #bookingModal .pp-v103-time,
  #bookingModal .pp-v103-day{
    scroll-margin-bottom:140px!important;
  }
}

/* V128 — Customer booking actions remain visible while portal nav stays tappable */
@media(max-width:720px){
  #bookingModal{
    z-index:170!important;
  }
  #bookingModal .modal.wide{
    padding-bottom:calc(190px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:200px!important;
  }
  #bookingModal #bookingBody .pp-v103-sticky{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(92px + max(8px,env(safe-area-inset-bottom)))!important;
    width:auto!important;
    margin:0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    gap:8px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #e6e0d8!important;
    border-radius:18px!important;
    box-shadow:0 10px 30px rgba(23,49,42,.12)!important;
    z-index:2190!important;
  }
  #bookingModal #bookingBody .pp-v103-sticky .btn{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    min-height:48px!important;
  }
}

/* V129 — public invoice / payment page */
.pp-v129-public-invoice{
  position:fixed;inset:0;z-index:6000;overflow:auto;
  background:#f7f4ee;padding:28px 16px calc(36px + env(safe-area-inset-bottom));
}
.pp-v129-public-invoice.hidden{display:none!important}
.pp-v129-invoice-page{
  width:min(760px,100%);margin:0 auto;background:#fff;border:1px solid #e5dfd5;
  border-radius:24px;padding:24px;box-shadow:0 20px 60px rgba(20,52,43,.12);
}
.pp-v129-invoice-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.pp-v129-invoice-top h1{margin:3px 0 4px;color:#143f35;font-family:Georgia,serif;font-size:32px;line-height:1.05}
.pp-v129-status{
  display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;
  font-weight:800;font-size:12px;margin:0 0 14px;background:#f1eee8;color:#4b5b55
}
.pp-v129-status.paid{background:#e8f5ec;color:#23623e}
.pp-v129-status.partially-paid{background:#fff5db;color:#7b5814}
.pp-v129-status.payment-failed,.pp-v129-status.expired{background:#fff0f0;color:#a23a3a}
.pp-v129-status.cancelled{background:#f7eee9;color:#8a4b34}
.pp-v129-invoice-card{border:1px solid #e7e1d8;border-radius:18px;padding:17px;margin-top:12px;background:#fff}
.pp-v129-invoice-card h2{margin:0 0 13px;color:#143f35;font-size:18px}
.pp-v129-detail-grid{display:grid;grid-template-columns:130px 1fr;gap:9px 13px;line-height:1.4}
.pp-v129-detail-grid b{color:#253c35}.pp-v129-detail-grid span{min-width:0;overflow-wrap:anywhere;color:#56645f}
.pp-v129-lines{border-bottom:1px solid #ece6de;margin-bottom:10px;padding-bottom:7px}
.pp-v129-lines>div,.pp-v129-totals>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0}
.pp-v129-totals .due{font-size:18px;color:#143f35;border-top:1px solid #e7e1d8;margin-top:3px;padding-top:12px}
.pp-v129-alert{border-radius:14px;padding:12px 14px;margin:0 0 14px;line-height:1.45;font-size:13px}
.pp-v129-alert.ok{background:#edf7f0;border:1px solid #cfe5d6;color:#285f3e}
.pp-v129-alert.warn{background:#fff8e7;border:1px solid #ead8a6;color:#6f551b}
.pp-v129-alert.error{background:#fff1f1;border:1px solid #eccccc;color:#8f3636}
.pp-v129-invoice-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pp-v129-invoice-actions .btn{min-height:48px;flex:1 1 190px}
.pp-v129-foot{margin-top:16px;color:#8a948f;font-size:11px;line-height:1.5;text-align:center}
body.pp-invoice-open-v129{overflow:hidden!important}
@media(max-width:600px){
 .pp-v129-public-invoice{padding:0;background:#fff}
 .pp-v129-invoice-page{min-height:100%;border:0;border-radius:0;box-shadow:none;padding:22px 18px calc(30px + env(safe-area-inset-bottom))}
 .pp-v129-invoice-top h1{font-size:27px}
 .pp-v129-detail-grid{grid-template-columns:105px 1fr;font-size:13px}
 .pp-v129-invoice-card{padding:14px;border-radius:16px}
 .pp-v129-invoice-actions{display:grid;grid-template-columns:1fr}
}

/* V130 — Groomer calendar: compact, calendar-first mobile layout */
.pp-cal-head{padding:18px!important}
.pp-cal-head-row{align-items:flex-start!important;gap:14px!important;margin-bottom:12px!important}
.pp-cal-heading h2{margin:0 0 4px!important}
.pp-cal-refresh-note{margin-top:3px;font-size:12px;color:var(--muted)}
.pp-cal-action-host{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.pp-cal-segment{
  display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
  border:1px solid var(--line);border-radius:14px;padding:3px;background:#f7f5f1;gap:2px
}
.pp-cal-segment .btn{
  border:0!important;box-shadow:none!important;border-radius:10px!important;
  min-height:36px!important;padding:8px 14px!important;white-space:nowrap
}
.pp-cal-segment .btn.light{background:transparent!important}
.pp-cal-segment .btn.dark{background:var(--ink)!important;color:#fff!important}
.pp-cal-range-switcher{margin:2px 0 12px;width:min(360px,100%)}
.pp-cal-source-switcher{width:auto}
.pp-cal-nav{
  display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;
  gap:8px;align-items:center;padding-top:12px;border-top:1px solid var(--line)
}
.pp-cal-nav>.btn{min-height:38px!important;padding:8px 12px!important}
.pp-cal-range-title{text-align:center;color:var(--ink);font-size:14px;line-height:1.3}
.pp-cal-nav-secondary{display:flex;gap:8px}
.pp-cal-nav-secondary .btn{min-height:38px!important;padding:8px 12px!important}
.pp-v107-cal-actions{display:flex!important;gap:6px!important;flex-wrap:nowrap!important;align-items:center!important}
.pp-v107-plus{width:38px!important;height:38px!important;border-radius:10px!important;font-size:22px!important}
.pp-v107-blocked-btn{min-height:38px!important;padding:8px 11px!important}
@media(max-width:720px){
  .pp-cal-head{padding:14px!important;border-radius:18px!important}
  .pp-cal-head-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .pp-cal-heading .muted{font-size:13px!important;line-height:1.35!important}
  .pp-cal-refresh-note{font-size:11px!important}
  .pp-cal-action-host{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;gap:8px!important;width:100%!important
  }
  .pp-cal-source-switcher{width:100%!important}
  .pp-cal-source-switcher .btn{padding:8px 10px!important;font-size:13px!important}
  .pp-v107-cal-actions{justify-self:end!important}
  .pp-v107-blocked-btn{font-size:12px!important}
  .pp-cal-range-switcher{width:100%!important;margin:0 0 10px!important}
  .pp-cal-range-switcher .btn{font-size:13px!important}
  .pp-cal-nav{
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    grid-template-areas:
      "prev title next"
      "secondary secondary secondary";
    gap:7px!important;padding-top:10px!important
  }
  .pp-cal-prev{grid-area:prev!important}
  .pp-cal-next{grid-area:next!important}
  .pp-cal-range-title{grid-area:title!important;font-size:13px!important}
  .pp-cal-nav-secondary{
    grid-area:secondary!important;display:grid!important;
    grid-template-columns:1fr 48px!important;gap:7px!important
  }
  .pp-cal-nav>.btn{min-width:0!important;width:42px!important;padding:8px!important}
  .pp-cal-nav>.btn .pp-cal-btn-label{display:none!important}
  .pp-cal-nav-secondary .btn{width:100%!important;min-width:0!important}
  .pp-cal-refresh{padding:8px!important}
  .pp-cal-refresh .pp-cal-btn-label{display:none!important}
  #workspace>.pp-cal-head + .panel{margin-top:10px!important}
  #workspace>.panel:not(.pp-cal-head){border-radius:18px!important}
}

/* V131 — Groomer route: compact mobile control surface */
.pp-route-head{padding:18px!important}
.pp-route-head-row{align-items:flex-start!important;gap:14px!important;margin-bottom:12px!important}
.pp-route-head-row h2{margin:0 0 4px!important}
.pp-route-action-host{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.pp-route-source-switcher{width:auto}
.pp-route-refresh{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;font-size:20px!important}
.pp-route-date-nav{
  display:grid;grid-template-columns:42px minmax(170px,1fr) 42px auto;
  gap:8px;align-items:center;margin:8px 0 10px
}
.pp-route-date-nav>.btn{height:40px!important;min-height:40px!important;padding:8px 11px!important}
.pp-route-date-input{
  width:100%!important;max-width:none!important;height:40px!important;min-height:40px!important;
  border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;
  padding:7px 10px!important;font-weight:800!important;color:var(--ink)!important
}
.pp-route-note-compact{padding:10px 12px!important;margin:8px 0!important}
.pp-route-note-compact b{display:block;margin-bottom:2px}
.pp-route-note-compact .muted{font-size:12px!important;line-height:1.35!important}
.pp-route-status{margin-top:9px!important;font-size:12px!important}
.pp-route-head .pp-map-summary{margin:8px 0!important}
.pp-route-head #ppMapRouteBar>.toolbar{margin-top:8px!important}
.pp-route-map{margin-top:10px!important}
@media(max-width:720px){
  .pp-route-head{padding:14px!important;border-radius:18px!important}
  .pp-route-head-row{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .pp-map-priority{padding-left:10px!important}
  .pp-map-priority .muted{font-size:13px!important;line-height:1.35!important}
  .pp-route-action-host{
    display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;
    gap:7px!important;width:100%!important
  }
  .pp-route-source-switcher{width:100%!important}
  .pp-route-source-switcher .btn{font-size:13px!important;padding:8px 9px!important}
  .pp-route-date-nav{
    grid-template-columns:40px minmax(0,1fr) 40px!important;
    grid-template-areas:
      "prev date next"
      "today today today";
    gap:7px!important;margin:7px 0!important
  }
  .pp-route-prev{grid-area:prev!important}
  .pp-route-next{grid-area:next!important}
  .pp-route-date-input{grid-area:date!important;text-align:center!important;font-size:14px!important}
  .pp-route-today{grid-area:today!important;width:100%!important}
  .pp-route-date-nav>.btn{width:100%!important;min-width:0!important}
  .pp-route-note-compact{padding:9px 11px!important}
  .pp-route-status{line-height:1.35!important;margin:8px 0 4px!important}
  .pp-route-head .pp-map-summary{gap:5px!important;margin:6px 0!important}
  .pp-route-head .pp-map-chip{padding:5px 8px!important;font-size:10.5px!important}
  .pp-route-head #ppMapRouteBar>.toolbar{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:7px!important
  }
  .pp-route-head #ppMapRouteBar .btn{width:100%!important;min-width:0!important;min-height:44px!important;padding:8px 10px!important}
  #ppGroomerMap.pp-route-map{height:360px!important;min-height:320px!important;margin-top:9px!important}
  .map-booking-list{margin-top:10px!important;gap:8px!important}
  .map-booking-card{padding:11px!important;border-radius:13px!important}
}

/* V132 — cash invoice payments + payment audit history */
.pp-v132-payment-history{margin:14px 0 12px}
.pp-v132-payment-history h3{margin:0 0 9px;color:var(--ink);font-size:15px}
.pp-cash-history-v132{display:grid;gap:8px}
.pp-cash-history-row{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 border:1px solid var(--line);background:#faf8f4;border-radius:13px;padding:10px 11px
}
.pp-cash-history-row b{font-size:13px}.pp-cash-history-row .muted{font-size:11px;margin-top:3px}
.pp-cash-modal-v132{width:min(560px,100%)!important}
.pp-cash-help-v132{margin:12px 0!important}
.pp-cash-actions-v132{margin-top:14px!important}
@media(max-width:720px){
 .pp-cash-modal-v132{border-radius:22px 22px 0 0!important;padding:18px!important;max-height:88vh!important}
 .pp-cash-actions-v132{display:grid!important;grid-template-columns:1fr!important}
 .pp-cash-actions-v132 .btn{width:100%!important}
 .pp-cash-history-row{align-items:flex-start}
}

/* V139 — keep FINAL customer booking actions above the fixed mobile portal nav */
@media(max-width:720px){
  #bookingModal .modal.wide{
    padding-bottom:calc(205px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:215px!important;
  }
  #bookingModal #bookingBody .mobile-sticky-actions{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(92px + max(8px,env(safe-area-inset-bottom)))!important;
    width:auto!important;
    margin:0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    gap:8px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #e6e0d8!important;
    border-radius:18px!important;
    box-shadow:0 10px 30px rgba(23,49,42,.12)!important;
    z-index:2190!important;
  }
  #bookingModal #bookingBody .mobile-sticky-actions .btn{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    margin:0!important;
    white-space:normal!important;
  }
}

/* V141 — site-wide mobile action reachability + modal/nav safety */
@media(max-width:900px){
  #workspace{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:150px!important}
  body.pp-mobile-modal-open #mobileNav{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .modal-bg:not(.hidden){z-index:2600!important;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;align-items:flex-end!important;overflow:hidden!important}
  .modal-bg:not(.hidden)>.modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scroll-padding-bottom:128px!important;padding-bottom:calc(26px + env(safe-area-inset-bottom))!important}
  .modal-bg:not(.hidden)>.modal .toolbar:last-child{position:sticky!important;bottom:calc(-26px - env(safe-area-inset-bottom))!important;z-index:8!important;margin:14px -16px calc(-26px - env(safe-area-inset-bottom))!important;padding:12px 16px calc(14px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(255,255,255,.86),#fff 24%)!important;border-top:1px solid rgba(225,221,212,.85)!important}
  #workspace .mobile-sticky-actions{bottom:calc(86px + env(safe-area-inset-bottom))!important;z-index:70!important}
  #ppV107Modal .modal,#ppV136Modal .modal,#ppGroomerBookingActionModal .modal{max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))!important}
  #ppV107ModalBody,#ppV136Body,#ppGroomerBookingActionBody{padding-bottom:8px!important}
}
@media(max-width:380px){
  .modal-bg:not(.hidden)>.modal{padding-left:13px!important;padding-right:13px!important}
  .modal-bg:not(.hidden)>.modal .toolbar:last-child{margin-left:-13px!important;margin-right:-13px!important;padding-left:13px!important;padding-right:13px!important}
}

/* V141.1 — Square-style booking/block sheets use the same mobile safe area rules */
@media(max-width:900px){
  body.pp-mobile-modal-open .pp-v138-overlay{z-index:3600!important;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;align-items:flex-end!important}
  body.pp-mobile-modal-open .pp-v138-sheet{max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scroll-padding-bottom:96px!important;padding-bottom:calc(30px + env(safe-area-inset-bottom))!important}
  body.pp-mobile-modal-open .pp-v138-top{top:-18px!important;z-index:12!important;background:#fff!important}
}
