:root{--ink:#17231d;--muted:#66736c;--green:#1e6a48;--green2:#e8f4ed;--line:#dce4df;--paper:#fff;--soft:#f5f7f5;--danger:#a33131;--shadow:0 12px 35px rgba(24,48,35,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fbfcfb;line-height:1.55}a{color:inherit}.container{width:min(1120px,calc(100% - 36px));margin:auto}.narrow{width:min(700px,calc(100% - 36px))}.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:850;text-decoration:none;font-size:1.08rem;letter-spacing:-.02em}.brand span{font-weight:600;color:var(--green);font-size:.75rem;margin-left:5px}.nav-wrap nav{display:flex;align-items:center;gap:18px}.nav-wrap nav>a,.link-button{font-weight:650;text-decoration:none;font-size:.94rem}.inline{display:inline}.link-button{border:0;background:none;padding:0;cursor:pointer;color:var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--green);background:var(--green);color:white;border-radius:9px;padding:11px 17px;text-decoration:none;font:inherit;font-weight:750;cursor:pointer}.button:hover{filter:brightness(.94)}.button.secondary{background:white;color:var(--green)}.button.small{padding:8px 12px}.button.full{width:100%}.hero{padding:72px 0 58px;background:linear-gradient(145deg,#f2f8f4,#fff 62%)}.hero-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:48px;align-items:center}h1{font-size:clamp(2rem,4.3vw,3.8rem);line-height:1.04;letter-spacing:-.045em;margin:.25em 0 .35em}h2{letter-spacing:-.025em}h3{margin-bottom:.25rem}.lead{font-size:1.16rem;color:var(--muted);max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:850;color:var(--green)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.trust-card,.panel,.search-panel,.cards article,.empty{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.trust-card{padding:25px}.check-list{padding-left:0;list-style:none}.check-list li{padding:7px 0}.check-list li:before{content:"✓";font-weight:900;color:var(--green);margin-right:9px}.section{padding-top:46px;padding-bottom:56px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards article{padding:22px}.cards article>strong:first-child{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green2);color:var(--green)}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;padding:26px 0;margin-top:40px}.form-stack{padding:24px;display:grid;gap:18px}.form-stack label:not(.check),.search-panel label:not(.check){display:grid;gap:6px;font-weight:700}.form-stack input,.form-stack select,.form-stack textarea,.search-panel input,.search-panel select{width:100%;border:1px solid #cbd7d0;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);font:inherit}.form-stack textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.optional,small,.muted{color:var(--muted);font-weight:500}.check{display:flex!important;gap:8px;align-items:flex-start;font-weight:600!important}.check input{width:auto!important;margin-top:5px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.danger{color:var(--danger)}.flash{margin-top:18px;padding:13px 16px;border-radius:9px}.flash.success{background:#e7f5ec;color:#175b3d}.flash.error{background:#fff0f0;color:#852727}.flash ul{margin:5px 0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}.page-head h1{font-size:2.5rem;margin:.12em 0}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head a{color:var(--green);font-weight:750}.list{display:grid}.list-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);text-decoration:none}.list-row small{display:block}.notice{background:#fff9e9;border:1px solid #efe0ad;border-radius:10px;padding:14px 16px;margin-top:18px}.service-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-price-grid>label{border:1px solid var(--line);border-radius:10px;padding:13px}.money{display:flex;align-items:center;gap:8px}.money b{color:var(--muted);font-size:.9rem}.search-panel{display:grid;grid-template-columns:1.4fr .7fr .7fr auto;gap:12px;padding:18px;align-items:end;margin:24px 0 16px}.search-checks{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap}.results-head{margin:20px 0;color:var(--muted)}.sitter-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.sitter-head{display:flex;align-items:center;gap:12px}.sitter-head h2{margin:0}.sitter-head h2 a{text-decoration:none}.sitter-head p{margin:1px 0;color:var(--muted);font-size:.88rem}.avatar{width:46px;height:46px;border-radius:50%;background:var(--green2);display:grid;place-items:center;color:var(--green);font-weight:900}.avatar.large{width:66px;height:66px;font-size:1.45rem}.badges{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.badges span{font-size:.76rem;padding:5px 8px;border-radius:999px;background:var(--green2);color:#245f46;font-weight:750}.price{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding:14px 0}.price strong{font-size:1.3rem}.price span{font-size:.8rem;color:var(--muted)}.mini-services{display:grid;gap:3px;border-top:1px solid var(--line);padding:12px 0;color:var(--muted);font-size:.84rem}.empty{padding:28px;text-align:center}.profile-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:24px}.profile-title{display:flex;align-items:center;gap:15px}.profile-title h1{font-size:2.7rem;margin:.1em 0}.profile-title p{margin:0;color:var(--muted)}.sticky{position:sticky;top:94px;align-self:start}.offer{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.preline{white-space:pre-line}.back{display:inline-block;margin-bottom:20px;color:var(--green);font-weight:700;text-decoration:none}.small-text{font-size:.85rem}@media(max-width:850px){.hero-grid,.dashboard-grid,.profile-grid{grid-template-columns:1fr}.cards.three,.sitter-cards{grid-template-columns:1fr 1fr}.search-panel{grid-template-columns:1fr 1fr}.search-panel .button{align-self:end}.nav-wrap nav>a:first-child{display:none}.sticky{position:static}}@media(max-width:580px){.nav-wrap{min-height:64px}.nav-wrap nav{gap:10px}.nav-wrap nav>a:not(.button){display:none}.hero{padding-top:46px}.cards,.cards.three,.sitter-cards,.form-grid,.service-price-grid,.checks,.search-panel{grid-template-columns:1fr}.search-checks{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.profile-title{align-items:flex-start}h1{font-size:2.25rem}}

/* Phase 1.1 UX */
.desktop-nav{display:flex;align-items:center;gap:18px}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-weight:750;cursor:pointer;background:white}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(270px,calc(100vw - 30px));background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:10px;display:grid;gap:4px}.mobile-menu-panel>a,.mobile-menu-panel form{display:block}.mobile-menu-panel>a,.mobile-menu-panel .link-button{width:100%;text-align:left;padding:10px 11px;border-radius:8px;text-decoration:none;font-weight:700}.mobile-menu-panel>a:hover,.mobile-menu-panel .link-button:hover{background:var(--soft)}.mobile-menu-panel .button{color:white;text-align:center}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:800}.status-chip.live{background:var(--green2);color:var(--green)}.status-chip.draft{background:#f2f2ef;color:#686b65}.sitter-dashboard-card p{margin-bottom:10px}.form-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:4px}.form-section-head h2{margin:0}.form-section-head p{margin:.25rem 0 0}.capability-card{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff}.capability-card span{display:grid;gap:2px}.capability-card small{display:block;line-height:1.4}.fixed-service-card{border:1px solid #bcd9c8;background:var(--green2);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.fixed-service-card>div:first-child{display:grid;gap:4px}.fixed-service-label{font-weight:800;color:var(--green)}.fixed-price{font-size:1.25rem;font-weight:900;white-space:nowrap}.service-price-card{transition:opacity .15s ease,background .15s ease}.service-price-card.is-disabled{opacity:.55;background:var(--soft)}.service-price-card small{display:block;margin-top:6px;line-height:1.35}.publish-card{margin-top:2px}.publish-card .check span{display:grid;gap:2px}.publish-card small{display:block}.panel .button{max-width:100%}

@media(max-width:580px){
  .container{width:min(100% - 24px,1120px)}
  .nav-wrap{min-height:64px;gap:10px}
  .brand{font-size:1rem;white-space:nowrap}
  .brand span{display:none}
  .desktop-nav{display:none!important}
  .mobile-menu{display:block}
  .mobile-menu summary{font-size:.9rem}
  .dashboard-actions{display:grid;grid-template-columns:1fr;width:100%}
  .dashboard-actions .button{width:100%}
  .fixed-service-card{align-items:flex-start;flex-direction:column;gap:10px}
  .fixed-price{font-size:1.15rem}
  .capability-checks{gap:10px}
}

/* Phase 1.2 account intent onboarding */
.onboarding-section{padding-top:62px;padding-bottom:70px}.onboarding-intro{max-width:820px;margin-bottom:30px}.onboarding-intro h1{font-size:clamp(2.4rem,5vw,4.3rem);max-width:820px}.intent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.intent-card{display:flex;flex-direction:column;gap:10px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px;text-align:left}.intent-card h2{margin:0;font-size:1.45rem}.intent-card p{color:var(--muted);margin:0 0 10px;flex:1}.intent-card button{margin-top:auto}.intent-icon{width:48px;height:48px;border-radius:14px;background:var(--green2);display:grid;place-items:center;font-size:1.45rem}.intent-card-both{background:linear-gradient(145deg,#f5faf7,#fff)}.onboarding-skip{text-align:center;margin-top:22px}.onboarding-skip a{color:var(--green);font-weight:750;text-decoration:none}.intent-context{display:grid;gap:3px;border:1px solid #bcd9c8;background:var(--green2);border-radius:12px;padding:14px 16px;margin:18px 0}.intent-context span{color:var(--muted)}.registration-lead{font-size:1rem}.account-explainer{max-width:620px;margin:4px 0 0}.panel-head>div h2{margin:.15rem 0 0}

@media(max-width:850px){.intent-grid{grid-template-columns:1fr 1fr}.intent-card-both{grid-column:1/-1}}
@media(max-width:580px){.onboarding-section{padding-top:38px}.intent-grid{grid-template-columns:1fr}.intent-card-both{grid-column:auto}.onboarding-intro h1{font-size:2.45rem}.intent-card{padding:20px}.account-explainer{font-size:.92rem}}

/* Phase 2 transaction flow */
.account-tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px}.account-tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:800;border:1px solid var(--line);background:white}.account-tag.owner{background:#eef5ff;border-color:#cfdff5;color:#2e5d8a}.account-tag.sitter{background:var(--green2);border-color:#bfdac9;color:var(--green)}.account-tag.neutral{background:#f4f4f1;color:#62665f}.booking-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.booking-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}.booking-row small{display:block;margin-top:3px}.booking-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800;background:#f1f2ef;color:#5f655f}.booking-status.large{padding:8px 12px;font-size:.82rem}.status-requested{background:#fff6dc;color:#735b0d}.status-payment_pending,.status-accepted{background:#eef3ff;color:#395f91}.status-confirmed{background:#e8f4ed;color:#1e6a48}.status-in_progress{background:#e7f4ff;color:#1c5b86}.status-awaiting_return_confirmation{background:#fff0da;color:#81551b}.status-completed{background:#e4f5e9;color:#17633f}.status-cancelled{background:#f3eeee;color:#7c4b4b}.status-disputed{background:#ffe8e8;color:#972f2f}.rating-summary{color:#805d00;font-weight:750}.profile-reviews{margin-top:18px}.review-row{padding:15px 0;border-top:1px solid var(--line)}.review-row:first-of-type{border-top:0}.review-row strong{color:#9c7400;letter-spacing:.04em}.review-row small{display:block}.profile-actions-stack{display:grid;gap:14px}.action-panel h2{margin-top:.25rem}.mini-form{display:grid;gap:12px}.mini-form label{display:grid;gap:5px;font-weight:700}.mini-form input,.mini-form select,.mini-form textarea{width:100%;border:1px solid #cbd7d0;border-radius:8px;padding:10px 11px;background:white;color:var(--ink);font:inherit}.mini-form textarea{resize:vertical}.booking-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.booking-hero h1{font-size:2.5rem;margin:.15em 0}.booking-hero p{margin:0;color:var(--muted)}.booking-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:18px}.booking-main,.booking-sidebar{display:grid;gap:18px;align-content:start}.booking-sidebar{position:sticky;top:94px}.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.participant-grid>div{background:var(--soft);border-radius:10px;padding:12px;display:grid;gap:3px}.participant-grid small{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.instructions{border-top:1px solid var(--line);margin-top:15px;padding-top:14px}.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.custody-code{border:1px solid #bdd8c8;background:var(--green2);border-radius:12px;padding:15px;display:grid;gap:4px}.custody-code strong{font-size:2rem;letter-spacing:.14em}.custody-code span{font-size:.78rem;color:var(--muted)}.timeline{display:grid;margin-top:14px}.timeline-row{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:7px 0}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--green);margin-top:7px;box-shadow:0 0 0 4px var(--green2)}.timeline-row small{display:block}.tracking-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.tracking-row small{display:block}.tracking-coordinates{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.money-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.money-line.total{font-size:1.05rem;border-bottom:0}.payment-chip{background:var(--green2);color:var(--green);font-size:.8rem;font-weight:750;border-radius:8px;padding:8px 10px}.stack-actions{display:grid;gap:9px}.action-gap{margin-bottom:12px}.review-stars{font-size:1.4rem;color:#9c7400}.booking-page>.back{margin-bottom:14px}

@media(max-width:850px){.booking-dashboard-grid,.booking-detail-grid{grid-template-columns:1fr}.booking-sidebar{position:static}.booking-hero{align-items:flex-start}.code-grid{grid-template-columns:1fr}}
@media(max-width:580px){.booking-dashboard-grid{grid-template-columns:1fr}.booking-row{align-items:flex-start;flex-direction:column}.booking-hero{flex-direction:column}.participant-grid{grid-template-columns:1fr}.custody-code strong{font-size:1.7rem}.tracking-row{align-items:flex-start;flex-direction:column}.tracking-coordinates{text-align:left}.account-tags{margin-top:8px}}

/* Phase 2.1 flow guidance and resilient custody */
.scroll-target{scroll-margin-top:105px}.profile-services{margin-top:18px}.service-catalogue{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.service-card{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:11px;padding:14px;background:var(--soft)}.service-card>div{display:grid;gap:2px}.service-card>strong{white-space:nowrap}.service-card.is-selected{border-color:#8dbca2;background:var(--green2);box-shadow:inset 0 0 0 1px #b5d8c3}.primary-booking-panel{border-color:#b8d8c4}.secondary-flow-panel{padding:0;overflow:hidden}.secondary-flow-panel>summary,.code-alternative>summary{cursor:pointer;font-weight:800;list-style:none;padding:17px 20px}.secondary-flow-panel>summary::-webkit-details-marker,.code-alternative>summary::-webkit-details-marker{display:none}.secondary-flow-panel>summary:after,.code-alternative>summary:after{content:"+";float:right;color:var(--green)}.secondary-flow-panel[open]>summary:after,.code-alternative[open]>summary:after{content:"−"}.details-content{padding:0 20px 20px}.locked-flow-panel{background:var(--soft);box-shadow:none}.booking-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:18px;padding:14px}.progress-step{display:grid;justify-items:center;text-align:center;gap:5px;position:relative;color:var(--muted);font-size:.75rem}.progress-step span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:white;font-weight:850}.progress-step.done{color:var(--green)}.progress-step.done span{background:var(--green);border-color:var(--green);color:white}.progress-step.current{color:var(--ink)}.progress-step.current span{background:var(--green2);border-color:#94c4a8;color:var(--green);box-shadow:0 0 0 3px #edf7f1}.mutual-confirmation-notice,.waiting-confirmation{display:grid;gap:3px;border:1px solid #e4d39b;background:#fff9e8;border-radius:10px;padding:12px 14px;margin:12px 0}.mutual-confirmation-notice span{font-size:.87rem;color:var(--muted)}.mutual-confirmation-action{display:grid;gap:8px}.mutual-confirmation-action p{margin:0}.code-alternative{margin-top:12px;border-top:1px solid var(--line)}.code-alternative>summary{padding-left:0;padding-right:0;color:var(--green)}.code-alternative .details-content{padding:0 0 4px}.fallback-action{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.fallback-action .link-button{color:var(--green);text-decoration:underline;text-underline-offset:3px}.cancel-before-custody{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.cancel-before-custody p{margin:0 0 7px}.payment-voided{background:#f2f2ef;color:#666}.flow-intro{max-width:820px;margin-bottom:24px}.flow-intro h2{font-size:clamp(2rem,4vw,3rem);margin:.2em 0}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.journey-step{display:grid;grid-template-columns:44px 1fr;gap:14px;background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.journey-step>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green2);color:var(--green);font-weight:900}.journey-step h3{margin:0 0 5px}.journey-step p{margin:0;color:var(--muted)}.resilience-card{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;margin-top:20px;padding:26px;border:1px solid #b8d8c4;border-radius:16px;background:linear-gradient(145deg,var(--green2),#fff)}.resilience-card h2{margin:.2em 0}.resilience-card p:first-child{margin-top:0}.home-clarity{background:#f3f7f4;margin-top:16px}.home-clarity .section>h2{font-size:2rem;margin:.2em 0 22px}

@media(max-width:850px){.service-catalogue,.journey-grid,.resilience-card{grid-template-columns:1fr}.booking-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.resilience-card{gap:8px}}
@media(max-width:580px){.service-catalogue{grid-template-columns:1fr}.service-card{align-items:flex-start}.booking-progress{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.progress-step{justify-items:start;text-align:left;grid-template-columns:28px 1fr;align-items:center}.journey-step{padding:17px}.resilience-card{padding:20px}}

/* Phase 3 scheduling and operations */
.status-expired{background:#f1f0ed;color:#73706a}.availability-warning{border:1px solid #e4d39b;background:#fff9e8;color:#6d5819;border-radius:9px;padding:10px 12px;margin:12px 0;font-size:.88rem}.availability-page{display:grid;gap:18px}.availability-panel{display:grid;gap:16px}.availability-form{display:grid;gap:18px}.availability-week{display:grid;gap:9px}.availability-day{display:grid;grid-template-columns:minmax(170px,1fr) 150px 150px;gap:12px;align-items:end;border-top:1px solid var(--line);padding:12px 0}.availability-day:first-child{border-top:0}.availability-day>label:not(.check){display:grid;gap:5px;font-weight:700}.availability-day select,.availability-grid input,.availability-grid select{width:100%;border:1px solid #cbd7d0;border-radius:8px;padding:10px 11px;background:white;color:var(--ink);font:inherit}.day-toggle span{display:grid;gap:1px}.availability-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.unavailable-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.unavailable-row small{display:block}.availability-note{margin-top:0}.operations-section{margin-top:28px}.operations-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.operations-head h2{margin:.15rem 0 0}.operations-head>a{color:var(--green);font-weight:750}.operations-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.operation-panel.action-required{border-color:#d9c77f;background:#fffdf6}.operation-count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:var(--soft);font-size:.78rem;font-weight:850}.operation-history{grid-column:1/-1;padding:0;overflow:hidden}.operation-history>summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:800}.operation-history>summary::-webkit-details-marker{display:none}.operation-history>summary:after{content:"+";float:right;color:var(--green)}.operation-history[open]>summary:after{content:"−"}.booking-expiry{border:1px solid #e4d39b;background:#fff9e8;border-radius:9px;padding:10px 12px;font-size:.88rem}.mini-form button:disabled,.button:disabled{opacity:.5;cursor:not-allowed;filter:none}.service-card small+small{margin-top:2px;color:var(--green)}
@media(max-width:850px){.availability-grid,.operations-grid{grid-template-columns:1fr}.operation-history{grid-column:auto}.availability-day{grid-template-columns:1fr 1fr}.day-toggle{grid-column:1/-1}}
@media(max-width:580px){.availability-day{grid-template-columns:1fr}.day-toggle{grid-column:auto}.operations-head{align-items:flex-start;flex-direction:column}.unavailable-row{flex-direction:column}}

.date-time-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px}.date-time-row label{display:grid;gap:5px;font-weight:700}@media(max-width:580px){.date-time-row{grid-template-columns:1fr}}

/* Phase 3 human scheduling */
.service-offer-groups{display:grid;gap:20px}.service-offer-group{display:grid;gap:10px}.service-offer-head{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line)}.service-offer-head small,.service-category{color:var(--green);font-weight:750}.night-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.night-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff;cursor:pointer}.night-card:has(input:checked){border-color:var(--green);background:var(--soft)}.night-card span{display:grid;gap:2px}.night-card small{color:var(--muted)}.overnight-handover-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.handover-window{display:grid;grid-template-columns:1fr 120px 120px;gap:10px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:16px}.handover-window>div{display:grid;gap:3px}.handover-window label{display:grid;gap:5px;font-weight:700}.human-slot-picker{display:grid;gap:13px}.field-label{display:block;font-weight:800;margin-bottom:7px}.slot-date-list{display:flex;gap:8px;overflow:auto;padding-bottom:5px;scrollbar-width:thin}.slot-date-button,.slot-time-button{appearance:none;border:1px solid #cbd7d0;background:#fff;color:var(--ink);border-radius:9px;font:inherit;cursor:pointer}.slot-date-button{display:grid;gap:2px;min-width:130px;padding:10px 12px;text-align:left}.slot-date-button small{color:var(--muted)}.slot-time-list{display:flex;flex-wrap:wrap;gap:8px}.slot-time-button{padding:9px 12px}.slot-date-button:hover,.slot-time-button:hover,.slot-date-button.is-selected,.slot-time-button.is-selected{border-color:var(--green);background:var(--soft);color:var(--green)}.stay-options,.care-plan-field{border:1px solid var(--line);border-radius:10px;padding:13px;display:grid;gap:7px}.stay-options[hidden],.care-plan-field[hidden]{display:none}.care-plan-field{background:#f7fbf8}.care-plan-summary{display:grid;gap:3px;margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#f7fbf8}.care-plan-summary small,.care-plan-summary span{color:var(--muted)}.service-card>strong small{display:block;font-weight:650;color:var(--muted);text-align:right}.meet-slot-picker{margin:10px 0}.care-note{margin:0}
@media(max-width:900px){.night-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overnight-handover-grid{grid-template-columns:1fr}.handover-window{grid-template-columns:1fr 1fr}.handover-window>div{grid-column:1/-1}}
@media(max-width:580px){.night-grid{grid-template-columns:1fr}.handover-window{grid-template-columns:1fr}.handover-window>div{grid-column:auto}.slot-date-button{min-width:118px}.slot-time-button{flex:1 1 calc(50% - 8px);text-align:center}}

/* Phase 3 stay UX: keep the booking column wide without letting slot chips force page overflow. */
.profile-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.55fr)}
.profile-grid>*{min-width:0}
.profile-actions-stack,.primary-booking-panel,.human-slot-picker,.stay-options,.care-plan-field{min-width:0}
.profile-services .service-catalogue{grid-template-columns:1fr}
.slot-date-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;overflow:visible;padding-bottom:0;width:100%}
.slot-date-button{min-width:0;width:100%}
.slot-time-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.slot-time-group{display:grid;gap:6px;flex:1 1 100%;min-width:0}
.slot-time-group-label{color:var(--muted);font-weight:800}
.slot-time-group-buttons{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.stay-location-summary,.care-location-copy{padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--muted)}
.care-plan-head{display:grid;gap:2px}
.care-plan-head span{color:var(--muted);font-size:.86rem}
.vacation-care-details{display:grid;gap:12px;padding-top:4px}
.vacation-care-details[hidden]{display:none}
.care-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.care-items{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.care-items legend{padding:0 5px;font-weight:800}
.care-item-check{display:flex!important;align-items:center;gap:8px;font-weight:600!important}
.care-item-check input{width:auto}
@media(max-width:850px){.profile-grid{grid-template-columns:1fr}.care-plan-grid{grid-template-columns:1fr}}
@media(max-width:580px){.slot-date-list{grid-template-columns:repeat(2,minmax(0,1fr))}.care-items{grid-template-columns:1fr}.slot-time-group-buttons .slot-time-button{flex:1 1 calc(50% - 8px)}}


/* Phase 3 automated UX: long sitter names must shrink inside the profile column. */
.profile-title{min-width:0}
.profile-title>div:not(.avatar){min-width:0;flex:1 1 auto}
.profile-title h1,.profile-title p{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:580px){.profile-title>.avatar{flex:0 0 66px}}

/* Mobile booking shortcut: profile details remain visible, while eligible
   owners can jump directly to the transaction form. */
.mobile-booking-jump{display:none}
@media(max-width:850px){
  .mobile-booking-jump{
    display:flex;
    width:100%;
    justify-content:center;
    margin:12px 0 16px
  }
}

/* Phase 4 communications */
.nav-notifications{display:inline-flex;align-items:center;gap:6px}.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--green);color:#fff;font-size:.7rem;font-weight:850}.nav-badge.is-hidden,.nav-notification-count.is-hidden{display:none}.communications-overview{margin-bottom:18px}.communications-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.communications-summary>div{display:grid;gap:2px;padding:12px;border-radius:10px;background:var(--soft)}.communications-summary strong{font-size:1.45rem}.communications-summary span{color:var(--muted);font-size:.86rem}.notification-mini-list{display:grid}.notification-mini-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.notification-mini-row>span{min-width:0}.notification-mini-row strong,.notification-mini-row small{display:block}.notification-mini-row.unread strong{color:var(--green)}.booking-conversation{display:grid;gap:14px}.message-thread{display:grid;gap:10px;max-height:560px;overflow:auto;padding:3px}.message-bubble{max-width:min(82%,720px);border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fff}.message-bubble.outgoing{justify-self:end;background:var(--green2);border-color:#c7dfd0}.message-bubble.incoming{justify-self:start}.message-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.message-meta small,.message-read-state{color:var(--muted)}.message-bubble p{margin:6px 0 2px}.message-read-state{display:block;text-align:right;font-size:.75rem}.message-empty{padding:15px;border-radius:10px;background:var(--soft);color:var(--muted)}.message-compose{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.message-compose label{font-weight:800}.message-compose textarea{width:100%;border:1px solid #cbd7d0;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);font:inherit;resize:vertical}.message-compose-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.notifications-page{max-width:920px}.notification-list{display:grid;gap:12px}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.notification-card.unread{border-color:#b8d8c4;background:#f8fcf9}.notification-copy{min-width:0}.notification-copy p{margin:4px 0}.notification-title-line{display:flex;align-items:center;gap:8px}.notification-dot{width:9px;height:9px;border-radius:50%;background:var(--green);flex:0 0 auto}.notification-card form{flex:0 0 auto}
@media(max-width:580px){.communications-summary{grid-template-columns:1fr}.notification-mini-row,.notification-card,.message-compose-foot{align-items:flex-start;flex-direction:column}.notification-card form,.notification-card .button,.message-compose-foot .button{width:100%}.message-bubble{max-width:92%}}

/* Phase 5A.1 multi-dog booking and mandatory first-step profile flow */
.profile-main{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-content:start;min-width:0}
.profile-main>.panel,.profile-main>.profile-services,.profile-main>.profile-reviews{margin-top:0}
.service-card>div,.service-card>strong{min-width:0}
.service-card>strong{white-space:normal}
.service-card-action{display:inline-flex;margin-top:8px;color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.dog-selection{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:8px}
.dog-selection legend{padding:0 5px;font-weight:800}
.dog-choice{padding:3px 0}
.household-dogs{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--soft)}
.booking-price-preview{display:grid;gap:3px;border:1px solid #b8d8c4;background:var(--green2);border-radius:10px;padding:12px}
.booking-price-preview small{display:block}
.meet-first-panel{border-color:#9dc9ae}
.meet-greet-offer{border:1px solid #bcd9c8;background:var(--green2);border-radius:12px;padding:16px}
.meet-greet-offer .service-price-grid{margin-top:10px}
@media(min-width:851px){
  .profile-main{grid-column:1;grid-row:1}
  .profile-actions-stack{grid-column:2;grid-row:1}
}
@media(max-width:850px){
  .profile-grid{align-items:start}
}

/* Phase 5B.2 owner Stripe Payment Element */
.stripe-booking-payment{display:grid;gap:12px}
.stripe-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stripe-payment-method{appearance:none;border:1px solid #cbd7d0;border-radius:10px;background:#fff;color:var(--ink);padding:14px;text-align:left;font:inherit;cursor:pointer;display:grid;gap:4px}
.stripe-payment-method:hover,.stripe-payment-method:focus-visible{border-color:var(--green);background:var(--soft);outline:none}
.stripe-payment-method strong{font-size:.96rem}
.stripe-payment-method span{font-size:.82rem;color:var(--muted);line-height:1.35}
.stripe-payment-method:disabled{opacity:.55;cursor:not-allowed}
.stripe-payment-form{display:grid;gap:14px}
#stripe-payment-element{min-height:52px}
.stripe-payment-security{font-size:.82rem;margin:0}
@media(max-width:580px){.stripe-payment-methods{grid-template-columns:1fr}}

/* Phase 5B.2 hosted TWINT Checkout */
.stripe-payment-method-form{margin:0;display:block}
.stripe-payment-method-form .stripe-payment-method{width:100%;height:100%}
