/* Shared mobile layout. Desktop layouts and document printouts remain page-owned. */
.hc-header-back,.mobile-page-nav{display:none}
@media(max-width:650px){
:root{--hc-top:env(safe-area-inset-top,0px);--hc-bottom:env(safe-area-inset-bottom,0px)}
/* Reserve the actual webview safe area when viewport-fit covers the screen. */
html.hc-native-inset{--hc-top:env(safe-area-inset-top,0px)}
html{scroll-padding-top:90px;-webkit-text-size-adjust:100%}body{min-width:0;font-family:-apple-system,BlinkMacSystemFont,'DM Sans',system-ui,sans-serif}main,section,article,form,fieldset{min-width:0}input,select,textarea{max-width:100%;font-size:16px!important}input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:46px}button,.button{touch-action:manipulation;min-height:44px}img,video,canvas{max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere}
body>header,body>.site-header,body>.hub-header,body>.party-header,body>.reminders-header{position:sticky;top:0;z-index:100;max-width:none;min-height:58px;height:auto;margin:0;padding:calc(8px + var(--hc-top)) 16px 8px;display:flex;flex-direction:row;align-items:center;gap:10px;background:#fffffff5;border-bottom:1px solid #e2e9e3;backdrop-filter:blur(16px)}
body>header .brand{font-size:22px;letter-spacing:-1px;min-height:42px;flex-shrink:1;min-width:0}body>header .brand-mark{width:29px;height:29px;font-size:23px;margin-right:6px;border-radius:9px}body>header>a:not(.brand):not(.hc-header-back){font-size:12px;min-height:44px;display:inline-flex;align-items:center}body>header .hc-header-back{display:inline-flex;width:32px;min-width:32px;min-height:44px;align-items:center;justify-content:center;color:#174936;text-decoration:none;padding:0;background:none;border:0}body>header:has(.hc-header-back) .brand{font-size:21px}body>header:has(.hc-header-back)>a:last-of-type:not(.brand):not(.hc-header-back){margin-left:auto}
.hc-mobile-menu{position:relative;margin-left:auto;flex:0 0 42px;order:5}.hc-mobile-menu>summary{display:grid;place-items:center;list-style:none;width:42px;height:44px;border-radius:12px;background:#f0f5f0;cursor:pointer}.hc-mobile-menu>summary::-webkit-details-marker{display:none}.hc-mobile-menu:not([open])>nav{display:none!important}.hc-mobile-menu>nav{position:absolute;right:0;top:52px;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;margin:0!important;width:210px!important;max-width:calc(100vw - 32px);max-height:65dvh;overflow:auto;background:white;border:1px solid #dfe8df;padding:8px;border-radius:16px;box-shadow:0 12px 36px #173f3522}.hc-mobile-menu>nav a{display:flex!important;align-items:center;min-height:44px;padding:10px 12px;font-size:14px!important;border-radius:9px;white-space:normal;border:0!important}.hc-mobile-menu>nav a:hover{background:#f0f5ed}
body>main{width:100%;max-width:760px;padding:22px 16px calc(96px + var(--hc-bottom));margin:0 auto}body>main h1{font-size:28px;line-height:1.2;letter-spacing:-.9px;margin:0 0 14px}body>main h2{font-size:21px;line-height:1.3;letter-spacing:-.4px}body>main h3{font-size:17px;line-height:1.4}body>main p{line-height:1.6}body>main>.intro{margin-bottom:22px}body>main>.intro p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:1.3px}
.panel,.auth-card,.pro-panel{border-radius:18px;padding:18px}.layout,.fields,.form-grid{grid-template-columns:minmax(0,1fr)}.card-grid{grid-template-columns:minmax(0,1fr)}.card{padding:18px;border-radius:17px}.inline-actions,.row-between,.toolbar,.section-heading{gap:10px;flex-wrap:wrap}.section-heading{margin:16px 0}.page-heading{padding:8px 0 20px;margin:0}.page-heading h1{font-size:28px}.stack{gap:16px}label{font-size:13px;line-height:1.5}textarea{min-height:104px}.button{padding:12px 16px;font-size:14px;border-radius:12px}.empty{padding:22px 18px;border-radius:16px}.empty h3{font-size:17px}.notice{font-size:12px;line-height:1.5}.metric strong{font-size:27px}.stats,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mobile-page-nav{position:fixed;bottom:0;left:0;right:0;z-index:1100;display:flex;justify-content:space-around;gap:4px;padding:7px 10px calc(7px + var(--hc-bottom));border-top:1px solid #e0e8e2;background:#fffffff5;backdrop-filter:blur(16px)}.mobile-page-nav>a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;font-size:10px;font-weight:600;color:#6a7b70;text-decoration:none;border-radius:12px}.mobile-page-nav [aria-current]{background:#edf5e7;color:#164c3c}body:has(.app-bottom-nav)>.mobile-page-nav,body:has(.toolkit-nav)>.mobile-page-nav{display:none}body:has(.mobile-page-nav)>footer{padding-bottom:calc(92px + var(--hc-bottom));font-size:12px}body:has(.app-bottom-nav)>main{padding-bottom:24px}
/* Forms and detail screens */
.auth-page{padding-top:24px!important}.auth-card{width:100%;max-width:100%;margin:0 auto}.profile-page .profile-photo-section{padding:16px;grid-template-columns:56px minmax(0,1fr)}.profile-page #profile-photo{width:56px!important;height:56px!important}.profile-page #profile-form{padding:18px}.profile-page .profile-privacy{font-size:12px}.profile-page-heading{margin-bottom:18px}.utility-page main h1{font-size:27px}.utility-page .panel{padding:18px;margin:16px 0}.utility-page .contact,.utility-page .checkbox{font-size:14px;line-height:1.6}.utility-page .inline-actions{display:flex}.utility-page .inline-actions>*{flex:1}.utility-page main>p{font-size:14px}.utility-page main>.notice{font-size:12px}.utility-page #report-form{margin:18px 0}.utility-page .hc-page-back{margin-bottom:14px}
body[data-mobile-page=quote-builder] .intro h1{font-size:28px}body[data-mobile-page=quote-builder] .intro h1 br{display:none}body[data-mobile-page=quote-builder] .intro p{font-size:14px}body[data-mobile-page=quote-builder] .line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-mobile-page=quote-builder] .line label:first-child{grid-column:1/-1}body[data-mobile-page=quote-builder] .preview{position:static}body[data-mobile-page=quote-builder] .document h2{font-size:25px}body[data-mobile-page=quote-builder] .saved{flex-wrap:wrap}body[data-mobile-page=quote-builder] .row{gap:8px}body[data-mobile-page=quote-builder] .row button{flex-grow:1}
body[data-mobile-page=support] main,body[data-mobile-page=privacy] main{border-radius:0;background:transparent;box-shadow:none;padding:22px 20px calc(96px + var(--hc-bottom))}body[data-mobile-page=support] h1,body[data-mobile-page=privacy] h1{font-size:28px}body[data-mobile-page=support] main p,body[data-mobile-page=privacy] main p,body[data-mobile-page=privacy] main li{font-size:14px}body[data-mobile-page=support] main h2,body[data-mobile-page=privacy] main h2{font-size:20px;margin:26px 0 10px}body[data-mobile-page=support] main .button{width:100%}
/* Home, reminders, events and onboarding */
.home-hub .hub-heading{margin-bottom:20px}.home-hub .hub-heading h1{font-size:30px}.home-hub .hub-heading>p:last-child{font-size:14px}.hub-options{grid-template-columns:1fr;gap:12px}.hub-card{min-height:0;gap:12px;padding:20px}.hub-card h2{font-size:22px;margin-bottom:8px}.hub-card p{font-size:14px}.hub-action{padding-top:12px}.hub-number{font-size:11px}.hub-bottom{font-size:12px}
.party-page .party-intro{grid-template-columns:1fr;gap:18px}.party-page .party-intro h1{font-size:29px;margin:8px 0 14px}.party-page .party-intro p{font-size:14px}.party-intro img{height:180px;border-radius:18px}.party-actions{margin:18px 0;gap:8px}.party-services{margin-top:28px}.party-grid{grid-template-columns:1fr;margin:16px 0}.party-service{min-height:0;padding:18px}.party-service p{font-size:14px;margin-bottom:16px}.party-next{padding:20px;margin-top:24px}.party-next h2{font-size:23px}.party-footer{font-size:12px}
.recruit-heading{margin:0 0 20px;gap:12px}.recruit-heading h1{font-size:28px;margin:0 0 12px}.recruit-heading p{font-size:14px}.recruit-tabs{gap:8px;overflow:auto;margin:18px 0;padding-bottom:4px}.recruit-tabs button{flex-shrink:0;font-size:12px}.recruit-join{margin:0 auto}.recruit-join .auth-card{padding:20px}.recruit-join h1{font-size:27px}.table-scroll{border-radius:14px;overscroll-behavior-x:contain}.table-scroll table{min-width:580px}#recruit-stats{gap:8px}.pagination{flex-wrap:wrap;margin-bottom:24px}
body[data-mobile-page=reminders] .heading{margin:0 0 20px;gap:10px;flex-wrap:wrap}body[data-mobile-page=reminders] .heading h1{font-size:29px}body[data-mobile-page=reminders] .search-card{padding:18px;border-radius:18px}body[data-mobile-page=reminders] .grid{grid-template-columns:1fr}body[data-mobile-page=reminders] .search-card form{display:flex;flex-direction:column;gap:12px}body[data-mobile-page=reminders] .search-card input{width:100%;min-width:0}
/* Admin controls: reachable actions and contained long records. */
.admin-toolbar{align-items:stretch;gap:8px}.admin-toolbar .button,.bulk-actions .button{min-height:44px;font-size:12px}.admin-search{min-width:0;width:100%}.admin-search input{min-height:44px}.admin-toolbar .inline-actions{width:100%}.admin-toolbar .inline-actions>.button{flex:1 1 auto}.admin-categories{grid-template-columns:1fr}.admin-records small{max-width:100%;overflow-wrap:anywhere}.admin-records td:first-child{min-width:0!important}.record-actions summary{width:44px;height:44px}.record-actions .inline-actions{width:190px}.record-actions .button{min-height:44px!important}.settings-list>div{grid-template-columns:minmax(0,1fr) auto}.settings-list h3{font-size:16px}.review-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.review-row>.admin-status{grid-column:1;font-size:11px}.activity-list article>div{flex-wrap:wrap;gap:6px}.admin-segments{position:sticky;top:calc(66px + var(--hc-top));z-index:10;background:#e7ede6}.plan-editor>summary{min-height:76px}.tool-choices label{min-height:48px}.plan-form .actions button{min-height:48px}
/* Scrollable dialog sheets, excluding the full-screen messenger. */
dialog:not(:has(.messenger-view)):not(.hc-notifications){max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:calc(100dvh - var(--hc-top) - 24px);padding:20px;border-radius:20px;overflow-y:auto;overscroll-behavior:contain}dialog h2{font-size:23px}dialog h3{font-size:18px}dialog .question-options legend{font-size:21px}dialog .answer-summary>div{display:grid;grid-template-columns:1fr;gap:5px;padding:12px 0}dialog .answer-summary dt{max-width:none;font-size:12px;font-weight:400;color:#718174}dialog .answer-summary dd{text-align:left;font-size:15px;font-weight:650;margin:0}#modal:has(.messenger-view){padding-top:var(--hc-top)}.hc-notifications{max-height:calc(100dvh - var(--hc-top) - 16px)}
body>button[aria-label="Phone notification settings"]{bottom:calc(82px + var(--hc-bottom))!important}
}
@media print{.hc-header-back,.hc-mobile-menu,.mobile-page-nav{display:none!important}}

@media(max-width:650px){html.homecue-app body>.site-header,html.hc-native-inset body>header{padding-top:calc(8px + var(--hc-top))!important}html.hc-native-inset #modal:has(.messenger-view){padding-top:var(--hc-top)!important}}

/* The editorial desktop header is dark; reset its inherited ink on mobile. */
@media(max-width:650px){
body>header,body>.site-header,body>header .brand,body>header .hc-mobile-menu{color:#173f35}
body>header:has(.hc-mobile-menu) .editorial-menu{display:none}
body>header .hc-mobile-menu>nav{left:auto;right:0;color:#173f35;background:#fff}
body>header .hc-mobile-menu>nav a{color:#173f35}
body>header .hc-mobile-menu #account{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:6px 0 0;padding-top:8px;border-top:1px solid #e1e8e2;max-width:none;width:100%;color:#173f35}
body>header .hc-mobile-menu #account a{display:flex;border:0;background:#f0f5ed;border-radius:10px;color:#173f35;min-height:44px;padding:10px 12px;font-size:14px}
body>header .hc-mobile-menu #account .muted{color:#61726a}
}

/* Task-first party planner; preserve the shared app chrome. */
.compact-planner .intro{display:none!important}
.compact-planner>main{padding-top:12px}
.compact-planner .tabs{margin:0 0 12px;overflow:visible;gap:2px}
.compact-planner .tabs button{min-width:0;white-space:normal;padding:8px 5px;font-size:13px;min-height:44px}
.compact-planner #screen>h2{margin:8px 0 12px}
.compact-planner .panel{padding:16px}
.compact-planner .panel>details{border-top:0;padding-top:0}
.compact-planner .panel>details>summary{min-height:44px;font-weight:600}
.compact-planner .admin-gift-thumb{width:52px;height:52px;object-fit:contain;flex:none;border-radius:8px}
.compact-planner .cart-line{gap:10px;overflow-wrap:anywhere}
.compact-planner .rsvp-list li{gap:12px;overflow-wrap:anywhere}
.compact-planner .app-account-menu{border:0;padding-top:0}
@media(max-width:650px){
.compact-planner>main{padding:10px 12px 24px}
.compact-planner .two-col{gap:0}
.compact-planner .stack{gap:12px}
.compact-planner .tabs button{font-size:12px}
.compact-planner .tabs{border-radius:12px}
.compact-planner .panel{border-radius:14px;margin-bottom:12px}
.compact-planner .sticky-checkout{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.compact-planner>footer{padding-top:12px}
}

.compact-planner .rsvp-status{margin:0;padding:12px;border-radius:10px;background:#e8efdb;color:#234b36;font-size:14px;line-height:1.5}

.mobile-page-nav>a{min-width:0;text-align:center}.mobile-page-nav>a>span{max-width:100%;line-height:1.3}
