/* ia.css — Business Info | Actions | Publish.
   Extends dashboard.css's glass vocabulary; defines only the net-new IA pieces.
   Law inherited: translucency-as-status, never blur-as-decoration. */

/* Reserve the scrollbar gutter so expanding a section (which can cross the
   no-scrollbar → scrollbar threshold) never shifts the centered layout. */
html { scrollbar-gutter: stable; }

/* ── provenance chip (rides the .acc-pro mono micro-pill) ── */
.prov { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em; text-transform: lowercase; color: var(--ink-3); background: rgba(26, 22, 19, .05); padding: 2px 7px; border-radius: 999px; white-space: nowrap; }
.prov--ai { color: var(--coral-ink); background: var(--pro-tint); }

/* ── fields inside a section ── */
.row--field .row__v { display: inline-flex; align-items: center; gap: 10px; }
.row__val { color: var(--ink-2); }
.row__add { display: inline-flex; align-items: center; gap: 5px; color: var(--coral-ink); font-weight: 500; }
.row__addic { font-size: 1rem; opacity: .8; }
.row--unconfirmed .row__val { opacity: .5; }
.row__confirm { border: 0; background: var(--pro-tint); color: var(--coral-ink); font: inherit; font-size: .78rem; font-weight: 500; padding: 4px 11px; border-radius: 999px; cursor: pointer; transition: background .2s var(--ease); }
.row__confirm:hover { background: rgba(216, 73, 44, .16); }

/* ── inset grey well of white-glass rows (the codified pattern) ── */
.wellrows { background: rgba(26, 22, 19, .06); border-radius: 16px; padding: 6px; display: flex; flex-direction: column; gap: 6px; margin-bottom: 4px; }
.wellrows .row--card { border-top: 0; min-height: 0; margin: 0; padding: 13px 16px; border-radius: 12px; background: #fff; box-shadow: var(--dash-shadow-sm); display: flex; align-items: center; justify-content: space-between; gap: 12px; transition: background .25s var(--ease-out-quint), box-shadow .25s var(--ease-out-quint), transform .25s var(--ease-out-quint); }
.wellrows .row--card:hover { transform: translateY(-1px); box-shadow: var(--dash-shadow-lift); }
.wellrows .row--card.is-off { background: rgba(255, 255, 255, .42); box-shadow: none; }
.wellrows .row--card.is-off:hover { transform: none; box-shadow: none; }
.well-add { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; margin: 2px 0 2px 6px; border: 0; background: transparent; color: var(--ink-3); font: inherit; font-size: .86rem; font-weight: 500; cursor: pointer; transition: color .2s var(--ease); }
.well-add:hover { color: var(--coral-ink); }
.well-add__ic { font-size: 1.05rem; }
.distk__row .row__v, .surf__row .row__v { flex: 0 0 auto; }

/* ── section accordion extras ── */
.acc-head__r { display: inline-flex; align-items: center; gap: 16px; min-width: 0; }
.acc-sum { font-size: .82rem; color: var(--ink-3); text-align: right; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: opacity .25s var(--ease); }
.acc-item.is-open .acc-sum { opacity: 0; }
@media (max-width: 720px) { .acc-sum { display: none; } }
.secdot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; background: var(--ink-3); }
.secdot.is-ok { background: #5c9a52; }
.secdot.is-need { background: var(--coral-2); }
.secdot.is-idle { background: rgba(26, 22, 19, .2); }
.acc-req { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); margin-left: 2px; }
.acc-item--muted { background: rgba(255, 255, 255, .5); box-shadow: var(--dash-shadow-sm); }
.acc-item--muted .acc-title { color: var(--ink-3); }
.acc-item--muted:hover, .acc-item--muted.is-open { background: #fff; }
.acc-item.is-flash { animation: iaFlash 1.1s var(--ease-out-quint); }
@keyframes iaFlash { 0% { box-shadow: 0 0 0 2px var(--coral-2), var(--dash-shadow-lift); } 100% { box-shadow: var(--dash-shadow); } }

/* ── Business Info group ── */
.binfo { margin-top: 22px; }
.binfo-split { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .04em; color: var(--ink-3); margin: 30px 0 0 6px; }
.binfo-import { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 0 8px; padding: 16px 20px; border-radius: 14px; background: var(--canvas); box-shadow: inset 0 0 0 1px var(--rule-soft); }
.binfo-import__t { display: flex; flex-direction: column; gap: 2px; }
.binfo-import__t b { color: var(--espresso); font-weight: 600; }
.binfo-import__t span { font-size: .85rem; color: var(--ink-3); }

/* ── Actions ── */
.act-status { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .05em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.act-status--ready { color: #44712f; background: rgba(92, 154, 82, .14); }
.act-status--not_configured { color: var(--ink-3); background: rgba(26, 22, 19, .05); }
.act-status--needs_availability { color: var(--coral-ink); background: var(--pro-tint); }
.act-status--degraded { color: var(--coral-ink); background: rgba(216, 73, 44, .12); }
.act-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.act-opts--compact { margin-top: 10px; }
@media (max-width: 640px) { .act-opts { grid-template-columns: 1fr; } }
.act-opt { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "ic t" "ic d"; column-gap: 13px; row-gap: 3px; text-align: left; padding: 16px; border: 0; border-radius: 14px; background: #fff; box-shadow: var(--dash-shadow-sm); cursor: pointer; transition: box-shadow .3s var(--ease-out-quint), transform .3s var(--ease-out-quint); }
.act-opt:hover { transform: translateY(-2px); box-shadow: var(--dash-shadow-lift); }
.act-opt:disabled { cursor: default; opacity: .62; transform: none; box-shadow: var(--dash-shadow-sm); }
.act-opt.is-loading { box-shadow: inset 0 0 0 1px var(--coral-2), var(--dash-shadow-sm); }
.act-opt__ic { grid-area: ic; align-self: start; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--canvas); color: var(--espresso); font-size: 1.15rem; }
.act-opt__t { grid-area: t; font-weight: 600; color: var(--espresso); }
.act-opt__d { grid-area: d; font-size: .84rem; color: var(--ink-3); line-height: 1.4; }
.act-opt { position: relative; }
.act-opt.is-selected { box-shadow: inset 0 0 0 2px var(--coral-2), var(--dash-shadow-sm); }
.act-opt__sel { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--coral-2); color: #fff; }
.act-opt__sel svg { width: 13px; height: 13px; }

/* ── Publish sheet: the morphing go-live moment (review → going → live) ── */
.psheet { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 20px; }
.psheet[hidden] { display: none; }
.psheet__scrim { position: absolute; inset: 0; background: rgba(26, 22, 19, .42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: psheetFade .2s var(--ease); }
.psheet__panel { position: relative; width: 100%; max-width: 440px; box-sizing: border-box; background: var(--surface, #fff); border-radius: 22px; box-shadow: 0 30px 80px -20px rgba(26, 22, 19, .5); padding: 26px 26px 22px; text-align: center; animation: psheetIn .34s var(--ease-out-quint, cubic-bezier(.22, 1, .36, 1)); }
@keyframes psheetFade { from { opacity: 0; } }
@keyframes psheetIn { from { opacity: 0; transform: translateY(14px) scale(.97); } }
.psheet__stage { display: grid; gap: 14px; justify-items: center; }
.psheet__stage[hidden] { display: none; }
.psheet__preview { display: flex; align-items: center; gap: 13px; width: 100%; box-sizing: border-box; background: var(--canvas); border-radius: 14px; padding: 12px 15px; }
.psheet__badge { width: 46px; height: 46px; border-radius: 13px; background: var(--pro-tint); color: var(--coral-ink); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; overflow: hidden; }
.psheet__badge .bizbadge__init { font-family: var(--font-display); font-weight: 800; font-size: 1.2rem; }
.psheet__badge img { width: 100%; height: 100%; object-fit: cover; }
.psheet__pmeta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.psheet__pmeta b { font-family: var(--font-display); font-weight: 800; font-size: 1.02rem; color: var(--ink); }
.psheet__pmeta code { font-family: var(--font-mono); font-size: .8rem; color: var(--ink-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.psheet__title { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; color: var(--espresso); margin: 4px 0 0; }
.psheet__lead { font-size: .92rem; line-height: 1.5; color: var(--ink-2); max-width: 36ch; margin: 0; }
.psheet__note { width: 100%; box-sizing: border-box; margin: 0; padding: 9px 12px; border-radius: 11px; background: rgba(216, 73, 44, .1); color: var(--coral-ink); font-size: .84rem; line-height: 1.4; text-align: left; }
.psheet__note[hidden] { display: none; }
.psheet__foot { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 8px; }
.psheet__open { margin-top: 2px; }
.psheet__beacon { display: inline-flex; align-items: center; justify-content: center; width: 74px; height: 74px; border-radius: 50%; background: var(--pro-tint); color: var(--coral-ink); margin-top: 6px; animation: psheetPulse 1.5s var(--ease) infinite; }
.psheet__beacon svg { width: 36px; height: 36px; }
@keyframes psheetPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(216, 73, 44, .32); } 70% { box-shadow: 0 0 0 18px rgba(216, 73, 44, 0); } }
.psheet__seal { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #2f8f5b; color: #fff; margin-top: 6px; animation: psheetPop .44s var(--ease-out-quint, cubic-bezier(.22, 1, .36, 1)); }
.psheet__seal svg { width: 32px; height: 32px; }
.psheet__seal--warn { background: var(--coral-2); font-family: var(--font-display); font-weight: 800; font-size: 1.4rem; }
@keyframes psheetPop { 0% { transform: scale(.5); opacity: 0; } 60% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } }
.psheet__next { display: grid; gap: 8px; width: 100%; margin-top: 4px; }
.psheet__nextbtn { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; border: 0; background: var(--canvas); border-radius: 13px; padding: 12px 15px; cursor: pointer; font: inherit; box-shadow: inset 0 0 0 1px var(--rule-soft); transition: box-shadow .18s var(--ease), transform .18s var(--ease); }
.psheet__nextbtn:hover { transform: translateY(-1px); box-shadow: inset 0 0 0 1px var(--coral-2), var(--dash-shadow-sm); }
.psheet__nextt { display: flex; flex-direction: column; gap: 1px; flex: 1 1 auto; }
.psheet__nextt b { font-weight: 600; font-size: .9rem; color: var(--ink); }
.psheet__nextt span { font-size: .79rem; color: var(--ink-3); }
.psheet__nextbtn svg { width: 18px; height: 18px; color: var(--ink-3); flex: 0 0 auto; }
.psheet__done { margin-top: 2px; }
.act-config__foot { display: flex; align-items: center; gap: 10px; margin-top: 14px; }
.act-source-switch { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--rowline); }
.act-source-switch[hidden] { display: none; }
.act-error { margin: 12px 0 0; color: var(--coral-ink); font-size: .86rem; }
.cta--sm { padding: 9px 16px; font-size: .9rem; }
.act-soon { margin-top: 26px; }
.act-soon__lab { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .04em; color: var(--ink-3); }
.act-soon__row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.act-soon__pill { font-size: .82rem; color: var(--ink-3); background: var(--canvas); box-shadow: inset 0 0 0 1px var(--rule-soft); padding: 7px 13px; border-radius: 999px; }

/* ── Go Live hero button: two states (Almost Live · Go Live) + requirements popover ── */
.bannergate { flex-direction: row; align-items: center; gap: 9px; min-width: 0; min-height: 46px; padding: 7px 13px; border-radius: 14px; }
.bannergate__ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; opacity: .9; }
.bannergate__ic svg { width: 17px; height: 17px; }
.bannergate .bannergate__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 0; line-height: 1.1; }
.bannergate .bannergate__txt b { font-family: var(--font-display); font-size: .92rem; font-weight: 800; letter-spacing: -.01em; text-transform: none; }
.bannergate .bannergate__txt span { font-family: var(--font-body); font-size: .72rem; font-weight: 500; letter-spacing: 0; text-transform: none; opacity: .8; }
.bannergate .bannergate__count { margin-left: 3px; font-family: var(--font-mono); font-size: .76rem; font-weight: 600; letter-spacing: 0; text-transform: none; background: #fff; color: var(--coral-ink); padding: 2px 8px; border-radius: 7px; flex: 0 0 auto; }
.bannergate__chev { width: 18px; height: 18px; opacity: .7; flex: 0 0 auto; margin-left: 1px; }
.bannergate--draft, .bannergate--degraded { border-style: dashed; border-color: rgba(255, 255, 255, .42); background: rgba(255, 255, 255, .12); }
.bannergate--degraded { background: rgba(216, 73, 44, .28); }
.bannergate--ready { background: #fff; color: var(--espresso); border-color: #fff; transition: transform .2s var(--ease-out-quint, cubic-bezier(.22, 1, .36, 1)), box-shadow .2s var(--ease-out-quint, cubic-bezier(.22, 1, .36, 1)); }
.bannergate--ready .bannergate__txt span { color: var(--ink-3); opacity: 1; }
.bannergate--ready .bannergate__ic { color: var(--coral-ink); }
.bannergate--ready .bannergate__chev { color: var(--ink-3); }
.bannergate--ready:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 16px 34px -12px rgba(75, 24, 9, .5); }
.bannergate--live .bannergate__ic { color: #315b2c; }
.heromenu { position: relative; display: inline-flex; margin-left: auto; }
.heromenu__pop { position: fixed; z-index: 200; top: auto; left: auto; right: 0; min-width: 320px; max-width: min(340px, calc(100vw - 32px)); padding: 14px; }
.heromenu__lead { font-size: .84rem; color: var(--ink-2); padding: 2px 6px 10px; margin: 0; border-bottom: 1px solid var(--rowline); }
.req { display: flex; flex-direction: column; gap: 1px; margin-top: 6px; }
.req__row { display: flex; align-items: center; gap: 11px; width: 100%; border: 0; background: transparent; font: inherit; text-align: left; padding: 9px 8px; border-radius: 9px; cursor: pointer; transition: background .18s var(--ease); }
.req__row:hover:not(:disabled) { background: rgba(26, 22, 19, .05); }
.req__row:disabled { cursor: default; }
.req__dot { display: grid; place-items: center; width: 19px; height: 19px; flex: 0 0 auto; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgba(26, 22, 19, .18); color: #fff; font-size: .8rem; }
.req__dot.is-met { background: #5c9a52; box-shadow: none; }
.req__label { flex: 1; font-size: .9rem; color: var(--espresso); }
.req__row.is-met .req__label { color: var(--ink-3); }
.req__chev { color: var(--ink-3); font-size: 1rem; }

/* ── Publish ── */
.surf__head { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.surf__badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 2px 7px; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); background: rgba(26, 22, 19, .06); }
.surf__badge.is-live { color: #2f8f5b; background: rgba(92, 154, 82, .14); }
.surf__badge.is-degraded { color: var(--coral-ink); background: rgba(216, 73, 44, .12); }
.surf__badge.is-pending { color: #946723; background: rgba(212, 157, 63, .16); }
.surf__row.is-pending .surf__url { color: var(--ink-3); }
.surf__url { font-family: var(--font-mono); font-size: .8rem; color: var(--ink-2); }
.ibtn--label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 9px; font-size: .82rem; }
.ibtn--label:disabled { cursor: default; color: var(--ink-3); background: rgba(26, 22, 19, .06); box-shadow: none; }
.ibtn.is-copied { color: #5c9a52; }
.dev-disc { margin-top: 10px; }
.dev-disc > summary { list-style: none; cursor: pointer; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .04em; color: var(--ink-3); padding: 6px 4px; }
.dev-disc > summary::-webkit-details-marker { display: none; }
.dev-disc[open] > summary { color: var(--espresso); }
.distk__row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; }
.distk__ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--canvas); color: var(--espresso); font-size: 1.1rem; }
.distk__qr { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; background: var(--canvas); box-shadow: inset 0 0 0 1px var(--rule-soft); font-family: var(--font-mono); font-size: .6rem; color: var(--ink-3); }
.publish-empty { text-align: center; max-width: 440px; margin: 40px auto; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.publish-empty__ic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--canvas); color: var(--ink-3); font-size: 1.6rem; }
.publish-empty h2 { font-family: var(--font-display); font-weight: 700; font-size: 1.3rem; color: var(--espresso); margin: 4px 0 0; }
.publish-empty p { font-size: .92rem; color: var(--ink-3); line-height: 1.5; margin: 0; }
.publish-empty .cta { margin-top: 8px; }

@media (prefers-reduced-motion: reduce) {
  .acc-item.is-flash { animation: none; }
  .wellrows .row--card:hover, .act-opt:hover { transform: none; }
}

/* ── field cards: the value IS a live input; click the strip to edit, no pencil ── */
.efields { gap: 8px; }
.efield { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 12px; box-shadow: var(--dash-shadow-sm); padding: 4px 12px 4px 14px; min-height: 52px; transition: box-shadow .25s var(--ease-out-quint), background .25s var(--ease-out-quint); }
.efield:hover, .efield:focus-within { box-shadow: var(--dash-shadow-lift); }
.efield.is-unconfirmed { background: rgba(255, 255, 255, .6); }
.efield__label { flex: 0 0 148px; color: var(--espresso); font-weight: 500; font-size: .92rem; cursor: text; }
.efield__live { flex: 1 1 auto; min-width: 0; width: 100%; box-sizing: border-box; border: 0; background: transparent; font-family: inherit; font-size: .95rem; color: var(--ink-2); line-height: 1.4; padding: 9px 10px; border-radius: 9px; cursor: text; transition: background .15s var(--ease), box-shadow .15s var(--ease), color .15s var(--ease); }
.efield__live::placeholder { color: var(--ink-3); }
.efield__live:hover { background: rgba(26, 22, 19, .035); }
.efield__live:focus { outline: none; background: var(--surface); box-shadow: inset 0 0 0 1px var(--coral-2); color: var(--ink); }
.efield.is-unconfirmed .efield__live { color: var(--ink-3); }
.efield__prov, .efield__flag { flex: 0 0 auto; margin-left: 2px; }

/* read-only field (e.g. Trust, no save endpoint) */
.efield--ro { padding: 9px 14px; }
.efield--ro .efield__label { cursor: default; }
.efield--ro .efield__value { flex: 1 1 auto; min-width: 0; color: var(--ink-2); font-size: .95rem; overflow-wrap: anywhere; }
.efield--ro .efield__empty { color: var(--ink-3); }

/* provenance + AI-draft flag */
.erow__prov { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .03em; color: var(--ink-3); white-space: nowrap; }
.efield__prov { opacity: 0; transition: opacity .18s var(--ease); }
.efield:hover .efield__prov, .efield:focus-within .efield__prov { opacity: .55; }

/* ── field coaching + validation (AI-readiness, smart-hybrid presence) ── */
.efield[data-erow] { flex-wrap: wrap; row-gap: 0; }
.efield__coach { flex-basis: 100%; max-height: 80px; margin: 0 0 4px 158px; font-size: .78rem; line-height: 1.4; color: var(--ink-3); overflow: hidden; transition: max-height .22s var(--ease-out-quint), opacity .18s var(--ease), margin-bottom .22s var(--ease-out-quint); }
.efield__coach:empty { display: none; }
.efield__coach.is-folded { max-height: 0; opacity: 0; margin-bottom: 0; pointer-events: none; }
.efield__coach.is-good { color: #2f8f5b; }
.efield__coach.is-warn { color: #946723; }
.efield__coach.is-error { color: var(--coral-ink); }
.efield__count { font-family: var(--font-mono); font-size: .72rem; opacity: .85; margin-left: 2px; }
.efield.is-error .efield__live { box-shadow: inset 0 0 0 1px var(--coral-2); }
.efield.is-error .efield__live:focus { box-shadow: inset 0 0 0 1.5px var(--coral-2); }
.efield.is-good .efield__live:focus { box-shadow: inset 0 0 0 1px #5c9a52; }
@media (max-width: 640px) { .efield__coach { margin-left: 0; } }
.wellcoach { margin: 0 0 9px; font-size: .8rem; line-height: 1.4; color: var(--ink-3); }
.svc.is-error .svc__name, .qrow.is-error .efield__live { box-shadow: inset 0 0 0 1px var(--coral-2); }

/* ── real-failure errors (save, logo, etc.) — animated, subtle, recoverable ── */
.vsave-note { max-height: 0; opacity: 0; margin: 0; overflow: hidden; text-align: right; font-size: .82rem; line-height: 1.4; color: var(--coral-ink); transition: max-height .3s var(--ease-out-quint), opacity .22s var(--ease), margin-top .3s var(--ease-out-quint); }
.vsave-note.is-show { max-height: 48px; opacity: 1; margin-top: 8px; }
.vsave.is-error { color: var(--coral-ink); background: var(--pro-tint); cursor: pointer; }
.vsave.is-error:hover { background: rgba(216, 73, 44, .16); }
.act-error { opacity: 0; transform: translateY(-4px); transition: opacity .24s var(--ease), transform .26s var(--ease-out-quint); }
.act-error.is-show { opacity: 1; transform: none; }
.erow__prov--row { opacity: .5; }
.erow__flag { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; color: var(--coral-ink); background: var(--pro-tint); padding: 2px 8px; border-radius: 999px; white-space: nowrap; }

/* ── Services: live name + price rows ── */
.svclist { gap: 6px; }
.svc { display: grid; grid-template-columns: 1fr 132px; gap: 6px; align-items: center; background: #fff; border-radius: 12px; box-shadow: var(--dash-shadow-sm); padding: 4px 10px; transition: box-shadow .2s var(--ease-out-quint), background .2s var(--ease); }
.svc:hover, .svc:focus-within { box-shadow: var(--dash-shadow-lift); }
.svc--head { background: transparent; box-shadow: none; padding: 0 12px; }
.svc--head span { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3); }
.svc--head span:last-child { text-align: right; }
.svc--new { background: rgba(255, 255, 255, .5); box-shadow: none; }
.svc--new:focus-within { background: #fff; box-shadow: var(--dash-shadow-sm); }
.svc__price { text-align: right; }

/* ── Customer questions: a live question row each ── */
.qlist { gap: 6px; }
.qrow { background: #fff; border-radius: 12px; box-shadow: var(--dash-shadow-sm); padding: 4px 10px; transition: box-shadow .2s var(--ease-out-quint), background .2s var(--ease); }
.qrow:hover, .qrow:focus-within { box-shadow: var(--dash-shadow-lift); }
.qrow--new { background: rgba(255, 255, 255, .5); box-shadow: none; }
.qrow--new:focus-within { background: #fff; box-shadow: var(--dash-shadow-sm); }

/* ── Caboo-slots availability editor (the visual week grid drops in later) ── */
.slots-editor { margin: 0 0 12px; }
.slots-editor[hidden] { display: none; }

/* ── Book action card: Edit details in the header + tappable Source strip ── */
.act-card .acc-head { cursor: pointer; }
.act-edit { display: inline-flex; align-items: center; gap: 3px; border: 0; background: var(--pro-tint); color: var(--coral-ink); font: inherit; font-size: .78rem; font-weight: 600; padding: 5px 11px 5px 13px; border-radius: 999px; cursor: pointer; transition: background .18s var(--ease); }
.act-edit:hover { background: rgba(242, 94, 64, .16); }
.act-edit .cta__chev { width: 13px; height: 13px; transition: transform .2s var(--ease); }
.act-edit.is-on .cta__chev { transform: rotate(90deg); }
.srcrow { width: 100%; cursor: pointer; text-align: left; outline: none; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; }
.srcrow:focus { outline: none; }
.srcrow:focus-visible { outline: 2px solid var(--coral-2); outline-offset: -2px; }
.src-strip.is-open .srcrow { box-shadow: inset 0 0 0 1px var(--coral-2); }
.srcrow__chev { display: inline-flex; align-items: center; margin-left: 8px; color: var(--ink-3); transition: transform .22s var(--ease); }
.srcrow__chev svg { width: 16px; height: 16px; }
.src-strip.is-open .srcrow__chev { transform: rotate(180deg); }
.src-opts { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s var(--ease-disclose, ease); }
.src-strip.is-open .src-opts { grid-template-rows: 1fr; }
.src-opts__in { overflow: hidden; min-height: 0; }
.src-strip.is-open .src-opts__in { padding-top: 7px; }

/* ── source option brand icons + Live calendar's two providers ── */
.act-opts { align-items: start; }
.act-opt__ic img { width: 22px; height: 22px; object-fit: contain; display: block; }
.act-opt__ic--logo img { width: 24px; height: 24px; }
.act-opt-live { display: flex; flex-direction: column; min-width: 0; }
.act-provs { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s var(--ease-disclose, ease); }
.act-opt-live.is-open .act-provs { grid-template-rows: 1fr; }
.act-provs__in { overflow: hidden; min-height: 0; display: flex; flex-direction: column; gap: 7px; }
.act-opt-live.is-open .act-provs__in { padding-top: 8px; }
.act-prov { display: flex; align-items: center; gap: 10px; border: 0; background: #fff; box-shadow: var(--dash-shadow-sm); border-radius: 11px; padding: 10px 13px; cursor: pointer; font: inherit; font-size: .88rem; font-weight: 600; color: var(--ink); text-align: left; transition: box-shadow .18s var(--ease); }
.act-prov:hover { box-shadow: var(--dash-shadow-lift); }
.act-prov img { width: 19px; height: 19px; object-fit: contain; flex: 0 0 auto; }

/* ── New IA calendar header: slider on the left (where the big title was),
   Bookings / Edit hours on the right, no big "This week" title ── */
[data-wk-host] .wk__head { margin: 0 0 14px; }
[data-wk-host] .wk__titles { display: none; }
[data-wk-host] .wk__tools { flex: 1 1 auto; width: 100%; display: flex; align-items: center; gap: 10px; }
[data-wk-host] .wk__nav { order: -1; margin-right: auto; }
[data-wk-host] .wk__sync { order: 1; }
[data-wk-host] .wk__modes { order: 2; }

/* ── Publish: preview hero, distribution logos, cross-provider test ── */
.pubview { display: flex; align-items: center; gap: 14px; padding: 2px 0 16px; margin: 0 0 14px; border-bottom: 1px solid var(--rule, rgba(26, 22, 19, .09)); }
.pubview__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.pubview__head { display: flex; align-items: center; gap: 9px; min-width: 0; }
.pubview__badge { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--pro-tint); color: var(--coral-ink); flex: 0 0 auto; }
.pubview__badge svg { width: 22px; height: 22px; }
/* the shared business mark (logo or initial) */
.bizbadge { overflow: hidden; }
.bizbadge img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bizbadge__init { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; line-height: 1; color: currentColor; }
.banner__icon .bizbadge__init { font-size: 1.35rem; }
.pubview__badge .bizbadge__init { font-size: 1.05rem; }

/* ── Identity: logo upload ── */
.logoup { display: flex; align-items: center; gap: 16px; background: rgba(26, 22, 19, .04); border-radius: 14px; padding: 13px 15px; margin: 0 0 12px; }
.logoup__mark { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 14px; background: var(--surface, #fff); color: var(--coral-ink); border: 1.5px dashed rgba(216, 73, 44, .4); cursor: pointer; overflow: hidden; flex: 0 0 auto; padding: 0; transition: border-color .16s var(--ease), box-shadow .16s var(--ease); }
.logoup__mark:hover { border-color: var(--coral-2); box-shadow: var(--dash-shadow-sm); }
.logoup__mark img { width: 100%; height: 100%; object-fit: cover; }
.logoup__mark .bizbadge__init { font-family: var(--font-display); font-weight: 800; font-size: 1.4rem; color: var(--coral-ink); }
.logoup__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.logoup__label { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.logoup__hint { font-size: .82rem; color: var(--ink-3); line-height: 1.35; }
.logoup__row { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.logoup__remove[hidden] { display: none; }
.pubview__name { font-family: var(--font-display); font-weight: 800; font-size: 1.12rem; color: var(--ink); line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pubview__state { font-family: var(--font-mono); font-size: .58rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; flex: 0 0 auto; }
.pubview__state.is-live { color: #2f8f5b; background: rgba(92, 154, 82, .14); }
.pubview__state.is-ready { color: #946723; background: rgba(148, 103, 35, .12); }
.pubview__state.is-degraded { color: var(--coral-ink); background: var(--pro-tint); }
.pubview__state.is-draft { color: var(--ink-3); background: rgba(26, 22, 19, .06); }
.pubview__link { display: flex; align-items: center; gap: 7px; min-width: 0; }
.pubview__url { font-family: var(--font-mono); font-size: .82rem; color: var(--ink-2); background: var(--canvas); padding: 7px 11px; border-radius: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pubview__copy { flex: 0 0 auto; }
.pubview__open { flex: 0 0 auto; align-self: center; }
@media (max-width: 600px) { .pubview { flex-wrap: wrap; } .pubview__open { width: 100%; justify-content: center; } }
.distk__ic img { width: 22px; height: 22px; object-fit: contain; display: block; }
.distk__qr img { width: 44px; height: 44px; border-radius: 6px; display: block; }
.pubtest { display: grid; gap: 14px; }
.pubtest__list { display: grid; gap: 8px; }
.pubtest__prov { background: #fff; box-shadow: var(--dash-shadow-sm); border-radius: 12px; overflow: hidden; }
.pubtest__head { display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px 14px; background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: default; }
.pubtest__prov[data-state="done"] .pubtest__head { cursor: pointer; }
.pubtest__ic { display: inline-flex; width: 22px; height: 22px; flex: 0 0 auto; }
.pubtest__ic img { width: 22px; height: 22px; object-fit: contain; }
.pubtest__name { font-weight: 600; font-size: .92rem; color: var(--ink); }
.pubtest__verdict { margin-left: auto; display: inline-block; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; }
.pubtest__chev { display: inline-flex; width: 18px; height: 18px; color: var(--ink-3); opacity: 0; transition: opacity .2s var(--ease), transform .2s var(--ease); }
.pubtest__chev svg { width: 18px; height: 18px; }
.pubtest__prov[data-state="done"] .pubtest__chev { opacity: 1; }
.pubtest__prov.is-open .pubtest__chev { transform: rotate(180deg); }
.pubtest__prov[data-state="asking"] .pubtest__verdict { color: var(--ink-2); animation: ptPulse 1s var(--ease) infinite; }
.pubtest__prov[data-state="found"] .pubtest__verdict, .pubtest__prov[data-state="booking"] .pubtest__verdict { color: var(--ink-2); }
.pubtest__prov[data-state="done"] .pubtest__verdict { animation: ptPop .42s var(--ease-out-quint, cubic-bezier(.22, 1, .36, 1)); }
.pubtest__prov.is-bookable .pubtest__verdict { color: #2f8f5b; }
.pubtest__prov.is-found .pubtest__verdict, .pubtest__prov.is-blocked .pubtest__verdict { color: #b06a1f; }
.pubtest__prov.is-missing .pubtest__verdict { color: var(--ink-3); }
@keyframes ptPulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
@keyframes ptPop { 0% { transform: scale(.82); opacity: .4; } 60% { transform: scale(1.05); } 100% { transform: scale(1); opacity: 1; } }
.pubtest__receipts { padding: 2px 14px 13px 47px; display: grid; gap: 7px; }
.pubtest__receipts[hidden] { display: none; }
.pubtest__rec { display: grid; grid-template-columns: 58px 1fr; gap: 10px; margin: 0; align-items: baseline; }
.pubtest__rl { font-family: var(--font-mono); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.pubtest__rv { font-size: .84rem; color: var(--ink-2); line-height: 1.45; }
.pubtest__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pubtest__summary { margin: 0; font-size: .88rem; color: var(--ink); font-weight: 500; }

.slots-days { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 16px; }
.slots-day { border: 0; background: var(--canvas); box-shadow: inset 0 0 0 1px var(--rule-soft); color: var(--ink-2); font: inherit; font-size: .85rem; font-weight: 500; padding: 8px 14px; border-radius: 999px; cursor: pointer; transition: background .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease); }
.slots-day:hover { box-shadow: inset 0 0 0 1px rgba(26, 22, 19, .2); }
.slots-day.is-on { background: var(--coral-2); color: #fff; box-shadow: none; }
.slots-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 560px) { .slots-fields { grid-template-columns: 1fr; } }
.slots-field { display: flex; flex-direction: column; gap: 5px; font-size: .78rem; color: var(--ink-3); }
.slots-in { border: 1px solid var(--rowline); border-radius: 10px; background: var(--surface); font-family: inherit; font-size: .95rem; color: var(--ink); padding: 9px 11px; transition: border-color .15s var(--ease), box-shadow .15s var(--ease); }
.slots-in:focus { outline: none; border-color: var(--coral-2); box-shadow: 0 0 0 3px rgba(242, 94, 64, .13); }
.slots-foot { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 16px; }

.wellrows .row--card.is-unconfirmed { opacity: .62; }
.well-empty { color: var(--ink-3); font-size: .9rem; padding: 10px 6px; margin: 0; }

/* always-present add row on the grey shell + its inline editor */
.welladd { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin: 4px 0 2px 6px; border: 0; background: transparent; color: var(--ink-3); font: inherit; font-size: .88rem; font-weight: 500; cursor: pointer; transition: color .18s var(--ease); }
.welladd:hover { color: var(--coral-ink); }
.welladd__ic { font-size: 1.1rem; }
.welladd-edit { background: #fff; border-radius: 12px; box-shadow: var(--dash-shadow-sm); padding: 14px 16px; }
.welladd-edit[hidden] { display: none; }
.efield__input { width: 100%; box-sizing: border-box; border: 0; background: var(--canvas); border-radius: 9px; padding: 10px 12px; font-family: inherit; font-size: .95rem; color: var(--ink); box-shadow: inset 0 0 0 1px var(--rule-soft); transition: box-shadow .15s var(--ease); }
.efield__input::placeholder { color: var(--ink-3); }
.efield__input:focus { outline: none; background: var(--surface); box-shadow: inset 0 0 0 1px var(--coral-2); }
.efield__act { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.efield__save { border: 0; background: var(--coral-2); color: #fff; font-family: inherit; font-weight: 500; font-size: .88rem; padding: 8px 16px; border-radius: 9px; cursor: pointer; transition: background .18s var(--ease); }
.efield__save:hover { background: var(--coral-ink); }
.efield__cancel { border: 0; background: rgba(26, 22, 19, .06); color: var(--ink-2); font-family: inherit; font-weight: 500; font-size: .88rem; padding: 8px 14px; border-radius: 9px; cursor: pointer; transition: background .18s var(--ease); }
.efield__cancel:hover { background: rgba(26, 22, 19, .1); }

/* Business Info header: title, then the description row with a small muted Save */
.vsubrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.vsubrow .vstatus { flex: 1 1 auto; min-width: 0; }
.vsave { flex: 0 0 auto; border: 0; background: transparent; color: var(--ink-3); font: inherit; font-size: .8rem; font-weight: 500; padding: 5px 12px; border-radius: 999px; cursor: default; white-space: nowrap; transition: color .2s var(--ease), background .2s var(--ease); }
.vsave.is-dirty { color: var(--coral-ink); background: var(--pro-tint); cursor: pointer; }
.vsave.is-dirty:hover { background: rgba(216, 73, 44, .16); }
.vsave.is-saving { color: var(--ink-3); }

@media (max-width: 600px) {
  .vsubrow { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 640px) {
  .efield__line { flex-wrap: wrap; min-height: 0; gap: 4px 12px; padding: 12px 0; }
  .efield__label { flex-basis: 100%; }
  .efield__edit { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .efield__editor { transition: opacity .15s; }
  .efield__edit { transition: opacity .12s; }
}
