/* PowerWaivers Pro: dashboard tabs, signed list, settings, the public waiver header, and the public template list. */

/* ---------- tabs */
.wv-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: -4px 0 20px; border-bottom: 1px solid var(--line); }
.wv-tabs { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; margin-bottom: -1px; max-width: 100%; }
.wv-tabs::-webkit-scrollbar { display: none; }
.wv-tab { position: relative; display: inline-flex; align-items: center; height: 44px; padding: 0 14px; font-weight: 600; font-size: 14.5px; color: var(--ink-3); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
.wv-tab:hover { color: var(--ink); }
.wv-tab.is-on { color: var(--ink); border-bottom-color: var(--accent); }
.wv-quick { margin: 0 0 8px; }
.wv-bar .wv-quick input[type=search] { height: 36px; width: 220px; max-width: 100%; padding: 0 12px 0 34px; border-radius: 99px; border: 1px solid var(--line); background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7486' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center; font: inherit; font-size: 14px; }
@media (max-width: 640px) { .wv-quick { width: 100%; } .wv-bar .wv-quick input[type=search] { width: 100%; } .wv-bar { border-bottom: 0; } .wv-tabs { border-bottom: 1px solid var(--line); width: 100%; } }

/* ---------- template offer (arriving from the public template list) */
.wv-offer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); background: var(--tint); }
.wv-offer > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wv-offer form { margin: 0; }

/* ---------- signed list */
.wv-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.wv-filters input[type=search] { flex: 1 1 260px; min-width: 0; }
.wv-filters select { flex: 0 1 260px; min-width: 0; }
.wv-subbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.wv-subbar-right { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wv-segs { display: inline-flex; padding: 3px; gap: 2px; background: var(--line-2); border-radius: 99px; max-width: 100%; overflow-x: auto; }
.wv-seg { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border-radius: 99px; color: var(--ink-2); font-weight: 600; font-size: 13.5px; text-decoration: none; white-space: nowrap; }
.wv-seg span { font-weight: 500; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.wv-seg.is-on { background: var(--paper); color: var(--ink); box-shadow: 0 1px 2px rgba(16, 24, 40, .08); }
.wv-list-panel { padding: 0; overflow: hidden; }
.wv-list-panel .table { border: 0; border-radius: 0; }
.wv-who { display: flex; flex-direction: column; gap: 1px; color: var(--ink); }
.wv-who b { color: var(--accent-ink); }
.wv-table td.wv-open { width: 1%; text-align: right; }
.wv-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
@media (max-width: 720px) {
  .wv-table td[data-l="Waiver"], .wv-table td[data-l="Signed"] { color: var(--ink-3); }
  .wv-table td.wv-open { display: none; }
  .wv-table tr { padding: 12px 4px; }
}

/* ---------- settings */
.wv-set { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.wv-set-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.wv-reset { margin: 0; align-self: flex-start; }
.wv-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wv-logo-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wv-logo-cur { height: 44px; max-width: 140px; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; padding: 4px; background: #fff; }
.wv-logo-none { display: inline-grid; place-items: center; height: 44px; padding: 0 12px; border: 1px dashed var(--line); border-radius: 8px; color: var(--ink-3); font-size: 13px; }
.wv-preview { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.wv-pv-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 20px; box-shadow: 0 24px 50px -34px rgba(16, 24, 40, .35); }
.wv-pv-title { font: 800 20px/1.2 var(--display); letter-spacing: -0.02em; margin: 4px 0 12px; }
.wv-pv-lines { display: grid; gap: 7px; margin-bottom: 12px; }
.wv-pv-lines i { display: block; height: 8px; border-radius: 4px; background: var(--line-2); }
.wv-pv-text { font-size: 13px; color: var(--ink-3); margin: 0; }
@media (max-width: 860px) { .wv-set { grid-template-columns: 1fr; } .wv-preview { position: static; } }
@media (max-width: 520px) { .wv-two { grid-template-columns: 1fr; } }

/* ---------- business header (public waiver page and the settings preview) */
.wv-biz { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; margin-bottom: 18px; border-bottom: 1px solid #eef0f3; min-width: 0; }
.wv-biz-logo { height: 48px; width: auto; max-width: 132px; object-fit: contain; flex: none; }
.wv-biz-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.wv-biz-name { font-size: 16px; font-weight: 700; color: #111827; line-height: 1.25; overflow-wrap: anywhere; }
.wv-biz-contact { display: flex; flex-wrap: wrap; gap: 2px 0; font-size: 13px; color: #6b7280; line-height: 1.45; }
.wv-biz-contact > * { overflow-wrap: anywhere; }
.wv-biz-contact > *:not(:empty) ~ *:not(:empty)::before { content: '\00b7'; margin: 0 7px; color: #c4c8cf; }
.wv-biz-contact a { color: inherit; text-decoration: none; }
.wv-biz-contact a:hover { color: var(--accent); text-decoration: underline; }
@media (max-width: 480px) { .wv-biz { align-items: flex-start; } .wv-biz-logo { height: 40px; max-width: 96px; } .wv-biz-contact { flex-direction: column; } .wv-biz-contact > *:not(:empty) ~ *:not(:empty)::before { content: none; } }

/* ---------- public template list (marketing) */
.wvt { max-width: 1200px; margin: 0 auto; padding: 36px var(--gutter, 20px) 80px; }
.wvt-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.wvt-jump a { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 99px; background: #fff; border: 1px solid var(--line); color: var(--ink); font-weight: 600; font-size: 14px; text-decoration: none; }
.wvt-jump a span { color: var(--ink-3); font-weight: 500; }
.wvt-jump a:hover { border-color: var(--accent); }
.wvt-note { font-size: 13.5px; color: var(--ink-3); margin: 0 0 30px; max-width: 760px; }
.wvt-group { margin-bottom: 44px; scroll-margin-top: 20px; }
.wvt-group > h2 { font: 800 clamp(22px, 3vw, 28px)/1.15 var(--display); letter-spacing: -0.02em; margin: 0 0 16px; }
.wvt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.wvt-card { position: relative; display: flex; flex-direction: column; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px; scroll-margin-top: 20px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.wvt-card::before { content: ''; position: absolute; left: 22px; top: 0; width: 36px; height: 3px; border-radius: 0 0 3px 3px; background: var(--accent); }
.wvt-card:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); box-shadow: 0 24px 40px -30px rgba(16, 24, 40, .4); }
.wvt-card:target { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent); }
.wvt-card h3 { font: 700 19px/1.2 var(--display); letter-spacing: -0.01em; margin: 6px 0 0; }
.wvt-blurb { color: var(--ink-2); margin: 0; font-size: 15px; }
.wvt-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.wvt-facts li { font-size: 12.5px; font-weight: 600; color: var(--ink-2); background: var(--mist); border-radius: 99px; padding: 3px 10px; }
.wvt-text { margin-top: auto; border-top: 1px solid var(--line-2); padding-top: 10px; }
.wvt-text summary { cursor: pointer; font-weight: 600; font-size: 14px; color: var(--accent-ink); list-style: none; }
.wvt-text summary::-webkit-details-marker { display: none; }
.wvt-text summary::after { content: ' +'; }
.wvt-text[open] summary::after { content: ' -'; }
.wvt-legal { max-height: 320px; overflow: auto; margin-top: 10px; padding: 14px; background: #fafafa; border: 1px solid var(--line-2); border-radius: 12px; font-size: 13px; line-height: 1.55; color: var(--ink-2); }
.wvt-legal h4 { margin: 0 0 8px; font-size: 14px; color: var(--ink); }
.wvt-legal p { margin: 0 0 9px; }
.wvt-cta { align-self: flex-start; }
.wvt-end { text-align: center; max-width: 680px; margin: 20px auto 0; padding: 36px 20px; background: #fff; border: 1px solid var(--line); border-radius: 22px; }
.wvt-end h2 { font: 800 26px/1.2 var(--display); margin: 0 0 8px; }
.wvt-end p { color: var(--ink-2); margin: 0 auto 18px; }
.wvt-end .btn-dark { color: var(--ink); border-color: var(--line); }
body.mk .mk-dark .legal-hero .sec-sub { color: rgba(255, 255, 255, .74); }
body.mk .wvt-group > h2 { font-size: clamp(22px, 3vw, 28px); max-width: none; letter-spacing: -0.02em; line-height: 1.15; }
body.mk .wvt-end h2 { font-size: 26px; max-width: none; margin-inline: auto; }
body.mk .wvt-blurb { max-width: none; }

/* The engine hides the guardian's "participant name" with [hidden]; .pf-f sets display:block, so restore hiding. */
.pf-f[hidden] { display: none; }
.wv-biz-addr { font-size: 13px; color: #6b7280; line-height: 1.45; overflow-wrap: anywhere; }
.wv-biz-addr:empty { display: none; }
