/* style 1 */

:root{--ink:#173f3a;--paper:#f6f5f1;--soft:#f6f5f1;--line:#e4e3de;--muted:#78817e;--pink:#d79a62;--pink2:#c98950;--green:#18744f;--amber:#9a6218;--red:#ae4050;--shadow:0 18px 45px rgba(23,63,58,.10)}
body{background:#f6f5f1;color:#202724;font-family:Arial,system-ui,-apple-system,Segoe UI,sans-serif}
h1,h2,h3,.head h1,.section h2,.hero h1,.hero-card h2{font-family:Georgia,serif;color:#173f3a}
.top{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.brand{color:#173f3a}.logo{background:#173f3a;border-radius:12px}
.nav-links{color:#68716e}.primary,.dark{background:#173f3a;color:#fff}.primary:hover,.dark:hover{filter:brightness(.94)}
.hero{background:radial-gradient(circle at 82% 18%,#efe5da 0,transparent 32%),linear-gradient(180deg,#fff,#f6f5f1)}
.hero-card{background:#173f3a;border-radius:22px}.eyebrow{color:#8a928f}.lead{color:#78817e}.quick-card,.card,.panel,.metric,.modal,.store-card,.setting-card,.request-card,.notification-item,.map-booking-card{border-color:#e4e3de;box-shadow:none}
.footer{background:#173f3a}.link{color:#e8c5a5}
.steps .step.on{background:#d79a62}.choice.selected{outline-color:#d79a62;background:#fffaf5}.nav-badge{background:#d79a62}.notification-dot{background:#d79a62}
.app{background:#f6f5f1}.sidebar{width:240px;background:#fff;color:#202724;border-right:1px solid #e4e3de;padding:28px 18px}.side-brand{color:#173f3a;font:700 20px Georgia,serif;padding:0 10px 8px}.role{color:#8e9693;padding:0 10px 22px}.side-nav{gap:2px}.side-nav button{color:#68716e;border-radius:9px;padding:12px 13px;font-weight:600}.side-nav button.active,.side-nav button:hover{background:#edf2ef;color:#173f3a;font-weight:800}.main{margin-left:240px;padding:0;min-height:100vh}.head{min-height:92px;background:#ffffffdf;border-bottom:1px solid #e4e3de;margin:0;padding:20px 34px;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.head h1{font-size:25px}.head .muted{font-size:12px}.head+.workspace{}#workspace{padding:28px 34px;max-width:1400px;margin:auto}
.metric{border-radius:14px;padding:18px}.metric strong{font-family:Georgia,serif;color:#173f3a}.panel{border-radius:14px;padding:20px}.panel h2{font-family:Georgia,serif;color:#202724;font-size:21px}.table th{color:#8a928f}.table td{border-bottom-color:#edece8}.btn{border-radius:9px}.light{background:#fff}.danger{background:#fff4f2}.pill.approved,.pill.confirmed,.pill.completed,.pill.paid,.pill.accepted{background:#e8f4ee;color:#18744f}
.profile-header .avatar,.avatar{background:#f2c69d;color:#6b4728;border-radius:50%}.location-ok{background:#edf6f1;border-color:#cee3d8}.radius-preset button.active{background:#173f3a}
#ppGroomerMap{border-radius:14px;border-color:#e4e3de;background:#eef2ef}.pp-number-marker div{background:#173f3a}.map-booking-card.selected{outline-color:#d79a62;box-shadow:0 0 0 5px rgba(215,154,98,.13)}
.modal-bg{background:rgba(23,63,58,.42)}.modal{border-radius:15px}.field input,.field select,.field textarea{border-radius:8px}
@media(max-width:900px){.sidebar{display:none}.main{margin-left:0;padding:0 0 calc(88px + var(--safe-bottom))}.head{min-height:76px;padding:14px}.head h1{font-size:21px}#workspace{padding:15px 13px}.mobile-nav button.active{background:#edf2ef;color:#173f3a}.mobile-nav button.more-active{color:#c98950}}


/* style 2 */

/* Combined build: original website identity + V2 portal structure */
:root{--pp-deep:#173f35;--pp-deep-2:#0f3028;--pp-cream:#f6f0e7;--pp-card:#fff;--pp-soft:#fbf8f3;--pp-border:#e6ded3;--pp-text:#24372f;--pp-muted:#748078}
.app{background:var(--pp-cream)!important}.sidebar{background:#fff!important;border-right:1px solid var(--pp-border)!important;box-shadow:none!important}.side-brand{color:var(--pp-deep)!important;font-family:Georgia,'Times New Roman',serif!important;font-size:20px!important}.role{color:var(--pp-muted)!important}.side-nav button{border-radius:12px!important;color:#55645d!important;font-weight:750!important}.side-nav button:hover{background:#f6f1e8!important}.side-nav button.active{background:var(--pp-deep)!important;color:#fff!important;box-shadow:0 8px 22px rgba(23,63,53,.16)!important}.main{background:var(--pp-cream)!important}.head{background:transparent!important;border-bottom:0!important}.head h1,.panel h2,.panel h3{font-family:Georgia,'Times New Roman',serif!important;color:var(--pp-deep-2)!important}.panel,.card,.metric,.item,.choice{border-color:var(--pp-border)!important;box-shadow:0 8px 30px rgba(45,55,45,.05)!important}.panel,.metric{background:#fff!important}.choice{background:#fff!important;text-align:left!important}.choice:hover{border-color:#b8c9bf!important;transform:translateY(-1px)}.btn.dark,.btn.primary{background:var(--pp-deep)!important;color:#fff!important}.btn.primary:hover,.btn.dark:hover{background:var(--pp-deep-2)!important}.mobile-nav{background:#fff!important;border-top:1px solid var(--pp-border)!important}.mobile-nav button.active{color:var(--pp-deep)!important}.eyebrow{color:#7d8b84!important}.muted{color:var(--pp-muted)!important}.metrics{gap:14px!important}.metric{border-radius:18px!important}.panel{border-radius:20px!important}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#f2f6f3;color:var(--pp-deep);font-size:12px;font-weight:700;margin:2px}.top{background:rgba(255,253,249,.97)!important}
@media(max-width:760px){.main{background:#f8f3eb!important}.head{padding-top:14px!important}.panel{border-radius:16px!important}.choice-grid{grid-template-columns:1fr!important}}


/* style 3 */

.pp-home-slider{position:absolute!important;inset:0!important}.pp-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease;pointer-events:none}.pp-slide.active{opacity:1;visibility:visible;pointer-events:auto}.pp-slide img{width:100%;height:100%;object-fit:cover;display:block}.pp-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,40,35,.01) 35%,rgba(10,37,33,.44) 100%);pointer-events:none}.pp-slider-arrow{position:absolute;z-index:7;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(19,52,46,.55);color:#fff;font-size:30px;display:grid;place-items:center;backdrop-filter:blur(8px)}.pp-slider-arrow.prev{left:16px}.pp-slider-arrow.next{right:16px}.pp-slider-dots{position:absolute;z-index:8;right:24px;bottom:24px;display:flex;gap:7px}.pp-slider-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5)}.pp-slider-dots button.active{width:24px;border-radius:99px;background:#fff}.pp-loyalty-section{background:#fff}.pp-loyalty-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;background:#e4ece8;border-radius:30px;padding:50px}.pp-loyalty-copy h2{margin:8px 0 14px;font:700 clamp(40px,4vw,56px)/.98 "Cormorant Garamond",Georgia,serif;color:var(--pp-forest);letter-spacing:-.035em}.pp-loyalty-copy p{color:#667771;line-height:1.7;max-width:560px}.pp-loyalty-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.pp-loyalty-card{background:var(--pp-forest);color:#fff;border-radius:25px;padding:28px;box-shadow:0 24px 55px rgba(23,63,57,.18)}.pp-loyalty-card-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:900}.pp-loyalty-card-top b{font-size:25px}.pp-loyalty-balance{padding:34px 0 28px}.pp-loyalty-balance strong{display:block;font:700 39px "Cormorant Garamond",Georgia,serif}.pp-loyalty-balance span,.pp-loyalty-card small{opacity:.72;font-size:11px}.pp-loyalty-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.pp-loyalty-perks div{background:rgba(255,255,255,.09);border-radius:13px;padding:12px}.pp-loyalty-perks b,.pp-loyalty-perks span{display:block}.pp-loyalty-perks span{font-size:9px;opacity:.7;margin-top:3px}.pp-reward-progress{height:10px;border-radius:99px;background:#edf0ee;overflow:hidden;margin:10px 0}.pp-reward-progress>i{display:block;height:100%;background:var(--pp-deep);border-radius:inherit}.pp-ledger{display:grid;gap:8px}.pp-ledger-row{display:grid;grid-template-columns:1fr auto;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.pp-ledger-row:last-child{border:0}@media(max-width:760px){.pp-loyalty-shell{grid-template-columns:1fr;padding:28px 20px;border-radius:22px;gap:25px}.pp-loyalty-perks{grid-template-columns:1fr}.pp-slider-arrow{width:40px;height:40px}.pp-slider-dots{right:18px;bottom:18px}.pp-photo-caption{padding-right:65px}}@media(prefers-reduced-motion:reduce){.pp-slide{transition:none}}.pp-loyalty-simple{grid-template-columns:1fr auto!important;padding:34px 38px!important;gap:24px!important}.pp-loyalty-simple .pp-loyalty-copy h2{font-size:clamp(34px,3vw,46px)!important}.pp-loyalty-mini{min-width:220px;background:var(--pp-forest);color:#fff;border-radius:20px;padding:22px 24px}.pp-loyalty-mini b,.pp-loyalty-mini span{display:block}.pp-loyalty-mini span{font-size:12px;opacity:.75;margin-top:6px}@media(max-width:760px){.pp-loyalty-simple{grid-template-columns:1fr!important;padding:26px 20px!important}.pp-loyalty-mini{min-width:0}}


/* style 4 */

/* V2 clean public experience: rewards live inside the signed-in account, not the homepage. */
#public #loyalty,.pp-loyalty-section{display:none!important}
.pp-slider-arrow{background:rgba(20,45,41,.38);border-color:rgba(255,255,255,.45);box-shadow:none}
.pp-slider-dots{gap:6px}.pp-slider-dots button{opacity:.8}


/* style 5 */

/* Hard separation between the public website and signed-in portals. */
body.pp-portal-active #public{display:none!important}
body:not(.pp-portal-active) #app{display:none!important}
body.pp-portal-active #app{display:grid!important}
body.pp-portal-active .main{min-width:0;overflow-x:hidden}
body.pp-portal-active #workspace{min-width:0;width:100%}
@media(max-width:900px){body.pp-portal-active #app{display:block!important}}


/* style 6 */

/* V2 private conversation threads */
.pp-messages-shell{display:grid;grid-template-columns:minmax(280px,36%) 1fr;gap:16px;align-items:stretch}
.pp-conversation-panel,.pp-chat-panel{margin:0;min-height:620px}
.pp-conversation-list{display:grid;gap:7px;max-height:500px;overflow:auto;padding-right:3px}
.pp-conversation-item{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:11px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer;color:var(--ink)}
.pp-conversation-item:hover,.pp-conversation-item.active{background:var(--soft);border-color:#c8d5cf}
.pp-avatar{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-weight:900;font-size:12px;letter-spacing:.04em;flex:0 0 auto}
.pp-avatar.large{width:48px;height:48px}
.pp-conversation-copy{min-width:0;display:grid;gap:4px}.pp-conversation-copy>.muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-conversation-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.pp-conversation-top small{font-size:10px;color:var(--muted);white-space:nowrap}
.pp-chat-panel{display:flex;flex-direction:column}.pp-chat-head{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.pp-chat-head h2{margin:0}
.pp-thread{flex:1;max-height:410px;overflow:auto;padding:18px 4px 12px}.pp-compose{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:9px}.pp-compose textarea{min-height:88px}
.pp-empty-chat{margin:auto;text-align:center;padding:60px 20px}
@media(max-width:820px){.pp-messages-shell{grid-template-columns:1fr}.pp-conversation-panel,.pp-chat-panel{min-height:auto}.pp-conversation-list{max-height:300px}.pp-thread{max-height:430px;min-height:280px}}


/* style 7 */

.pp-social-section{padding:48px 0;background:#fff}
.pp-social-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:center;background:linear-gradient(135deg,#fff 0%,#fbf7f5 100%);border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 12px 34px rgba(21,35,45,.055)}
.pp-social-copy h2{font:700 40px/1.05 Georgia,serif;letter-spacing:-.035em;margin:8px 0 10px}
.pp-social-copy p{margin:0;color:var(--muted);line-height:1.65;max-width:620px}
.pp-social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.pp-social-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:116px;padding:14px 10px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font-weight:850;text-align:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.pp-social-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(21,35,45,.08);border-color:#d9cfd0}
.pp-social-link small{display:block;color:var(--muted);font-size:10px;font-weight:700;line-height:1.25}
.pp-social-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--soft);color:var(--ink)}
.pp-social-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pp-social-icon .filled{fill:currentColor;stroke:none}
.footer-social-wrap{margin-top:18px}
.footer-social-label{display:block;margin-bottom:9px;color:#fff;font-size:12px;font-weight:850;letter-spacing:.02em}
.footer-social{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.footer-social a{width:39px;height:39px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;transition:background .16s ease,transform .16s ease}
.footer-social a:hover{background:rgba(255,255,255,.13);transform:translateY(-1px)}
.footer-social svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.footer-social .filled{fill:currentColor;stroke:none}
@media(max-width:820px){.pp-social-card{grid-template-columns:1fr}.pp-social-links{max-width:560px}}
@media(max-width:560px){.pp-social-section{padding:36px 0}.pp-social-card{padding:21px;border-radius:21px}.pp-social-copy h2{font-size:34px}.pp-social-links{grid-template-columns:1fr}.pp-social-link{min-height:76px;flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 14px}.pp-social-link small{margin-top:2px}.pp-social-icon{flex:0 0 38px}}


/* style 8 */

.pp-slider,.pp-slider-stage,.pp-slider-frame,.pp-home-slider{overflow:hidden}
.pp-slider-dots{z-index:6}
img{max-width:100%}


/* style 9 */

/* V94 release blocker fix: sidebar geometry is immutable while navigating. */
.sidebar{scrollbar-gutter:stable}
.side-nav{grid-auto-rows:minmax(46px,46px)!important;align-content:start!important}
.side-nav button{display:flex!important;align-items:center!important;width:100%!important;min-height:46px!important;height:46px!important;box-sizing:border-box!important;margin:0!important;transform:none!important;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease!important;font-weight:750!important;white-space:nowrap!important}
.side-nav button:hover,.side-nav button.active{transform:none!important;font-weight:750!important}
.mobile-nav button{min-height:48px!important;height:48px!important;box-sizing:border-box!important;transform:none!important}
.mobile-nav button.active{transform:none!important}


/* style 10 */

/* V97 authoritative Admin navigation. Geometry never changes between routes. */
body.pp-admin-nav-v95 .sidebar{width:240px!important;min-width:240px!important;max-width:240px!important;overflow-y:auto!important;scrollbar-gutter:stable both-edges!important}
body.pp-admin-nav-v95 #sideNav{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:44px!important;gap:4px!important;align-content:start!important;width:100%!important}
body.pp-admin-nav-v95 #sideNav button,
body.pp-admin-nav-v95 #sideNav button:hover,
body.pp-admin-nav-v95 #sideNav button:focus,
body.pp-admin-nav-v95 #sideNav button:focus-visible,
body.pp-admin-nav-v95 #sideNav button:active{display:flex!important;align-items:center!important;width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:0 12px!important;box-sizing:border-box!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#55645d!important;box-shadow:none!important;transform:none!important;transition:none!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-admin-nav-v95 #sideNav button.active,
body.pp-admin-nav-v95 #sideNav button.active:hover,
body.pp-admin-nav-v95 #sideNav button.active:focus,
body.pp-admin-nav-v95 #sideNav button.active:focus-visible,
body.pp-admin-nav-v95 #sideNav button.active:active{background:var(--pp-deep,#173f35)!important;color:#fff!important;border-color:var(--pp-deep,#173f35)!important;font-weight:750!important}
body.pp-admin-nav-v95 #mobileNav button,body.pp-admin-nav-v95 #mobileNav button:hover,body.pp-admin-nav-v95 #mobileNav button:focus,body.pp-admin-nav-v95 #mobileNav button:active{height:50px!important;min-height:50px!important;max-height:50px!important;box-sizing:border-box!important;transform:none!important;transition:none!important}
body.pp-admin-nav-v95 #mobileNav button.active{background:#edf2ef!important;color:var(--pp-deep,#173f35)!important}


/* style 11 */

/* V98.1 homepage: image-first wide grooming gallery */
.pp-hero.pp-hero-gallery-only{padding:24px 0 52px;background:linear-gradient(180deg,#faf9f5 0%,#f7f4ee 100%)}
.pp-hero-gallery-only .pp-hero-gallery-container{width:min(1460px,calc(100% - 24px));max-width:none}
.pp-hero-gallery-only .pp-photo-wrap-wide{position:relative;min-height:660px;width:100%;margin:0;filter:drop-shadow(0 28px 65px rgba(24,39,35,.13))}
.pp-hero-gallery-only .pp-photo-wrap-wide>.pp-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:32px!important;overflow:hidden!important}
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 46%;display:block}
.pp-hero-gallery-only .pp-photo-caption{left:34px!important;right:90px!important;bottom:30px!important}
.pp-hero-gallery-only .pp-photo-caption strong{font-size:30px!important;letter-spacing:-.02em}
.pp-hero-gallery-only .pp-photo-caption span{font-size:12px!important}
.pp-hero-gallery-only .pp-slider-arrow{width:50px;height:50px;background:rgba(19,52,46,.48)}
.pp-hero-gallery-only .pp-slider-arrow.prev{left:22px}.pp-hero-gallery-only .pp-slider-arrow.next{right:22px}
.pp-hero-gallery-only .pp-slider-dots{right:30px;bottom:31px}
@media(max-width:1000px){.pp-hero-gallery-only .pp-photo-wrap-wide{min-height:560px}.pp-hero-gallery-only .pp-hero-gallery-container{width:min(100% - 20px,1460px)}}
@media(max-width:640px){.pp-hero.pp-hero-gallery-only{padding:12px 0 34px}.pp-hero-gallery-only .pp-hero-gallery-container{width:calc(100% - 16px)}.pp-hero-gallery-only .pp-photo-wrap-wide{min-height:420px}.pp-hero-gallery-only .pp-photo-wrap-wide>.pp-photo{border-radius:22px!important}.pp-hero-gallery-only .pp-photo-caption{left:22px!important;right:62px!important;bottom:22px!important}.pp-hero-gallery-only .pp-photo-caption strong{font-size:22px!important}.pp-hero-gallery-only .pp-photo-caption span{font-size:10px!important}.pp-hero-gallery-only .pp-slider-arrow{width:42px;height:42px}.pp-hero-gallery-only .pp-slider-arrow.prev{left:12px}.pp-hero-gallery-only .pp-slider-arrow.next{right:12px}.pp-hero-gallery-only .pp-slider-dots{right:20px;bottom:20px}}


/* style 12 */

.pp-home .pp-announcement{letter-spacing:.14em;font-size:11px}.pp-hero{padding-top:38px}.pp-hero h1{max-width:680px}.pp-hero-lead{max-width:600px}.pp-photo-wrap{filter:drop-shadow(0 22px 45px rgba(24,39,35,.10))}.pp-home-slider img{object-fit:cover;object-position:center}.pp-home-trust{right:18px!important;bottom:18px!important}.pp-section{padding-top:70px;padding-bottom:70px}.pp-steps{gap:14px}.pp-step{box-shadow:none}.side .nav-btn{margin-bottom:3px}@media(max-width:760px){.pp-hero{padding-top:22px}.pp-section{padding-top:48px;padding-bottom:48px}.pp-home-trust{display:none}}


/* style 13 */

.pp-status-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pp-status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#94a39c}.pp-status-dot.on{background:#2e8b67}.pp-status-dot.off{background:#b45c5c}.pp-danger-zone{border:1px solid #efd0d0;background:#fff8f8;border-radius:16px;padding:15px;margin-top:18px}.pp-area-admin-row{display:grid;grid-template-columns:1.3fr .8fr .65fr auto;gap:9px;align-items:end}.pp-contact-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf2ef;color:#173f39;font-weight:900;flex:0 0 auto}.pp-contact-avatar.large{width:52px;height:52px;font-size:17px}@media(max-width:760px){.pp-area-admin-row{grid-template-columns:1fr}.pp-status-row{align-items:stretch}.pp-status-row .btn{flex:1}}


/* style 14 */

.pp-route-order{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-route-stop{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#173f3a;color:#fff;font-weight:900}.pp-route-note{background:#f6f1e8;border:1px solid #e5ddd0;border-radius:14px;padding:12px 14px;margin:10px 0}.pp-route-line{font-size:12px;font-weight:800}.pp-route-move{display:flex;gap:6px}.pp-route-move .btn{min-width:38px}.pp-map-priority{border-left:4px solid #173f3a;padding-left:12px}


/* style 15 */

.pp-booking-message-btn{white-space:nowrap}
.pp-rewards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pp-reward-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}
.pp-reward-card h3{margin:0 0 5px}.pp-reward-card .btn{margin-top:12px}
.pp-contact-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@media(max-width:760px){.pp-rewards-grid{grid-template-columns:1fr}}


/* style 16 */

.pp-msg-badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#b44a3f;color:#fff;margin-left:7px}
.pp-msg-toast-wrap{position:fixed;right:20px;top:82px;z-index:99999;display:grid;gap:10px;width:min(360px,calc(100vw - 28px));pointer-events:none}
.pp-msg-toast{pointer-events:auto;background:#173f39;color:#fff;border-radius:16px;padding:14px 15px;box-shadow:0 18px 50px rgba(0,0,0,.22);display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;cursor:pointer}
.pp-msg-toast-avatar{width:42px;height:42px;border-radius:50%;background:#f4efe5;color:#173f39;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}
.pp-msg-toast-avatar img{width:100%;height:100%;object-fit:cover}
.pp-msg-toast b{display:block}.pp-msg-toast small{display:block;opacity:.78;margin-top:2px}.pp-msg-toast-x{border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.pp-dashboard-message-alert{margin:0 0 16px;border:1px solid #d8d2c7;background:#fffaf0;border-radius:16px;padding:13px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}
@media(max-width:640px){.pp-msg-toast-wrap{right:14px;left:14px;top:72px;width:auto}}


/* style 17 */

.pp-contact-section-label{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 2px 5px}
.pp-contact-role{display:inline-flex;padding:3px 8px;border-radius:999px;background:#edf2ef;color:#173f39;font-size:11px;font-weight:800;margin-left:6px}


/* style 18 */

.crm-search{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.crm-search input,.crm-search select,.crm-field{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:180px}.crm-result{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.crm-result:last-child{border-bottom:0}.crm-tags{display:flex;gap:6px;flex-wrap:wrap}.crm-profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.crm-kpi{font-size:24px;font-weight:900}.crm-note{padding:11px;border-left:3px solid var(--primary);background:var(--soft);border-radius:8px;margin:8px 0}@media(max-width:760px){.crm-result{grid-template-columns:1fr}.crm-profile-grid{grid-template-columns:1fr}.crm-search>*{width:100%;min-width:0}}


/* style 19 */

.pp-loyalty-home{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.pp-points-big{font-size:34px;font-weight:900;line-height:1;color:var(--primary)}
@media(max-width:640px){.pp-loyalty-home{grid-template-columns:1fr}.pp-points-big{font-size:30px}}


/* style 20 */

.pp-notify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pp-notify-box{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}
.pp-notify-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.pp-notify-switch input{width:20px;height:20px}
.pp-notify-preview{white-space:pre-wrap;background:#f7f4ee;border:1px solid var(--line);padding:14px;border-radius:14px;font-size:13px}
@media(max-width:760px){.pp-notify-grid{grid-template-columns:1fr}}


/* style 21 */

.pp-settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.pp-settings-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}
.pp-settings-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.pp-settings-intro{margin-bottom:14px}


/* style 22 */

.pp-admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.pp-admin-quick{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.pp-admin-search{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.pp-admin-search input{flex:1;min-width:210px;padding:12px 13px;border:1px solid var(--line);border-radius:12px}
.pp-unread-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}
.pp-unread-number{font-size:30px;font-weight:900;line-height:1}
.pp-settings-section{margin-top:16px}
@media(max-width:760px){.pp-admin-dashboard-grid{grid-template-columns:1fr}}


/* style 23 */

.pp-gd-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px;margin-top:14px}
.pp-gd-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.pp-gd-route{display:grid;gap:9px;margin-top:12px}
.pp-gd-stop{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}
.pp-gd-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}
.pp-gd-next{outline:2px solid var(--primary);outline-offset:1px}
.pp-gd-actions{display:flex;gap:7px;flex-wrap:wrap}
.pp-gd-map-host{min-height:420px;border-radius:16px;overflow:hidden;background:#eef2ef}
.pp-gd-message-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.pp-gd-message-row:last-child{border-bottom:0}
@media(max-width:900px){.pp-gd-grid{grid-template-columns:1fr}.pp-gd-map-host{min-height:330px}}
@media(max-width:620px){.pp-gd-stop{grid-template-columns:30px 1fr}.pp-gd-stop .pp-gd-actions{grid-column:2}}


/* style 24 */

.pp-notify-health-v76{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 16px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.pp-notify-pill-v76{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f3f4f6;color:#374151}
.pp-notify-pill-v76.on{background:#ecfdf5;color:#065f46}.pp-notify-pill-v76.off{background:#fef2f2;color:#991b1b}
.pp-notify-note-v76{font-size:12px;color:#6b7280;margin-left:auto}


/* style 25 */

.pp-password-wrap,.eye-wrap{position:relative;display:block}.pp-password-wrap input,.eye-wrap input{padding-right:48px!important}
.pp-password-toggle,.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;min-width:40px;min-height:40px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;color:#53606a;cursor:pointer;padding:0}
.pp-password-toggle:hover,.eye:hover,.pp-password-toggle:focus-visible,.eye:focus-visible{background:#eef2f4;outline:2px solid rgba(21,35,45,.18);outline-offset:1px}
.pp-password-toggle svg,.eye svg{width:20px;height:20px;pointer-events:none}


/* style 26 */

#bookingModal .modal.wide{max-width:980px}
.pp-v103-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pink2);margin-bottom:6px}
.pp-v103-groomer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pp-v103-groomer{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;text-align:left;cursor:pointer;transition:.15s}
.pp-v103-groomer:hover,.pp-v103-groomer.selected{border-color:#1f2937;box-shadow:0 4px 16px rgba(15,23,42,.08);transform:translateY(-1px)}
.pp-v103-groomer b{display:block;font-size:16px;margin-bottom:5px}
.pp-v103-calendar-shell{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px}
.pp-v103-month-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin-bottom:14px}
.pp-v103-month-head h3{text-align:center;margin:0;font-size:24px}
.pp-v103-month-nav{width:46px;height:46px;border:0;border-radius:12px;background:#f3f4f6;font-size:26px;cursor:pointer}
.pp-v103-weekdays,.pp-v103-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.pp-v103-weekdays div{text-align:center;color:#8a919c;font-size:12px;font-weight:800;padding:5px 0}
.pp-v103-day{aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:transparent;font-weight:700;cursor:pointer;min-height:44px}
.pp-v103-day.available{background:#f5f5f5;color:#151515}
.pp-v103-day.available:hover{background:#e9e9e9}
.pp-v103-day.selected{background:#151515;color:#fff}
.pp-v103-day:disabled{color:#b8bec6;cursor:not-allowed;text-decoration:line-through;background:transparent}
.pp-v103-day.empty{visibility:hidden}
.pp-v103-times{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.pp-v103-time-group{margin-top:16px}
.pp-v103-time-group h4{margin:0 0 9px;font-size:14px}
.pp-v103-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.pp-v103-time{min-height:50px;border:1px solid var(--line);border-radius:12px;background:#f6f6f6;font-size:15px;font-weight:800;cursor:pointer;padding:10px}
.pp-v103-time:hover,.pp-v103-time.selected{background:#151515;color:#fff;border-color:#151515}
.pp-v103-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.pp-v103-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafafa}
.pp-v103-summary span{display:block;color:#7a838e;font-size:12px;margin-bottom:3px}
.pp-v103-loading{padding:28px;text-align:center;color:#6b7280}
.pp-v103-availability-note{margin:10px 0 0;color:#6b7280;font-size:13px}
.pp-v103-invoice-overlay{position:fixed;inset:0;background:rgba(15,23,42,.56);z-index:9999;display:grid;place-items:center;padding:20px}
.pp-v103-invoice-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.pp-v103-invoice-totals{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:16px 0}
.pp-v103-invoice-row{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid var(--line)}
.pp-v103-invoice-row:last-child{border-bottom:0}
.pp-v103-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f4;font-size:12px;font-weight:800;text-transform:capitalize}
.pp-v103-status.paid{background:#e9f8ef;color:#147a3d}.pp-v103-status.partially_paid{background:#fff6df;color:#8a6200}.pp-v103-status.unpaid{background:#fff0f0;color:#a52a2a}
.pp-v103-manual-avail{margin-top:16px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fafafa}
.pp-v103-date-strip{display:flex;gap:8px;overflow:auto;padding-bottom:6px;scrollbar-width:thin}
.pp-v103-date-chip{min-width:90px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;cursor:pointer;font-weight:700}
.pp-v103-date-chip.selected{background:#151515;color:#fff;border-color:#151515}
.pp-v103-mobile-card{display:none}
@media(max-width:720px){
 body{overflow-x:hidden}.main{padding:14px 12px 88px!important}.panel{padding:14px!important}.head{gap:10px;align-items:flex-start}.head>.toolbar{display:none}
 .grid2,.split,.booking-mode-grid{grid-template-columns:1fr!important}.choice-grid{grid-template-columns:1fr!important}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .toolbar{flex-wrap:wrap;gap:8px}.btn{min-height:44px}.field input,.field select,.field textarea{font-size:16px!important}
 #bookingModal{padding:0!important;align-items:stretch!important}
 #bookingModal .modal.wide{width:100%!important;max-width:none!important;height:100dvh!important;max-height:none!important;border-radius:0!important;padding:15px!important;overflow:auto!important;padding-bottom:94px!important}
 #bookingModal .modal-head{position:sticky;top:-15px;background:#fff;z-index:5;padding-top:15px;padding-bottom:10px}
 #bookingModal .steps{position:sticky;top:73px;background:#fff;z-index:4;padding:8px 0 10px}
 #bookingModal .mobile-sticky-actions,.pp-v103-sticky{position:fixed!important;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:30;margin:0!important;display:grid!important;grid-template-columns:1fr 2fr}
 #bookingModal .mobile-sticky-actions .btn,.pp-v103-sticky .btn{width:100%}
 .pp-v103-groomer-grid{grid-template-columns:1fr}.pp-v103-calendar-shell{padding:12px;border-radius:14px}.pp-v103-month-head h3{font-size:21px}
 .pp-v103-weekdays,.pp-v103-days{gap:4px}.pp-v103-day{border-radius:10px;font-size:14px;min-height:42px}.pp-v103-time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pp-v103-time{min-height:48px;padding:8px 5px;font-size:14px}
 .pp-v103-summary{grid-template-columns:1fr}.pp-v103-invoice-overlay{padding:0;align-items:end}.pp-v103-invoice-card{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;padding:18px 14px calc(18px + env(safe-area-inset-bottom))}
 .desktop-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.desktop-table table{min-width:760px}
 .pp-v103-mobile-card{display:block}
}


/* style 27 */

/* V103 auxiliary staff/rebooking styles only.
   Calendar and time-slot styling is owned by #pp-v103-square-booking above. */
.pp-v103-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff;margin:9px 0}
.pp-v103-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.pp-v103-actions .btn{min-height:40px}
@media(max-width:480px){.pp-v103-actions .btn{flex:1 1 46%}}


/* style 28 */

.pp-v105-invoice-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.pp-v105-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.pp-v105-filterbar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}
.pp-v105-filterbar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pp-v105-search{width:min(340px,100%);min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:15px}
.pp-v105-invoice-list{display:grid;gap:12px;margin-top:14px}
.pp-v105-invoice-item{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px}
.pp-v105-invoice-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pp-v105-invoice-meta{color:#6b7280;font-size:13px;line-height:1.55;margin-top:4px}
.pp-v105-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.pp-v105-money>div{background:#f7f7f8;border:1px solid var(--line);border-radius:12px;padding:10px}
.pp-v105-money span{display:block;color:#737b86;font-size:12px;margin-bottom:3px}
.pp-v105-money b{font-size:17px}
.pp-v105-actions{display:flex;gap:8px;flex-wrap:wrap}
.pp-v105-overlay{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:10020;display:grid;place-items:center;padding:18px}
.pp-v105-modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 22px 70px rgba(0,0,0,.28)}
.pp-v105-itemline{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}
.pp-v105-itemline:last-child{border-bottom:0}
/* Pawpular Palace V107 — Square-style booking + availability + CRM cleanup */
.pp-v107-square-wrap{display:grid;grid-template-columns:minmax(340px,1fr) minmax(300px,.9fr);gap:18px;align-items:start;margin:14px 0 18px}
.pp-v107-calendar{border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px}
.pp-v107-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.pp-v107-calendar-head h3{margin:0;font-size:1.55rem}
.pp-v107-cal-arrow{width:44px;height:44px;border:0;border-radius:12px;background:#f3f3f3;font-size:1.5rem;cursor:pointer}
.pp-v107-week,.pp-v107-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.pp-v107-week span{text-align:center;font-size:.78rem;font-weight:800;color:#8a9099;padding:8px 0}
.pp-v107-cal-day{aspect-ratio:1/1;border:0;border-radius:11px;background:transparent;font-weight:800;cursor:pointer;position:relative}
.pp-v107-cal-day.available{background:#f3f3f3;color:#171717}
.pp-v107-cal-day.selected{background:#171717;color:#fff}
.pp-v107-cal-day.today{outline:1px solid #999}
.pp-v107-cal-day:disabled{color:#c0c4ca;text-decoration:line-through;cursor:not-allowed;background:transparent}
.pp-v107-cal-day.blank{visibility:hidden}
.pp-v107-time-panel{border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px;min-height:260px}
.pp-v107-time-panel h3{margin:0 0 12px}
.pp-v107-time-group{margin:14px 0}
.pp-v107-time-group h4{margin:0 0 8px}
.pp-v107-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pp-v107-time-grid .pp-v103-time{width:100%;margin:0;border-radius:11px;padding:12px 8px}
.pp-v107-details-title{margin:22px 0 8px;font-size:1.15rem;font-weight:900}
.pp-v107-cal-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pp-v107-plus{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:26px;line-height:1;cursor:pointer}
.pp-v107-menu{display:grid;gap:9px}
.pp-v107-menu button{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;font-weight:850;cursor:pointer}
.pp-v107-menu button:hover{background:var(--soft)}
.pp-v107-menu-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--soft);font-size:19px;flex:0 0 40px}
.pp-v107-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.pp-v107-kind{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;text-align:left;font-weight:800;cursor:pointer}
.pp-v107-kind.active{border:2px solid var(--ink);background:var(--soft)}
.pp-v107-weekdays{display:flex;flex-wrap:wrap;gap:7px}
.pp-v107-weekdays label{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font-size:12px;font-weight:800}
.pp-v107-block-summary{margin-top:12px}
.pp-v107-block{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:8px 0}
.pp-v107-block.inactive{opacity:.55}
.pp-v107-block-title{font-weight:900}
.pp-v107-block-meta{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.pp-v107-blocked-slot{border-left-color:#b94b4b!important;background:#fff7f7!important}
.pp-v107-day-badge{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#fff0f0;color:#9a3131;font-size:10px;font-weight:900}
.pp-v107-crm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pp-v107-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.pp-v107-finance-grid>div{background:#f7f7f8;border:1px solid var(--line);border-radius:12px;padding:10px}
.pp-v107-finance-grid span{display:block;color:#737b86;font-size:12px;margin-bottom:3px}
.pp-v107-finance-grid b{font-size:17px}
.pp-v107-toast{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:240;width:min(390px,calc(100vw - 36px));background:#15232d;color:#fff;border-radius:16px;padding:15px 16px;box-shadow:0 18px 55px rgba(0,0,0,.25);display:none;gap:12px;align-items:flex-start}
.pp-v107-toast.show{display:flex}.pp-v107-toast b{display:block;margin-bottom:5px}.pp-v107-toast div div{font-size:12px;line-height:1.45;opacity:.9}.pp-v107-toast button{margin-left:auto;border:0;background:transparent;color:#fff;font-size:20px}
@media(max-width:760px){.pp-v107-square-wrap{grid-template-columns:1fr}.pp-v107-time-grid{grid-template-columns:repeat(3,1fr)}.pp-v107-kind-grid{grid-template-columns:1fr}.pp-v107-block{flex-direction:column}.pp-v107-finance-grid{grid-template-columns:1fr}}
@media(max-width:430px){.pp-v107-time-grid{grid-template-columns:repeat(2,1fr)}.pp-v107-calendar{padding:12px}.pp-v107-calendar-head h3{font-size:1.3rem}}


@media(max-width:720px){
 .pp-v105-invoice-item{padding:13px}.pp-v105-money{grid-template-columns:1fr 1fr 1fr;gap:6px}
 .pp-v105-money>div{padding:9px 7px}.pp-v105-money b{font-size:15px}
 .pp-v105-actions{display:grid;grid-template-columns:1fr 1fr}.pp-v105-actions .btn{width:100%;min-height:44px}
 .pp-v105-overlay{padding:0;align-items:end}.pp-v105-modal{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;padding:17px 14px calc(17px + env(safe-area-inset-bottom))}
 .pp-v105-search{width:100%}
}


/* style 29 */

.metric.pp-dashboard-link,.setting-card.pp-dashboard-link,.pp-unread-card.pp-dashboard-link{
 cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;position:relative
}
.metric.pp-dashboard-link:hover,.setting-card.pp-dashboard-link:hover,.pp-unread-card.pp-dashboard-link:hover{
 transform:translateY(-2px);box-shadow:0 10px 26px rgba(23,63,58,.10);border-color:#b9cbc5
}
.metric.pp-dashboard-link:focus-visible,.setting-card.pp-dashboard-link:focus-visible,.pp-unread-card.pp-dashboard-link:focus-visible{
 outline:3px solid rgba(23,63,58,.22);outline-offset:2px
}
.metric.pp-dashboard-link:after{content:"Open ›";display:block;margin-top:7px;font-size:11px;font-weight:800;color:#6f7f79}
.setting-card.pp-dashboard-link:after{content:"Open ›";display:block;margin-top:5px;font-size:11px;font-weight:800;color:#6f7f79}


/* style 30 */

/* V110: professional access, portal navigation and responsive homepage imagery */
:root{
  --pp-nav-deep:#173f35;
  --pp-nav-soft:#edf3f0;
  --pp-nav-muted:#71817b;
  --pp-nav-line:#e7e2d9;
  --pp-nav-shadow:0 18px 46px rgba(24,50,44,.16);
}

/* Access / account entry */
#access>.btn{
  border-radius:16px!important;
  min-height:48px!important;
  padding:0 18px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  border:1px solid #ddd8cf!important;
  background:#fff!important;
  color:var(--pp-nav-deep)!important;
  box-shadow:0 4px 14px rgba(22,50,43,.05)!important;
}
#access>.btn:before{content:"◉";font-size:13px;margin-right:8px;color:#6c8179}
#access .menu{
  width:min(390px,calc(100vw - 28px))!important;
  padding:12px!important;
  border:1px solid rgba(215,210,200,.9)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 70px rgba(21,45,39,.20)!important;
  overflow:hidden;
}
#access .menu:before{
  content:"Account & access";
  display:block;
  padding:8px 10px 10px;
  color:var(--pp-nav-deep);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#access .menu button{
  width:100%!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px 12px!important;
  margin:2px 0!important;
  border:0!important;
  border-radius:17px!important;
  background:transparent!important;
  color:var(--pp-nav-deep)!important;
  text-align:left!important;
  transition:background .15s ease,transform .15s ease!important;
}
#access .menu button:hover,#access .menu button:focus-visible{background:#f1f5f3!important;outline:none}
#access .menu button:active{transform:scale(.985)}
#access .menu .icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#edf3f0;font-size:21px;
}
#access .menu button>span:last-child{display:grid;gap:3px;min-width:0}
#access .menu b{font-size:15px!important;line-height:1.2!important;font-weight:900!important;letter-spacing:-.015em}
#access .menu button span span{font-size:12.5px!important;line-height:1.35!important;color:#74817c!important}

/* Sign-in modal */
#authModal .modal{
  border-radius:26px!important;
  border:1px solid #e7e1d8!important;
  box-shadow:0 28px 90px rgba(20,46,39,.22)!important;
  padding:22px!important;
}
#authModal .modal-head{margin-bottom:12px!important}
#authModal .modal-head h2{font-size:26px!important;letter-spacing:-.035em!important;color:var(--pp-nav-deep)!important}
#authModal .field{margin-top:14px!important}
#authModal .field label{font-weight:850!important;color:#244c42!important;font-size:13px!important;margin-bottom:7px!important}
#authModal input{
  min-height:52px!important;border-radius:15px!important;
  border:1px solid #ddd8cf!important;background:#fff!important;
  font-size:16px!important;padding:0 14px!important;
}
#authModal input:focus{border-color:#7b9b90!important;box-shadow:0 0 0 4px rgba(52,98,84,.09)!important;outline:none!important}
#authModal #authSubmit{min-height:52px!important;border-radius:16px!important;margin-top:16px!important;font-size:15px!important;font-weight:900!important}
#authModal .eye{border-radius:12px!important;min-width:46px!important}
#authModal .x{border-radius:14px!important}

/* Portal navigation: desktop/sidebar polish */
#sideNav{gap:6px!important}
#sideNav button{
  border-radius:13px!important;
  min-height:46px!important;
  padding:0 13px!important;
  font-size:13px!important;
  letter-spacing:-.005em!important;
}
#sideNav button.active{box-shadow:0 8px 20px rgba(23,63,53,.16)!important}

/* Mobile bottom app nav */
@media(max-width:900px){
  .app .main{padding-bottom:112px!important}
  #mobileNav.mobile-nav{
    position:fixed!important;
    left:10px!important;right:10px!important;
    bottom:max(9px,env(safe-area-inset-bottom))!important;
    width:auto!important;height:auto!important;min-height:0!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;padding:7px!important;
    border:1px solid rgba(216,212,203,.92)!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
    box-shadow:0 16px 48px rgba(22,49,42,.18)!important;
    z-index:2200!important;
  }
  #mobileNav button{
    min-width:0!important;width:100%!important;
    height:auto!important;min-height:66px!important;max-height:none!important;
    padding:7px 3px 6px!important;margin:0!important;
    border:0!important;border-radius:18px!important;
    display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:center!important;
    gap:4px!important;
    color:#7a8984!important;background:transparent!important;
    font-size:10.5px!important;line-height:1.08!important;
    font-weight:850!important;letter-spacing:-.01em!important;
    white-space:normal!important;text-align:center!important;
    overflow:visible!important;transform:none!important;
  }
  #mobileNav button::before{
    content:"•";display:block;font-size:20px;line-height:20px;
    color:currentColor;font-weight:800;
  }
  #mobileNav button.active,#mobileNav button.more-active{
    color:#fff!important;background:var(--pp-nav-deep)!important;
    box-shadow:0 7px 18px rgba(23,63,53,.19)!important;
  }
  #mobileNav button[data-k="overview"]::before{content:"⌂"}
  #mobileNav button[data-k="dashboard"]::before{content:"⌂"}
  #mobileNav button[data-k="bookings"]::before{content:"▣"}
  #mobileNav button[data-k="upcoming"]::before{content:"▣"}
  #mobileNav button[data-k="calendar"]::before{content:"▦"}
  #mobileNav button[data-k="invoices"]::before{content:"＄"}
  #mobileNav button[data-k="payments"]::before{content:"＄"}
  #mobileNav button[data-k="groomers"]::before{content:"♟"}
  #mobileNav button[data-k="customers"]::before{content:"◎"}
  #mobileNav button[data-k="customers_hub"]::before{content:"◎"}
  #mobileNav button[data-k="messages"]::before{content:"✉"}
  #mobileNav button[data-k="notifications"]::before{content:"●"}
  #mobileNav button[data-k="services"]::before{content:"✂"}
  #mobileNav button[data-k="settings_hub"]::before{content:"⚙"}
  #mobileNav button[data-k="profile"]::before{content:"☺"}
  #mobileNav button[data-k="pets"]::before{content:"♢"}
  #mobileNav button[data-k="map"]::before{content:"⌖"}
  #mobileNav button[data-k="route"]::before{content:"⌖"}
  #mobileNav button[data-k="stores"]::before{content:"▤"}
  #mobileNav button[data-k="areas"]::before{content:"◎"}
  #mobileMoreBtn::before{content:"•••"!important;letter-spacing:2px;font-size:17px!important}

  /* More sheet */
  #mobileMore.mobile-more-bg{
    position:fixed!important;inset:0!important;
    background:rgba(15,35,30,.36)!important;
    backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
    z-index:3200!important;
    display:flex!important;align-items:flex-end!important;
  }
  #mobileMore.hidden{display:none!important}
  #mobileMore .mobile-more-sheet{
    width:100%!important;max-width:none!important;
    max-height:min(82vh,760px)!important;
    overflow:auto!important;
    margin:0!important;padding:18px 16px max(22px,env(safe-area-inset-bottom))!important;
    border-radius:28px 28px 0 0!important;
    background:#fbfaf7!important;
    box-shadow:0 -20px 60px rgba(21,47,40,.18)!important;
  }
  #mobileMore .mobile-more-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    padding:2px 2px 14px!important;border-bottom:1px solid #e9e4dc!important;margin-bottom:12px!important;
  }
  #mobileMoreTitle{font-size:20px!important;color:var(--pp-nav-deep)!important;letter-spacing:-.025em!important}
  #mobileMore .mobile-more-head .muted{font-size:12px!important}
  #mobileMore .mobile-more-list{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  #mobileMore .mobile-more-list button{
    min-height:76px!important;padding:11px!important;
    border:1px solid #e3ded5!important;border-radius:18px!important;
    background:#fff!important;color:var(--pp-nav-deep)!important;
    display:flex!important;flex-direction:column!important;
    align-items:flex-start!important;justify-content:center!important;
    gap:6px!important;text-align:left!important;
    font-size:13px!important;font-weight:850!important;
    box-shadow:0 4px 12px rgba(28,56,48,.035)!important;
  }
  #mobileMore .mobile-more-list button::before{content:"•";font-size:20px;line-height:1;color:#6e817a}
  #mobileMore .mobile-more-list button.active{
    background:var(--pp-nav-deep)!important;color:#fff!important;border-color:var(--pp-nav-deep)!important;
  }
  #mobileMore .mobile-more-list button[data-k="overview"]::before,
  #mobileMore .mobile-more-list button[data-k="dashboard"]::before{content:"⌂"}
  #mobileMore .mobile-more-list button[data-k="bookings"]::before,
  #mobileMore .mobile-more-list button[data-k="upcoming"]::before{content:"▣"}
  #mobileMore .mobile-more-list button[data-k="calendar"]::before{content:"▦"}
  #mobileMore .mobile-more-list button[data-k="invoices"]::before,
  #mobileMore .mobile-more-list button[data-k="payments"]::before{content:"＄"}
  #mobileMore .mobile-more-list button[data-k="groomers"]::before{content:"♟"}
  #mobileMore .mobile-more-list button[data-k="customers"]::before,
  #mobileMore .mobile-more-list button[data-k="customers_hub"]::before{content:"◎"}
  #mobileMore .mobile-more-list button[data-k="messages"]::before{content:"✉"}
  #mobileMore .mobile-more-list button[data-k="notifications"]::before{content:"●"}
  #mobileMore .mobile-more-list button[data-k="services"]::before{content:"✂"}
  #mobileMore .mobile-more-list button[data-k="settings_hub"]::before,
  #mobileMore .mobile-more-list button[data-k="settings"]::before{content:"⚙"}
  #mobileMore .mobile-more-list button[data-k="profile"]::before{content:"☺"}
  #mobileMore .mobile-more-list button[data-k="pets"]::before{content:"♢"}
  #mobileMore .mobile-more-list button[data-k="map"]::before,
  #mobileMore .mobile-more-list button[data-k="route"]::before{content:"⌖"}
  #mobileMore .mobile-more-list button[data-k="stores"]::before{content:"▤"}
  #mobileMore .mobile-more-list button[data-k="areas"]::before{content:"◎"}

  /* Access dropdown becomes a mobile account sheet/card */
  #access .menu{
    position:fixed!important;
    top:calc(env(safe-area-inset-top) + 88px)!important;
    left:14px!important;right:14px!important;
    width:auto!important;max-height:calc(100vh - 112px)!important;
    overflow:auto!important;
    border-radius:24px!important;
    padding:12px!important;
  }
  #access .menu button{min-height:70px!important}
  #access>.btn{min-height:46px!important;border-radius:14px!important}

  /* Auth modal as a mobile card */
  #authModal.modal-bg{padding:12px!important;align-items:flex-end!important}
  #authModal .modal{
    width:100%!important;max-width:none!important;
    max-height:88vh!important;overflow:auto!important;
    border-radius:28px!important;
    padding:20px 18px max(20px,env(safe-area-inset-bottom))!important;
  }
}

/* Homepage image composition */
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(1) img{object-position:50% 46%!important}
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(2) img{object-position:50% 42%!important}
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(3) img{object-position:50% 48%!important}
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(4) img{object-position:50% 43%!important}
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(5) img{object-position:50% 46%!important}
.pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(6) img{object-position:50% 45%!important}

@media(max-width:640px){
  .pp-hero-gallery-only .pp-photo-wrap-wide{
    min-height:0!important;
    aspect-ratio:1 / 1.04!important;
  }
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide img{
    object-fit:cover!important;
    transform:scale(1.001);
  }
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(1) img{object-position:50% 50%!important}
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(2) img{object-position:50% 45%!important}
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(3) img{object-position:50% 50%!important}
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(4) img{object-position:50% 44%!important}
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(5) img{object-position:50% 48%!important}
  .pp-hero-gallery-only .pp-home-slider-wide .pp-slide:nth-child(6) img{object-position:50% 48%!important}

  /* Override older Admin-specific mobile nav rules with V110 geometry */
  body.pp-admin-nav-v95 #mobileNav button,
  body.pp-admin-nav-v95 #mobileNav button:hover,
  body.pp-admin-nav-v95 #mobileNav button:focus,
  body.pp-admin-nav-v95 #mobileNav button:active{
    height:auto!important;min-height:66px!important;max-height:none!important;
    border-radius:18px!important;transition:background .15s ease,color .15s ease!important;
  }
  body.pp-admin-nav-v95 #mobileNav button.active,
  body.pp-admin-nav-v95 #mobileNav button.more-active{
    background:var(--pp-nav-deep)!important;color:#fff!important;
    box-shadow:0 7px 18px rgba(23,63,53,.19)!important;
  }
}


/* style 31 */

/* V111: dashboard-first portal navigation */
#sideNav button{
  gap:10px!important;
}
#sideNav button::before{
  width:22px;min-width:22px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#70817b;font-size:15px;font-weight:900;
}
#sideNav button.active::before{color:inherit}
#sideNav button[data-k="overview"]::before,
#sideNav button[data-k="dashboard"]::before{content:"⌂"}
#sideNav button[data-k="book"]::before{content:"＋"}
#sideNav button[data-k="calendar"]::before{content:"▦"}
#sideNav button[data-k="map"]::before,
#sideNav button[data-k="route"]::before{content:"⌖"}
#sideNav button[data-k="pets"]::before{content:"♢"}
#sideNav button[data-k="profile"]::before{content:"☺"}
#sideNav button[data-k="groomers"]::before{content:"♟"}
#sideNav button[data-k="services"]::before{content:"✂"}
#sideNav button[data-k="stores"]::before{content:"▤"}
#sideNav button[data-k="settings_hub"]::before{content:"⚙"}

.pp-portal-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin:0 0 16px;
}
.pp-portal-action{
  border:1px solid #e1ddd4;
  border-radius:18px;
  background:#fff;
  padding:15px;
  min-height:88px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  color:#173f35;
  box-shadow:0 5px 16px rgba(26,54,47,.045);
  cursor:pointer;
  text-align:left;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.pp-portal-action:hover,.pp-portal-action:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(26,54,47,.09);
  border-color:#c8d5d0;
  outline:none;
}
.pp-portal-action .pp-action-icon{
  width:36px;height:36px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#edf3f0;
  font-size:17px;font-weight:900;
}
.pp-portal-action b{font-size:14px;line-height:1.2}
.pp-portal-action span:last-child{font-size:11.5px;color:#76847f;line-height:1.35}
.pp-dashboard-section-title{
  margin:0 0 10px;
  color:#173f35;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pp-day-primary{
  border:1px solid #ded8ce!important;
  box-shadow:0 8px 24px rgba(25,54,46,.06)!important;
}
@media(max-width:900px){
  #mobileNav.mobile-nav{
    grid-template-columns:repeat(var(--pp-mobile-nav-count,5),minmax(0,1fr))!important;
  }
  #mobileNav button[data-k="book"]::before{content:"＋"}
  #mobileNav button[data-k="settings_hub"]::before{content:"⚙"}
  .pp-portal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .pp-portal-action{min-height:82px;padding:13px;border-radius:17px}
  .pp-portal-action .pp-action-icon{width:34px;height:34px;border-radius:11px}
}
@media(max-width:460px){
  .pp-portal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp-portal-action b{font-size:13px}
}

