/* CR20: restrained production layout using the established Hompt tokens. */
html[data-presentation="production"] body { margin: 0; }
html[data-presentation="production"] header { max-width: 1200px; margin: auto; padding: 18px 28px; gap: 24px; border-bottom: 1px solid var(--h-line); }
html[data-presentation="production"] main { max-width: 1160px; padding: 28px; margin: auto; }
html[data-presentation="production"] footer { max-width: 1160px; margin: 30px auto; padding: 0 28px; }
html[data-presentation="production"] .card { border: 1px solid var(--h-line); border-radius: 16px; padding: 24px; box-shadow: 0 3px 16px color-mix(in srgb, var(--h-ink) 3%, transparent); }
html[data-presentation="production"] .card h2 { font-size: 1.18rem; letter-spacing: -.015em; margin-top: 0; }
html[data-presentation="production"] .card h3 { font-size: 1rem; }
html[data-presentation="production"] h1 { font-size: clamp(1.8rem, 2.8vw, 2.6rem); letter-spacing: -.035em; line-height: 1.15; margin: 12px 0; }
html[data-presentation="production"] .h-ops { display: grid; gap: 18px; }
html[data-presentation="production"] .h-ops > .card { margin: 0; }
html[data-presentation="production"] .h-ops > button { justify-self: start; }
html[data-presentation="production"] .h-tabs { margin: 2px 0 10px; gap: 6px; border-bottom: 1px solid var(--h-line); padding-bottom: 10px; }
html[data-presentation="production"] .h-tabs button { border: 0; border-radius: 7px; font-size: .86rem; padding: 9px 12px; min-height: 40px; }
html[data-presentation="production"] .h-tabs button[aria-current="page"] { color: var(--h-brand-ink); background: var(--h-brand); }
html[data-presentation="production"] .table-wrap { border: 1px solid var(--h-line); border-radius: 12px; margin: 18px 0; }
html[data-presentation="production"] table { font-size: .86rem; }
html[data-presentation="production"] th { background: var(--h-surface-sunk); font-size: .8rem; font-weight: 650; padding: 13px 12px; }
html[data-presentation="production"] td { padding: 12px; vertical-align: top; }
html[data-presentation="production"] td button { padding: 6px 10px; min-height: 36px; font-size: .82rem; }
html[data-presentation="production"] input, html[data-presentation="production"] select, html[data-presentation="production"] textarea { border-radius: 9px; font-size: .94rem; }
html[data-presentation="production"] summary { cursor: pointer; font-weight: 600; padding: 10px 0; color: var(--h-brand); }
html[data-presentation="production"] .h-ops details { border: 0; padding: 0; background: transparent; margin: 6px 0; }
html[data-presentation="production"] .h-ops details summary { padding: 6px 0; }
html[data-presentation="production"] details > form { margin-top: 16px; }
html[data-presentation="production"] .h-outcome { font-size: 1rem; }
html[data-presentation="production"] pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .8rem; padding: 12px; background: var(--h-surface-sunk); border-radius: 8px; }
.h-personal-hero { padding: 34px; border: 1px solid var(--h-line); border-radius: 18px; background: linear-gradient(125deg,var(--h-surface),var(--h-brand-soft)); margin-bottom: 18px; }
.h-personal-hero > p { color: var(--h-ink-2); max-width: 650px; }
.h-request-entry { background: var(--h-surface); padding: 20px; border-radius: 12px; margin-top: 22px; border: 1px solid var(--h-line); }
.h-request-entry h2 { font-size: 1.05rem; }
.h-request-entry textarea { min-height: 85px; }
.h-personal-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 22px; margin-bottom: 10px; }
.h-business-entry { max-width: 560px; }
.h-role-switch { display: flex; gap: 5px; padding: 4px; background: var(--h-surface-sunk); border-radius: 12px; }
.h-role-switch button { min-width: 110px; font-size: .85rem; border-radius: 9px; flex-direction: column; gap: 2px; }
.h-role-switch span { display: block; font-size: .72rem; font-weight: 400; margin-top: 3px; }
.h-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 22px 0; }
.h-summary-grid .card { margin: 0; }
.h-service-discovery { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; padding: 16px 0; }
.h-service-discovery button { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; border: 1px solid var(--h-line); border-radius: 12px; padding: 18px 10px; font-size: .85rem; }
.h-service-symbol { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--h-brand-soft); color: var(--h-brand); font-weight: 700; }
.h-activity { margin: 24px 0; }
.h-in-progress { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.h-in-progress>h3 { grid-column:1/-1; margin:8px 0; }
@media(max-width:1050px){.h-in-progress{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.h-in-progress{grid-template-columns:minmax(0,1fr);}}
.h-discovery { padding: 0 4px; }
html[data-presentation="production"] .journey { border-radius: 16px; margin-bottom: 18px; }
html[data-presentation="production"] .h-settings { margin-top: 24px; }
@media (max-width: 850px) { .h-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .h-service-discovery { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 600px) {
  html[data-presentation="production"] header { padding: 14px 16px; flex-wrap: wrap; }
  html[data-presentation="production"] main { padding: 18px 14px; }
  html[data-presentation="production"] .card { padding: 18px; }
  .h-personal-hero { padding: 22px 18px; } .h-personal-intro { display: block; }
  .h-role-switch { width: 100%; } .h-role-switch button { flex: 1; }
  html[data-presentation="production"] .h-tabs { gap: 4px; }
  .h-summary-grid { gap: 10px; } .h-service-discovery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* CR20 Your connections (compact rows) */
.h-connections__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.h-connections__top h2 { margin-bottom: 4px; }
.h-connections__top .h-context { margin: 0; }
.h-connections .h-connections__why { border: 0; padding: 0; background: none; margin: 0; max-width: 260px; }
.h-connections .h-connections__why summary { font-size: var(--h-text-s); text-decoration: underline; white-space: nowrap; }
.h-connections__list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.h-connections .h-conn { border: 1px solid var(--h-line); border-radius: var(--h-radius-control); padding: 12px 14px; background: var(--h-surface); }
.h-conn__row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.h-conn__logo { width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; font-weight: 800; color: #fff; flex: none; }
.h-conn__logo--chatgpt { background: #1F5A4D; } .h-conn__logo--whatsapp { background: #25D366; }
.h-conn__name { font-size: var(--h-text-m); }
.h-conn__pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: var(--h-radius-pill); font-size: var(--h-text-s); font-weight: 600; }
.h-conn__pill--good { background: var(--h-positive-surface); color: var(--h-positive); }
.h-conn__pill--good::before { content: "✓"; font-weight: 800; }
.h-conn__pill--turn { background: var(--h-turn-surface); color: var(--h-turn); }
.h-conn__pill--turn::before { content: "!"; display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--h-turn-marker); color: #fff; font-size: 11px; font-weight: 800; }
.h-conn__pill--muted { background: var(--h-surface-sunk); color: var(--h-muted); }
.h-conn__actions { margin-left: auto; display: flex; gap: 8px; }
.h-conn__actions button, .h-conn__actions .button { min-height: 40px; padding: 8px 16px; }
.h-conn__panel { margin-top: 12px; border-top: 1px solid var(--h-line); padding-top: 12px; }
@media (max-width: 760px) { .h-connections__list { grid-template-columns: 1fr; } .h-connections__top { flex-direction: column; } .h-conn__actions { margin-left: 0; width: 100%; } .h-conn__actions > * { flex: 1; } }
.h-connections .h-connections__why summary { list-style: none; } .h-connections .h-connections__why summary::-webkit-details-marker { display: none; } .h-connections .h-connections__why summary::before { content: none; }
.h-connections .h-connections__why summary::after { content: "?"; display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 8px; border: 1.5px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 700; text-decoration: none; }
.h-conn__actions .h-conn__manage { background: none; border: 0; color: var(--h-brand); text-decoration: underline; padding: 8px 4px; min-height: 40px; font-weight: 600; box-shadow: none; }

/* CR20 Business: Tell Hompt what you need */
.h-ask textarea { width: 100%; min-height: 84px; }
.h-ask__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 4px; }
.h-ask__chips button { min-height: 36px; padding: 6px 12px; font-size: var(--h-text-s); font-weight: 500; }
.h-ask__preview { border: 1px solid var(--h-line); border-radius: var(--h-radius-control); background: var(--h-surface); padding: 16px; margin-top: 14px; }
.h-ask__preview h3 { margin: 8px 0 10px; font-size: var(--h-text-l); }
.h-ask__preview input[type=text] { width: 100%; max-width: 320px; margin-bottom: 10px; }
.h-ask__tag { display: inline-block; padding: 4px 10px; border-radius: var(--h-radius-pill); background: var(--h-brand-soft); color: var(--h-brand); font-size: var(--h-text-xs); font-weight: 700; }
.h-ask__tag--turn { background: var(--h-turn-surface); color: var(--h-turn); }
.h-ask__terms { display: grid; grid-template-columns: minmax(120px, 160px) 1fr; gap: 6px 12px; margin: 0 0 12px; }
.h-ask__terms dt { color: var(--h-muted); } .h-ask__terms dd { margin: 0; }
@media (max-width: 760px) { .h-ask__terms { grid-template-columns: 1fr; gap: 2px; } .h-ask__terms dd { margin-bottom: 8px; } }

/* Participant workspace: compact desktop rail and mobile bottom navigation. */
[hidden] { display: none !important; }
.h-app-shell { display:grid; grid-template-columns:170px minmax(0,1fr); gap:28px; align-items:start; }
.h-app-body { min-width:0; display:grid; gap:18px; }
.h-app-nav { position:sticky; top:20px; display:grid; gap:8px; }
.h-app-nav button { display:flex; align-items:center; gap:12px; text-align:left; border:0; padding:13px 16px; }
.h-app-nav button span { font-size:1.35rem; }
.h-app-nav button[aria-current="page"], .h-activity-filters button[aria-pressed="true"] { background:var(--h-brand); color:var(--h-brand-ink); }
.h-app-shell .h-personal-hero { background:var(--h-surface); border:1px solid var(--h-line); border-radius:18px; padding:22px; }
html[data-presentation="production"] .h-app-shell h1 { font-size:1.7rem; }
.h-app-shell .h-personal-hero>p { font-size:1rem; margin:8px 0 18px; }
.h-app-shell .h-request-entry { margin:0; padding:0; border:0; }
.h-app-shell .h-request-entry textarea { min-height:90px; }
.h-app-shell .h-activity { display:grid; gap:10px; }
.h-app-shell .h-activity>h2 { margin:8px 0 0; font-size:1.2rem; }
.h-activity-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px; }
.h-activity-filters button { font-size:.82rem; padding:8px 12px; min-height:40px; border:0; border-radius:24px; }
html[data-presentation="production"] .h-app-shell article.h-job-host { margin:0; padding:0; background:var(--h-surface); border:1px solid var(--h-line); border-radius:14px; overflow:hidden; }
.h-job { padding:0; border:0; background:transparent; margin:0; }
.h-job>summary { display:flex; align-items:center; gap:12px; padding:18px; cursor:pointer; list-style:none; }
.h-job>summary::-webkit-details-marker { display:none; }
.h-job-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:var(--h-brand-soft); color:var(--h-brand); flex:none; }
.h-job-label { display:grid; gap:4px; flex:1; min-width:0; }
.h-job-label strong { font-size:.95rem; overflow-wrap:anywhere; }
.h-job-state { font-size:.82rem; color:var(--h-muted); overflow-wrap:anywhere; }
.h-job-badge { font-size:.72rem; padding:5px 8px; border-radius:7px; background:var(--h-surface-sunk); color:var(--h-ink-2); flex:none; }
.h-job-badge--needs { background:var(--h-turn-surface); color:var(--h-turn); }
.h-job[open]>summary { border-bottom:1px solid var(--h-line); }
.h-job-tabs { display:flex; gap:6px; padding:8px 16px; border-bottom:1px solid var(--h-line); }
.h-job-tabs button { border:0; border-radius:0; padding:10px 12px; font-size:.84rem; }
.h-job-tabs button[aria-pressed="true"] { color:var(--h-brand); border-bottom:2px solid var(--h-brand); }
.h-job-panel { padding:18px; min-width:0; }
.h-job-panel .h-story { margin-top:0; }
.h-app-shell .grid { grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); }
.h-app-shell .card { margin:0; }
@media(max-width:700px) {
  html[data-presentation="production"] header { padding:14px 16px; gap:10px; flex-wrap:wrap; }
  html[data-presentation="production"] main { padding:16px 12px 88px; }
  .h-app-shell { display:block; }
  .h-app-nav { position:fixed; z-index:20; bottom:0; top:auto; left:0; right:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:8px 4px max(8px,env(safe-area-inset-bottom)); background:var(--h-surface); border-top:1px solid var(--h-line); }
  .h-app-nav button { display:grid; justify-items:center; gap:2px; font-size:.7rem; padding:6px 2px; border-radius:8px; }
  .h-app-nav button[aria-current="page"] { background:var(--h-brand-soft); color:var(--h-brand); }
  .h-app-shell .h-personal-hero { padding:18px; }
  html[data-presentation="production"] .h-app-shell h1 { font-size:1.5rem; }
  .h-job>summary { padding:14px 12px; gap:8px; }
  .h-job-badge { max-width:76px; text-align:center; }
  .h-job-panel { padding:14px; }
}

html[data-presentation="production"] .h-app-shell .h-activity-filters button { width:auto; flex:0 1 auto; }
html[data-presentation="production"] .h-app-shell .h-app-nav button { width:auto; }

/* Owner sizing correction: readable controls and full-width desktop journeys. */
html[data-presentation="production"] .h-app-shell article.h-job-host { max-width:none; width:100%; box-sizing:border-box; }
html[data-presentation="production"] .h-app-shell .h-job-label strong { font-size:1.05rem; }
html[data-presentation="production"] .h-app-shell .h-job-state { font-size:.95rem; }
html[data-presentation="production"] .h-app-shell .h-job-badge { font-size:.85rem; }
html[data-presentation="production"] .h-app-shell .h-job-tabs button,
html[data-presentation="production"] .h-app-shell .h-activity-filters button { font-size:.95rem; min-height:44px; }
@media(min-width:701px) {
  html[data-presentation="production"] header,
  html[data-presentation="production"] main,
  html[data-presentation="production"] footer { max-width:1480px; width:100%; box-sizing:border-box; }
  html[data-presentation="production"] main { padding:32px 40px; }
  html[data-presentation="production"] .brand__wordmark { height:40px; }
  html[data-presentation="production"] .h-app-shell { grid-template-columns:210px minmax(0,1fr); gap:32px; }
  html[data-presentation="production"] .h-app-shell h1 { font-size:2rem; }
  html[data-presentation="production"] .h-app-shell .h-app-nav button { font-size:1.05rem; min-height:54px; }
  html[data-presentation="production"] input,
  html[data-presentation="production"] select,
  html[data-presentation="production"] textarea { font-size:1.05rem; }
  html[data-presentation="production"] .h-role-switch button { font-size:1rem; min-height:52px; }
  html[data-presentation="production"] .h-role-switch span { font-size:.85rem; }
  html[data-presentation="production"] .h-app-shell .h-job>summary { padding:22px; }
  html[data-presentation="production"] .h-app-shell .h-job-panel { padding:24px; }
}

/* Approved compact catalogue, card grid and native journey popups. */
html[data-presentation="production"] .h-service-discovery { grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; padding:12px 0; }
html[data-presentation="production"] .h-service-discovery button { min-height:44px; padding:6px 5px; gap:4px; font-size:.73rem; overflow-wrap:anywhere; }
html[data-presentation="production"] .h-service-discovery button[aria-pressed="true"] { background:var(--h-brand); color:var(--h-brand-ink); }
html[data-presentation="production"] .h-service-discovery button[aria-pressed="true"] .h-service-symbol { color:var(--h-brand-ink); background:transparent; }
.h-category-feedback { margin:8px 0 0; font-size:.85rem; color:var(--h-muted); }
.h-app-shell .h-activity { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.h-app-shell .h-activity>h2,.h-app-shell .h-activity>.h-activity-filters,.h-app-shell .h-activity>.h-pending-requests { grid-column:1/-1; }
.h-pending-requests { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.h-pending-requests>h3,.h-pending-requests>p { grid-column:1/-1; }
.h-job-trigger { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:10px; width:100%; padding:16px; border:0; background:var(--h-surface); color:var(--h-ink); min-height:120px; }
.h-job-dialog { width:min(600px,calc(100vw - 24px)); max-height:calc(100dvh - 40px); padding:20px; border:1px solid var(--h-line); border-radius:20px; color:var(--h-ink); background:var(--h-surface); overflow-y:auto; }
.h-job-dialog::backdrop { background:#10251bb3; }
.h-popup-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.h-popup-heading h2 { margin:0; font-size:1.3rem; }
.h-popup-heading button { width:auto; }
.h-job-dialog .h-job-panel { padding:16px 0; }
.h-job-dialog .h-headline { font-size:1.35rem!important; }
.h-rating-stars { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.h-rating-stars button { flex:1; min-width:44px; padding:8px; }
.h-rating-stars button[aria-pressed="true"] { color:var(--h-brand-ink); background:var(--h-brand); }
@media(max-width:1050px){html[data-presentation="production"] .h-service-discovery { grid-template-columns:repeat(4,minmax(0,1fr)); }.h-app-shell .h-activity,.h-pending-requests { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:500px){html[data-presentation="production"] .h-service-discovery { grid-template-columns:repeat(2,minmax(0,1fr)); }.h-job-trigger { padding:12px; min-height:145px; }.h-job-dialog { padding:16px; }}

/* Readable page scale applies to onboarding, accounts and journeys together. */
html[data-presentation="production"] label,
html[data-presentation="production"] .h-account,
html[data-presentation="production"] .h-app-shell .h-job-label strong,
html[data-presentation="production"] .h-app-shell .h-job-state { font-size:1rem; }
html[data-presentation="production"] input,
html[data-presentation="production"] select,
html[data-presentation="production"] textarea { font-size:1rem; min-height:48px; }
html[data-presentation="production"] button { min-height:48px; }
html[data-presentation="production"] .brand__wordmark { height:40px; }
html[data-presentation="production"] .brand span { font-size:.9rem; }
html[data-presentation="production"] .h-app-shell .h-job-badge { font-size:.9rem; }
html[data-presentation="production"] .h-app-shell .h-job-tabs button,
html[data-presentation="production"] .h-app-shell .h-activity-filters button { font-size:1rem; }
@media(min-width:701px) {
  html[data-presentation="production"] { font-size:112.5%; }
  html[data-presentation="production"] header,
  html[data-presentation="production"] main,
  html[data-presentation="production"] footer { max-width:1760px; padding-left:clamp(24px,3vw,56px); padding-right:clamp(24px,3vw,56px); }
  html[data-presentation="production"] .h-app-shell { grid-template-columns:230px minmax(0,1fr); }
  html[data-presentation="production"] .brand__wordmark { height:48px; }
}
@media(max-width:700px) {
  html[data-presentation="production"] .h-app-shell .h-app-nav button { font-size:.875rem; }
  html[data-presentation="production"] .h-app-shell .h-job-badge { max-width:92px; }
}

html[data-presentation="production"] .h-service-discovery .h-service-symbol { width:24px; height:24px; font-size:.65rem; }

.h-activity-direction{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:1px solid #cbded2;border-radius:14px;background:#e7f1eb}.h-activity-direction p{margin:5px 0 0}.h-job-message{margin-top:20px;padding-top:18px;border-top:1px solid #dce5df}.h-job-message textarea{width:100%;min-height:85px}.h-job-message .h-context{margin:8px 0}@media(max-width:600px){.h-activity-direction{align-items:stretch;flex-direction:column}}

html[data-presentation="production"] .h-personal-hero .h-request-entry textarea{min-height:155px;font-size:1.05rem}html[data-presentation="production"] .h-personal-hero .h-service-discovery{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 0}html[data-presentation="production"] .h-personal-hero .h-service-discovery button{min-height:34px;font-size:.73rem;padding:6px 8px;border-radius:8px;background:var(--h-surface-2,var(--h-surface));font-weight:500}html[data-presentation="production"] .h-personal-hero .h-service-discovery button[aria-pressed="true"]{background:var(--h-brand-soft);color:var(--h-brand);border-color:var(--h-brand)}.h-activity-direction{display:block;background:transparent;border:0;padding:0 2px;margin:-5px 0 18px}.h-activity-direction button{background:transparent!important;color:var(--h-brand)!important;border:0!important;padding:8px 0!important;text-decoration:underline;text-underline-offset:4px;font-size:.875rem!important;font-weight:400!important}@media(max-width:500px){html[data-presentation="production"] .h-personal-hero .h-service-discovery{grid-template-columns:repeat(3,minmax(0,1fr))}}

.h-calendar-filters,.h-calendar-navigation{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.h-calendar-filters>label{flex:1;min-width:150px}.h-availability-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:16px 0}.h-availability-day{border:1px solid #dce5df;border-radius:10px;padding:8px;min-width:0}.h-availability-day h3{font-size:.8rem;margin:0 0 12px}.h-availability-day .h-empty{font-size:.7rem}.h-calendar-event{display:flex;flex-direction:column;border-radius:6px;padding:7px;margin-bottom:6px;font-size:.72rem;background:#e7f1eb;overflow-wrap:anywhere}.h-calendar-event--booked{background:#e3effa}.h-calendar-event--blocked{background:#fae9de}.h-business-home h1{font-size:1.4rem}.h-business-home .h-summary-grid{gap:8px}.h-business-home .h-summary-grid>.card{padding:12px}.h-business-home .h-summary-grid h2{font-size:.9rem}.h-ask textarea{min-height:140px;width:100%}@media(max-width:1000px){.h-availability-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.h-calendar-navigation button{font-size:.75rem;padding:8px}.h-business-home .h-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.h-business-availability:not([hidden]){display:block!important}.h-business-availability[hidden]{display:none!important}.h-business-availability>.card{width:100%}.h-working-days{display:flex;flex-wrap:wrap;gap:12px}.h-working-days label{display:flex;align-items:center;gap:5px}


.h-location-dialog{width:min(520px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--h-line);border-radius:18px;padding:24px;color:var(--h-ink);background:var(--h-surface)}.h-location-dialog::backdrop{background:rgba(15,35,26,.55)}.h-location-dialog h2{font-size:1.35rem}.h-location-dialog select{width:100%;margin:12px 0}.h-location-dialog>.h-actions{justify-content:space-between}
/* Consistent phone layouts, including narrow Android and iPhone screens. */
@media (max-width: 600px) {
  html[data-presentation="production"] { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  html[data-presentation="production"] body { min-width: 0; }
  html[data-presentation="production"] main { width: 100%; padding-inline: max(12px, env(safe-area-inset-left)); padding-bottom: max(32px, env(safe-area-inset-bottom)); }
  html[data-presentation="production"] header { flex-wrap: wrap; gap: 12px; padding: 12px; }
  html[data-presentation="production"] header .account { min-width: 0; max-width: 100%; flex-wrap: wrap; }
  html[data-presentation="production"] :is(.card,.journey,.h-conn,.h-connections,.h-personal-hero,.h-business-home,form,fieldset) { min-width: 0; max-width: 100%; }
  html[data-presentation="production"] :is(.card,.h-conn__panel) { padding-inline: 16px; }
  html[data-presentation="production"] :is(.grid,.h-summary-grid) { grid-template-columns: minmax(0,1fr); }
  html[data-presentation="production"] :is(.row,.h-actions,.h-connections__top) { flex-wrap: wrap; }
  html[data-presentation="production"] :is(.row,.h-actions)>* { min-width: 0; max-width: 100%; }
  html[data-presentation="production"] :is(button,a,p,h1,h2,h3,summary,label) { overflow-wrap: anywhere; }
  html[data-presentation="production"] button { white-space: normal; }
  html[data-presentation="production"] :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { min-width: 0; max-width: 100%; font-size: max(16px,1em); }
  html[data-presentation="production"] :is(.h-dialog,.h-location-dialog) { box-sizing: border-box; width: calc(100% - 16px); max-width: calc(100% - 16px); max-height: 90dvh; margin: auto; padding: 16px; overflow-y: auto; }
}
@media (max-width: 380px) {
  html[data-presentation="production"] .h-business-home .h-summary-grid { grid-template-columns: minmax(0,1fr); }
  html[data-presentation="production"] .h-availability-week { grid-template-columns: minmax(0,1fr); }
}
/* r8 (owner, 16 Oct 2026): the title and its close (x) sit on one row in Hompt dialogs, never a full-width bar. */
.h-location-dialog>.h-actions:first-child{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}
.h-location-dialog>.h-actions:first-child>h2{margin:0;min-width:0}
.h-location-dialog>.h-actions:first-child>button[aria-label^="Close"]{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:0;background:transparent;color:var(--h-ink);border:1px solid var(--h-line);border-radius:var(--h-radius-control);font-size:22px}
/* r8: a confirmation is not an error: success notices use the brand border. */
#message.h-notice--ok:not(:empty){border-color:var(--h-brand)}
@media(max-width:700px){
  /* r8: notices sit above the bottom navigation so the whole message can be read. */
  html[data-presentation="production"] #message:not(:empty){bottom:calc(88px + env(safe-area-inset-bottom));z-index:30}
  /* r8: the bottom navigation keeps every tab on one row (the Business view has five). */
  .h-app-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  html[data-presentation="production"] .h-app-shell .h-app-nav button{overflow-wrap:normal;word-break:keep-all;hyphens:none}
  html[data-presentation="production"] .h-app-shell .h-app-nav:has(>:nth-child(5)) button{font-size:.7rem;letter-spacing:-.01em;padding-left:0;padding-right:0}
}
/* CR-32 Automatic booking (owner, 16 Oct 2026): additions only; no existing rule is changed. */
.h-cr32-tick{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important}
.h-cr32-tick>input{width:auto!important;min-width:20px;flex:none;margin:3px 0 0}
.h-cr32-auto{border:2px solid var(--h-green,#1f5c4a);border-radius:12px;padding:12px;margin:8px 0}
.h-cr32-price-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:end;margin-bottom:12px}
.h-cr32-price-row>.h-cr32-cell:first-of-type{grid-column:1/-1}
.h-cr32-cell{display:flex!important;flex-direction:column!important;gap:4px;min-width:0;margin:0}
.h-cr32-cell>input{width:100%!important;min-width:0}
.h-cr32-price-row>button{min-width:40px!important;width:40px!important;padding:0!important}
.h-cr32-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.h-cr32-head>h3{margin:0}
.h-cr32-badge{flex:none;padding:2px 10px;border-radius:999px;background:#e4efe8;font-size:.8rem;font-weight:600}
.h-cr32-item{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:12px!important;padding:10px 0;border-bottom:1px solid var(--h-line,#dfe5e1)}
.h-cr32-item>input{width:auto!important;min-width:20px;margin:0}
.h-cr32-item>span{display:flex;flex-direction:column}
.h-cr32-total{font-weight:600;padding:10px 12px;border-radius:10px;background:#f1f4f2}
.h-cr32-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:8px 0 16px}
.h-cr32-summary>*{margin:0}
@media(min-width:700px){.h-cr32-price-row{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.8fr) 40px}.h-cr32-price-row>.h-cr32-cell:first-of-type{grid-column:auto}}
/* 24 Oct 2026: supplier registration page (/#join=), the owner-approved onboarding demo. Scoped to .hj. */
html.hj-mode body>header,html.hj-mode body>footer,html.hj-mode .skip{display:none}
html.hj-mode body{background:#F4F6F3;margin:0}
html.hj-mode main{max-width:none;margin:0;padding:0}
.hj{min-height:100vh;display:flex;flex-direction:column;background:#F4F6F3;color:#15201C;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;max-width:640px;margin:0 auto;box-sizing:border-box}
.hj *{box-sizing:border-box}
.hj-head{position:sticky;top:0;z-index:2;padding:12px 16px 10px;border-bottom:1px solid #D9E1DC;background:#fff}
.hj-brand{display:flex;align-items:center;gap:8px;font-weight:700;color:#1F5A4D;font-size:15px}
.hj-brand small{font-weight:500;color:#4D5C56;font-size:12px;margin-left:auto}
.hj-lock{font-size:11px;color:#4D5C56;margin-top:4px}
.hj-prog{height:6px;background:#EBF0EC;border-radius:3px;margin-top:10px;overflow:hidden}
.hj-prog i{display:block;height:6px;background:#1F5A4D;border-radius:3px;width:0}
.hj-stepname{display:flex;justify-content:space-between;font-size:12px;color:#4D5C56;margin-top:6px}
.hj-body{flex:1;padding:14px 16px 18px;display:flex;flex-direction:column;gap:12px}
.hj-body h2{margin:0;font-size:20px;color:#15201C}
.hj-hint{margin:0;font-size:13px;color:#4D5C56;line-height:1.4}
.hj-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#34433D}
.hj-field input,.hj-field select,.hj-field textarea{font:inherit;font-size:16px;font-weight:400;color:#15201C;border:1px solid #7C8F86;border-radius:8px;padding:10px;background:#fff;min-height:44px;width:100%}
.hj-req{color:#9E2F1D;font-weight:700}
.hj-opt{font-weight:400;color:#4D5C56}
.hj-ro{font-size:15px;font-weight:400;padding:10px;border-radius:8px;background:#EBF0EC;color:#15201C}
.hj-choices{display:flex;flex-wrap:wrap;gap:6px}
.hj-chip{border:1px solid #7C8F86;background:#fff;color:#15201C;border-radius:999px;padding:8px 12px;font:inherit;font-size:13px;cursor:pointer;min-height:40px}
.hj-chip.on{background:#1F5A4D;border-color:#1F5A4D;color:#fff;font-weight:600}
.hj-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.hj-card{text-align:left;border:1px solid #7C8F86;background:#fff;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;cursor:pointer;color:#15201C;min-height:44px;width:100%}
.hj-card.on{border:2px solid #1F5A4D;background:#DCE9E2;padding:9px 11px}
.hj-card span{display:block;font-size:12px;color:#4D5C56;margin-top:2px;font-weight:400}
.hj-box{background:#fff;border:1px solid #D9E1DC;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.hj-box h3{margin:0;font-size:15px;color:#15201C}
.hj-boxhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hj-adapt{font-size:12px;color:#1F5A4D;background:#DCE9E2;border-radius:8px;padding:8px 10px;line-height:1.4}
.hj-err{background:#FBE5E0;color:#9E2F1D;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
.hj-ok{background:#E2F1E6;color:#1B6235;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
.hj-okrow{display:flex;justify-content:space-between;gap:8px;align-items:center}
.hj-turn{background:#FCECD6;color:#8F4400;border:1px solid #C9781F;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
.hj-pkg{background:#fff;border:1px solid #D9E1DC;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.hj-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.hj-row.start{justify-content:flex-start;flex-wrap:wrap;align-items:center}
.hj-pkg .nm{font-weight:650;font-size:14px}
.hj-pkg .pr{font-weight:700;font-size:14px;color:#1F5A4D;white-space:nowrap}
.hj-inc{font-size:12px;color:#4D5C56;line-height:1.4}
.hj-tag{font-size:11px;border-radius:6px;padding:2px 6px;background:#EBF0EC;color:#34433D;font-weight:600}
.hj-rv{background:#fff;border:1px solid #C9781F;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}
.hj-rv .grid{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:6px}
.hj-rv label{font-size:12px;color:#4D5C56;display:flex;flex-direction:column;gap:3px}
.hj-rv input{font:inherit;font-size:14px;border:1px solid #7C8F86;border-radius:6px;padding:6px 8px;min-height:38px;width:100%;background:#fff}
.hj-link{border:0;background:transparent;color:#1F5A4D;font:inherit;font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer;padding:6px 0;text-align:left;min-height:32px}
.hj-links{display:flex;gap:12px}
.hj-btn{border:1px solid #1F5A4D;background:#fff;color:#1F5A4D;border-radius:10px;padding:10px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}
.hj-btn.pri{background:#1F5A4D;color:#fff}
.hj-btn.danger{border-color:#9E2F1D;color:#9E2F1D}
.hj-btn:disabled{opacity:.45;cursor:not-allowed}
.hj-doc{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #D9E1DC;border-radius:10px;padding:10px 12px}
.hj-doc .t{flex:1;font-size:13px;line-height:1.35;min-width:0}
.hj-doc .t b{display:block;font-size:14px;color:#15201C}
.hj-doc .t span{color:#4D5C56}
.hj-doc .state{font-size:12px;font-weight:650;color:#1B6235;overflow-wrap:anywhere;text-align:right;max-width:45%}
.hj-doc .state.bad{color:#9E2F1D}
.hj-doc .side{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.hj-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.hj-foot{position:sticky;bottom:0;z-index:2;display:flex;gap:8px;padding:10px 12px;border-top:1px solid #D9E1DC;background:#fff;align-items:center}
.hj-foot .grow{flex:1}
.hj-sumrow{display:flex;justify-content:space-between;gap:8px;font-size:13px;line-height:1.4}
.hj-sumrow span:first-child{color:#4D5C56}
.hj-sumrow span:last-child{text-align:right;font-weight:600;overflow-wrap:anywhere}
.hj-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;font-weight:400;color:#15201C}
.hj-check input{width:20px;height:20px;margin:0;flex:none}
.hj-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}
.hj-center h2{margin:0;font-size:22px}
.hj-bigok{width:64px;height:64px;border-radius:50%;background:#1B6235;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700}
.hj-sheet{position:fixed;inset:0;z-index:5;background:rgba(21,32,28,.55);display:flex;align-items:flex-end;justify-content:center}
.hj-sheet .panel{background:#fff;width:100%;max-width:640px;border-radius:18px 18px 0 0;padding:16px;display:flex;flex-direction:column;gap:10px}
.hj-sheet h3{margin:0;font-size:17px}
.hj-url{font-size:12px;color:#34433D;background:#EBF0EC;border-radius:8px;padding:6px 10px}
.hj-fake{font-size:14px;border:1px dashed #7C8F86;border-radius:8px;padding:10px;color:#4D5C56;background:#F4F6F3}
.hj-results{padding:6px;gap:2px}
.hj-results .hj-card{border:0;padding:8px 10px}
.hj-note{font-size:11px;padding:4px 10px}
/* Reset the site-wide button/label/input rules inside the registration page so it renders like the approved demo. */
.hj button,.hj .hj-btn,.hj label.hj-btn{width:auto;display:inline-flex;align-items:center;justify-content:center;margin:0;text-align:center;line-height:1.25;white-space:normal}
.hj .hj-chip{width:auto;font-weight:400}.hj .hj-chip.on{font-weight:600}
.hj .hj-chip:hover{background:#EBF0EC;color:#15201C}.hj .hj-chip.on:hover{background:#1F5A4D;color:#fff}
.hj .hj-card{width:100%;display:block;text-align:left;font-weight:400}
.hj .hj-card:hover{background:#F4F6F3;color:#15201C}.hj .hj-card.on:hover{background:#DCE9E2}
.hj .hj-btn{background:#fff;color:#1F5A4D;border:1px solid #1F5A4D}.hj .hj-btn:hover{background:#DCE9E2;color:#1F5A4D}
.hj .hj-btn.pri{background:#1F5A4D;color:#fff}.hj .hj-btn.pri:hover{background:#174A3F;color:#fff}
.hj .hj-link{display:inline;width:auto;background:transparent;border:0;color:#1F5A4D;padding:6px 0;min-height:32px;font-weight:600}
.hj .hj-link:hover{background:transparent;color:#174A3F}
.hj .hj-link.grow{flex:1;text-align:center}
.hj label{margin:0;font-size:inherit}
.hj .hj-field{margin:0}
.hj .hj-field input,.hj .hj-field select{margin:0}
.hj .hj-check{display:flex;margin:0;font-weight:400}
.hj .hj-check input[type=checkbox]{margin:0;width:20px;height:20px}
.hj label.hj-btn,.hj label.hj-link{cursor:pointer;position:relative}
.hj .hj-foot .hj-btn{flex:none}
.hj a.hj-btn{text-decoration:none}
.h-calendar-event.h-calendar-job{width:100%;text-align:left;color:var(--h-ink);border:1px solid transparent;cursor:pointer;background:#e3effa}
.h-calendar-job:hover{border-color:var(--h-brand);background:#d6e8f8}
.h-calendar-job:focus-visible{outline:3px solid var(--h-brand);outline-offset:2px}
.h-calendar-job-hint{text-decoration:underline;margin-top:3px}
.h-service-picker{display:grid;gap:8px;min-width:0}
.h-service-picked{display:flex;flex-wrap:wrap;gap:6px}
.h-service-picker .h-service-tag{width:auto;min-height:40px;border-radius:24px;padding:6px 12px;background:#1f5a4d;color:white;font-size:.9rem}
.h-service-dropdown{border:1px solid #7c8f86;border-radius:8px;background:white;padding:10px}
.h-service-dropdown>summary{cursor:pointer;font-weight:600}
.h-service-results{max-height:260px;overflow-y:auto;overscroll-behavior:contain;margin-top:8px}
.h-service-option{padding:7px;border-bottom:1px solid #e0e7e2}
.h-service-option>label{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer}
.h-service-option input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:0}
.h-service-option>details{font-size:.85rem;margin:4px 0 4px 30px}
.h-service-picker input:focus-visible,.h-service-picker button:focus-visible,.h-service-picker summary:focus-visible{outline:3px solid #1f5a4d;outline-offset:2px}
.h-supplier-suggestion{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;margin-bottom:6px;gap:3px}
