.jtv-app--admin .jtv-filterbar { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(150px, 1fr)); gap: 10px; margin-bottom: 16px; }
.jtv-app--admin .jtv-section { margin-top: 28px; }
.jtv-app--admin .jtv-finance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.jtv-app--admin .jtv-job-form section { margin-bottom: 20px; padding: 20px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius); background: var(--jtv-surface); }
.jtv-app .jtv-time-fields { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(150px, 1.6fr) repeat(3, minmax(80px, 1fr)); gap: 12px; min-width: 0; padding: 14px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); }
.jtv-app .jtv-time-fields legend { padding: 0 6px; font-weight: 750; }
.jtv-app .jtv-time-fields label { min-width: 0; margin: 0; }
.jtv-app .jtv-time-fields__historical { grid-column: 1 / -1; margin: 0; }
.jtv-app .jtv-location { display: grid; gap: 12px; margin-top: 18px; }
.jtv-app .jtv-location-search { display: grid; gap: 6px; }
.jtv-app .jtv-location-search { position: relative; }
.jtv-app .jtv-address-suggestions { position: absolute; top: calc(100% - 22px); right: 0; left: 0; z-index: 12; display: grid; overflow: hidden; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface); box-shadow: var(--jtv-shadow); }
.jtv-app .jtv-address-suggestions[hidden] { display: none; }
.jtv-app .jtv-address-suggestion { display: grid; min-height: 58px; gap: 3px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--jtv-border); background: var(--jtv-surface); color: var(--jtv-text); font: inherit; text-align: left; cursor: pointer; }
.jtv-app .jtv-address-suggestion:last-child { border-bottom: 0; }
.jtv-app .jtv-address-suggestion:hover, .jtv-app .jtv-address-suggestion:focus, .jtv-app .jtv-address-suggestion.is-active { outline: 0; background: var(--jtv-surface-muted); }
.jtv-app .jtv-address-suggestion span { color: var(--jtv-muted); font-size: .88rem; }
.jtv-app .jtv-address-attribution { color: var(--jtv-muted); font-size: .78rem; }
.jtv-app .jtv-address-attribution a { color: inherit; }
.jtv-app .jtv-location-map { width: 100%; height: clamp(220px, 36vw, 340px); overflow: hidden; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius); }
.jtv-app .jtv-location-status { min-height: 48px; padding: 12px 14px; margin: 0; border-radius: var(--jtv-radius-sm); background: var(--jtv-surface-muted); white-space: pre-line; }
.jtv-app .jtv-location-status--success { background: #dcf5e9; color: #0b6b45; }
.jtv-app .jtv-location-status--warning { background: #fff3d6; color: #754700; }
.jtv-app .jtv-location-status--error { background: #fee4e2; color: #8d2018; }
.jtv-app .jtv-location-fallback, .jtv-app .jtv-item-advanced { padding: 12px 14px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface-muted); }
.jtv-app .jtv-location-fallback summary, .jtv-app .jtv-item-advanced summary { min-height: 44px; cursor: pointer; font-weight: 750; }
.jtv-app .jtv-location-summary { margin-top: 16px; padding: 14px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface-muted); }
.jtv-app .jtv-item-conditional { padding: 14px; border-left: 4px solid var(--jtv-primary); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface-muted); }
.jtv-app .jtv-item-calculation { display: grid; align-content: center; gap: 4px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface-muted); }
.jtv-app .jtv-item-calculation span { color: var(--jtv-muted); font-size: .82rem; font-weight: 650; }
.jtv-app .jtv-item-calculation output { font-weight: 750; }
.jtv-app .jtv-settings-secret { padding: 18px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius); background: var(--jtv-surface-muted); }
.jtv-app .jtv-pricing-snapshot { padding: 12px 14px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface-muted); }
.jtv-app .jtv-pricing-snapshot summary { min-height: 36px; cursor: pointer; font-weight: 750; }
.jtv-app .jtv-pricing-snapshot-row > td { padding: 8px; background: var(--jtv-surface-muted); }
.jtv-app .jtv-pricing-components + .jtv-pricing-components { margin-top: 18px; }
.jtv-app .jtv-pricing-components h4 { margin: 12px 0 8px; }
.jtv-app .jtv-pricing-components code { overflow-wrap: anywhere; }
.jtv-app .jtv-pricing-preview-adjustments { margin-top: 14px; }
.jtv-app .jtv-pricing-preview-lines { margin-top: 16px; }
.jtv-app .jtv-pricing-preview-line { padding: 14px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius-sm); background: var(--jtv-surface); }
.jtv-app .jtv-pricing-preview-line > h4 { margin: 0 0 10px; }
.jtv-app [data-pricing-preview-status] { flex: 1 1 280px; margin: 0; }
.jtv-app .jtv-item-summary { display: grid; grid-template-columns: max-content minmax(120px, 1fr); gap: 3px 8px; margin: 0; }
.jtv-app .jtv-item-summary dt { color: var(--jtv-muted); font-size: .78rem; font-weight: 700; }
.jtv-app .jtv-item-summary dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.jtv-app .jtv-crew-summary { margin: 10px 0; }
.jtv-app .jtv-crew-summary p { margin: 4px 0 0; color: var(--jtv-muted); }

.jtv-app .jtv-dashboard { width: min(100%, 1480px); min-width: 0; margin: 0 auto; color: var(--jtv-text); font-size: 17px; }
.jtv-app .jtv-dashboard__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.jtv-app .jtv-dashboard__header h1 { margin: 0; font-size: clamp(26px, 3vw, 36px); font-weight: 800; line-height: 1.15; }
.jtv-app .jtv-dashboard__header p { margin: 8px 0 2px; color: var(--jtv-muted); }
.jtv-app .jtv-dashboard__header small { color: var(--jtv-muted); font-variant-numeric: tabular-nums; }
.jtv-app .jtv-dashboard__header .jtv-button { min-width: 130px; }
.jtv-app .jtv-eyebrow { display: block; margin: 0 0 6px; color: var(--jtv-muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jtv-app .jtv-dashboard__primary { width: min(100%, 360px); min-height: 66px; margin-top: 18px; border-radius: 14px; font-size: 19px; font-weight: 800; text-transform: uppercase; }
.jtv-app .jtv-dashboard__metric-section { min-width: 0; margin-top: 28px; }
.jtv-app .jtv-dashboard__metric-section > .jtv-dashboard__section-heading { align-items: end; }
.jtv-app .jtv-dashboard__metric-section > .jtv-dashboard__section-heading p { max-width: 760px; margin: 4px 0 0; color: var(--jtv-muted); font-size: .88rem; }
.jtv-app .jtv-dashboard__metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.jtv-app .jtv-dashboard .jtv-card { padding: 18px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius); background: var(--jtv-surface); box-shadow: var(--jtv-shadow-sm); }
.jtv-app .jtv-dashboard .jtv-card--metric { display: grid; min-width: 0; min-height: 132px; align-content: space-between; gap: 12px; color: var(--jtv-text); text-decoration: none; transition: transform var(--jtv-transition), border-color var(--jtv-transition), box-shadow var(--jtv-transition); }
.jtv-app .jtv-dashboard .jtv-card--metric:hover { transform: translateY(-2px); border-color: var(--jtv-primary); box-shadow: var(--jtv-shadow); }
.jtv-app .jtv-dashboard .jtv-card--metric:active { transform: translateY(0) scale(.99); }
.jtv-app .jtv-dashboard .jtv-card--metric strong { display: block; overflow-wrap: normal; font-size: clamp(25px, 2.5vw, 38px); font-weight: 820; font-variant-numeric: tabular-nums; line-height: 1; word-break: normal; }
.jtv-app .jtv-dashboard .jtv-card--metric small { color: var(--jtv-muted); }
.jtv-app .jtv-dashboard .jtv-card--active { border: 2px solid var(--jtv-primary); background: var(--jtv-primary-soft); }
.jtv-app .jtv-dashboard__metric-heading { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 8px; }
.jtv-app .jtv-dashboard__metric-heading .jtv-eyebrow { min-width: 0; overflow-wrap: normal; word-break: normal; }
.jtv-app .jtv-dashboard__metric-heading .jtv-icon { flex: 0 0 var(--jtv-icon-sm); color: var(--jtv-muted); }
.jtv-app .jtv-dashboard h2 { margin: 0 0 12px; font-size: 20px; font-weight: 800; }
.jtv-app .jtv-dashboard__section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.jtv-app .jtv-dashboard__section-heading h2, .jtv-app .jtv-dashboard__section-heading h3 { margin: 0; }
.jtv-app .jtv-dashboard__filters { display: grid; grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(180px, .55fr)) max-content; align-items: end; gap: 12px; padding: 16px 18px; margin-top: 24px; border: 1px solid #DBD8D2; border-radius: 16px; background: #FFF; }
.jtv-app .jtv-dashboard__filters h2, .jtv-app .jtv-dashboard__filters p { margin: 0; }
.jtv-app .jtv-dashboard__filters p { color: #6B6660; font-size: .84rem; }
.jtv-app .jtv-dashboard__filters label { display: grid; gap: 5px; margin: 0; color: #6B6660; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.jtv-app .jtv-dashboard__filters select { min-height: 48px; color: #17140F; font-size: 16px; letter-spacing: 0; text-transform: none; }
.jtv-app .jtv-dashboard__priority-grid, .jtv-app .jtv-dashboard__planning-grid, .jtv-app .jtv-dashboard__lower-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 20px; align-items: start; }
.jtv-app .jtv-dashboard__insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.jtv-app .jtv-dashboard__insight { min-width: 0; }
.jtv-app .jtv-dashboard__insight .jtv-dashboard__section-heading { align-items: center; }
.jtv-app .jtv-dashboard__insight .jtv-dashboard__section-heading > div { display: flex; min-width: 0; align-items: center; gap: 10px; }
.jtv-app .jtv-dashboard__insight .jtv-dashboard__section-heading .jtv-icon { width: 22px; height: 22px; color: var(--jtv-primary); }
.jtv-app .jtv-dashboard__insight dl { display: grid; gap: 0; margin: 16px 0 0; }
.jtv-app .jtv-dashboard__insight dl > div { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--jtv-border); }
.jtv-app .jtv-dashboard__insight dl > div:last-child { border-bottom: 0; }
.jtv-app .jtv-dashboard__insight dt { min-width: 0; color: var(--jtv-muted); }
.jtv-app .jtv-dashboard__insight dd { margin: 0; font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
.jtv-app .jtv-dashboard__section { min-width: 0; }
.jtv-app .jtv-dashboard__jobs, .jtv-app .jtv-dashboard__attention-list, .jtv-app .jtv-dashboard__technicians, .jtv-app .jtv-dashboard__activity-list { display: grid; gap: 12px; }
.jtv-app .jtv-dashboard__technicians { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jtv-app .jtv-dashboard-job { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(170px, 1.25fr) minmax(170px, 1.25fr) minmax(120px, .75fr) minmax(120px, .75fr) minmax(100px, .6fr); align-items: center; gap: 14px; }
.jtv-app .jtv-dashboard-job > div { display: grid; min-width: 0; gap: 4px; }
.jtv-app .jtv-dashboard-job strong, .jtv-app .jtv-dashboard-job small, .jtv-app .jtv-dashboard-job a { overflow-wrap: anywhere; }
.jtv-app .jtv-dashboard-job small { color: #6B6660; }
.jtv-app .jtv-dashboard-job__identity { justify-items: start; }
.jtv-app .jtv-dashboard-job__money strong { font-size: 1.18rem; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-dashboard__planning-grid .jtv-dashboard-job { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jtv-app .jtv-dashboard__planning-grid .jtv-dashboard-job > div:last-child { grid-column: 1 / -1; }
.jtv-app .jtv-dashboard-attention { display: grid; gap: 8px; padding: 14px 16px; border-left-width: 4px; }
.jtv-app .jtv-dashboard-attention > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.jtv-app .jtv-dashboard-attention p { margin: 0; }
.jtv-app .jtv-dashboard-attention--urgent { border-color: #A82A20; background: #FBE9E7; }
.jtv-app .jtv-dashboard-attention--attention { border-color: #C8791A; background: #FFF3D6; }
.jtv-app .jtv-dashboard-attention--info { border-color: #DBD8D2; background: #FFF; }
.jtv-app .jtv-badge--urgent { background: #FBE9E7; color: #A82A20; }
.jtv-app .jtv-badge--attention { background: #FFF3D6; color: #754700; }
.jtv-app .jtv-badge--info { background: #EDEDEA; color: #6B6660; }
.jtv-app .jtv-dashboard-technician { display: grid; align-content: start; gap: 12px; }
.jtv-app .jtv-dashboard-technician p { margin: 0; color: #6B6660; }
.jtv-app .jtv-dashboard-technician__current { display: grid; gap: 5px; padding: 12px; border: 2px solid #0E7A46; border-radius: 12px; background: #E4F2EA; }
.jtv-app .jtv-dashboard-technician__current small { color: #0A653A; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-dashboard__financial { display: grid; gap: 0; padding: 0 !important; overflow: hidden; }
.jtv-app .jtv-dashboard__financial > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 13px 18px; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-dashboard__financial > div:last-child { border-bottom: 0; }
.jtv-app .jtv-dashboard__financial span { color: #6B6660; }
.jtv-app .jtv-dashboard__financial strong { text-align: right; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-dashboard__balances { padding: 0 !important; margin-top: 12px; overflow: hidden; }
.jtv-app .jtv-dashboard__balances summary { padding: 15px 18px; cursor: pointer; font-weight: 800; }
.jtv-app .jtv-dashboard__balances a { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 2px 12px; padding: 12px 18px; border-top: 1px solid #DBD8D2; color: #17140F; text-decoration: none; }
.jtv-app .jtv-dashboard__balances small { grid-column: 1 / -1; color: #6B6660; }
.jtv-app .jtv-dashboard__activity { display: grid; gap: 6px; }
.jtv-app .jtv-dashboard__activity small { color: #6B6660; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-dashboard__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.jtv-app .jtv-dashboard__links .jtv-button { width: 100%; min-height: 54px; }
.jtv-app .jtv-dashboard .jtv-empty { padding: 18px; border: 1px solid #DBD8D2; border-radius: 16px; background: #FFF; }
.jtv-app .jtv-dashboard .jtv-empty p { margin-bottom: 0; color: #6B6660; }
.jtv-app .jtv-text-danger { color: #A82A20; }
@media (max-width: 1279px) {
  .jtv-app .jtv-dashboard__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jtv-app .jtv-dashboard__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-dashboard__filters > div { grid-column: 1 / -1; }
  .jtv-app .jtv-dashboard-job { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.jtv-app .jtv-contact-form-list { display: grid; gap: var(--jtv-space-3); }
.jtv-app .jtv-contact-form-row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) auto; align-items: center; gap: var(--jtv-space-4); padding: var(--jtv-space-4); border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius); background: var(--jtv-surface); color: var(--jtv-text); text-decoration: none; box-shadow: var(--jtv-shadow-sm); }
.jtv-app .jtv-contact-form-row:hover { border-color: var(--jtv-primary); box-shadow: var(--jtv-shadow); }
.jtv-app .jtv-contact-form-row > span { display: grid; gap: var(--jtv-space-1); min-width: 0; }
.jtv-app .jtv-contact-form-row > span:last-child { justify-items: end; }
.jtv-app .jtv-contact-form-row small { color: var(--jtv-muted); overflow-wrap: anywhere; }
.jtv-app .jtv-contact-form-row__actions { grid-column: 1 / -1; margin-top: 0; }
.jtv-app .jtv-contact-form-row__actions .jtv-button { min-width: 0; }
.jtv-app .jtv-contact-form-detail { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr); gap: var(--jtv-space-5); align-items: start; }
.jtv-app .jtv-contact-form-detail .jtv-card h2 { margin-top: 0; }
.jtv-app .jtv-definition-list { display: grid; gap: 0; margin: 0; }
.jtv-app .jtv-definition-list > div { display: grid; grid-template-columns: minmax(9rem, .7fr) minmax(0, 1.3fr); gap: var(--jtv-space-3); padding: var(--jtv-space-3) 0; border-bottom: 1px solid var(--jtv-border); }
.jtv-app .jtv-definition-list > div:last-child { border-bottom: 0; }
.jtv-app .jtv-definition-list dt { color: var(--jtv-muted); font-weight: 700; }
.jtv-app .jtv-definition-list dd { margin: 0; overflow-wrap: anywhere; }
.jtv-app .jtv-definition-list .jtv-contact-form-total { font-size: 1.15rem; font-weight: 800; }

@media (max-width: 760px) {
  .jtv-app .jtv-contact-form-row,
  .jtv-app .jtv-contact-form-detail { grid-template-columns: minmax(0, 1fr); }
  .jtv-app .jtv-contact-form-row > span:last-child { justify-items: start; }
  .jtv-app .jtv-contact-form-row__actions { grid-template-columns: minmax(0, 1fr); }
  .jtv-app .jtv-definition-list > div { grid-template-columns: minmax(0, 1fr); gap: var(--jtv-space-1); }
}

@media (max-width: 1023px) {
  .jtv-app .jtv-dashboard__priority-grid, .jtv-app .jtv-dashboard__planning-grid, .jtv-app .jtv-dashboard__lower-grid, .jtv-app .jtv-dashboard__insight-grid { grid-template-columns: 1fr; }
  .jtv-app .jtv-dashboard__technicians { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .jtv-app .jtv-dashboard__header { display: grid; }
  .jtv-app .jtv-dashboard__header .jtv-button, .jtv-app .jtv-dashboard__primary { width: 100%; }
  .jtv-app .jtv-dashboard__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .jtv-app .jtv-dashboard .jtv-dashboard__metrics .jtv-card--metric { display: grid; min-width: 0; min-height: 116px; align-content: space-between; gap: 8px; padding: 12px; border-radius: 14px; }
  .jtv-app .jtv-dashboard .jtv-dashboard__metrics .jtv-card--metric .jtv-eyebrow { margin: 0; font-size: 10px; line-height: 1.35; letter-spacing: .05em; overflow-wrap: break-word; }
  .jtv-app .jtv-dashboard .jtv-dashboard__metrics .jtv-card--metric strong { overflow-wrap: normal; font-size: clamp(18px, 6vw, 24px); line-height: 1.08; word-break: normal; }
  .jtv-app .jtv-dashboard__filters, .jtv-app .jtv-dashboard__technicians, .jtv-app .jtv-dashboard-job, .jtv-app .jtv-dashboard__planning-grid .jtv-dashboard-job { grid-template-columns: 1fr; }
  .jtv-app .jtv-dashboard__filters > div, .jtv-app .jtv-dashboard__planning-grid .jtv-dashboard-job > div:last-child { grid-column: auto; }
  .jtv-app .jtv-dashboard__links { grid-template-columns: 1fr; }
}
@media (max-width: 359px) {
  .jtv-app .jtv-dashboard .jtv-dashboard__metrics .jtv-card--metric { min-height: 110px; padding: 10px; }
  .jtv-app .jtv-dashboard .jtv-dashboard__metrics .jtv-card--metric .jtv-eyebrow { font-size: 9px; letter-spacing: .025em; }
  .jtv-app .jtv-dashboard__insight dl > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .jtv-app .jtv-dashboard__insight dd { text-align: left; }
}

.jtv-app .jtv-quick-add { display: grid; width: min(100%, 1180px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 auto; font-size: 17px; }
.jtv-app .jtv-quick-add__progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 18px; }
.jtv-app .jtv-quick-add__progress, .jtv-app .jtv-quick-add__navigation, .jtv-app .jtv-quick-add [data-quick-step="2"], .jtv-app .jtv-quick-add [data-quick-step="3"], .jtv-app .jtv-quick-add [data-quick-step="4"] { grid-column: 1 / -1; }
.jtv-app .jtv-quick-add__progress span { display: grid; gap: 4px; color: #6B6660; font-size: 12px; font-weight: 750; text-align: center; }
.jtv-app .jtv-quick-add__progress b { display: grid; width: 34px; height: 34px; place-items: center; margin: 0 auto; border: 1px solid #DBD8D2; border-radius: 999px; background: #FFF; color: #17140F; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-quick-add__progress .is-active { color: #17140F; }
.jtv-app .jtv-quick-add__progress .is-active b { border: 2px solid #0E7A46; background: #E4F2EA; }
.jtv-app .jtv-quick-add section { min-width: 0; padding: 20px; border: 1px solid var(--jtv-border); border-radius: var(--jtv-radius); background: var(--jtv-surface); box-shadow: var(--jtv-shadow-sm); }
.jtv-app .jtv-quick-add input, .jtv-app .jtv-quick-add select, .jtv-app .jtv-quick-add textarea { min-height: 52px; font-size: 18px; }
.jtv-app .jtv-quick-add input:focus, .jtv-app .jtv-quick-add select:focus, .jtv-app .jtv-quick-add textarea:focus { border-color: #C8791A; outline: 3px solid rgba(200,121,26,.22); }
.jtv-app .jtv-choice-group { display: grid; min-width: 0; gap: 10px; padding: 0; border: 0; }
.jtv-app .jtv-choice-group legend { margin-bottom: 10px; font-size: 22px; font-weight: 800; }
.jtv-app .jtv-choice { display: flex; min-width: 0; min-height: 58px; align-items: center; gap: 12px; padding: 12px 14px; margin: 0; border: 1px solid var(--jtv-border-strong); border-radius: 14px; background: var(--jtv-surface); font-weight: 750; cursor: pointer; transition: transform 100ms ease, border-color var(--jtv-transition), background var(--jtv-transition), box-shadow var(--jtv-transition); }
.jtv-app .jtv-choice:hover { border-color: #8FAC9B; background: var(--jtv-surface-subtle); }
.jtv-app .jtv-choice:active { transform: scale(.995); }
.jtv-app .jtv-choice > span { min-width: 0; }
.jtv-app .jtv-choice-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jtv-app .jtv-choice-group legend { grid-column: 1 / -1; }
.jtv-app .jtv-choice:has(input:checked) { border-color: var(--jtv-primary); background: var(--jtv-primary-soft); color: var(--jtv-primary-strong); box-shadow: 0 0 0 1px var(--jtv-primary); }
.jtv-app .jtv-choice input { flex: 0 0 20px; width: 20px; height: 20px; min-width: 20px; min-height: 20px; margin: 0; }
.jtv-app .jtv-choice--service { display: grid; grid-template-columns: 46px minmax(0, 1fr) 20px; min-height: 84px; padding: 14px; }
.jtv-app button.jtv-choice--service { width: 100%; grid-template-columns: 46px minmax(0, 1fr); color: var(--jtv-text); text-align: left; }
.jtv-app .jtv-choice__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; background: var(--jtv-surface-muted); color: var(--jtv-primary); }
.jtv-app .jtv-choice:has(input:checked) .jtv-choice__icon { background: var(--jtv-primary); color: #fff; }
.jtv-app .jtv-choice__content { display: grid; min-width: 0; gap: 3px; }
.jtv-app .jtv-choice__title { display: block; min-width: 0; color: var(--jtv-text); font-size: 16px; line-height: 1.3; overflow-wrap: normal; word-break: normal; }
.jtv-app .jtv-choice__description { display: block; color: var(--jtv-muted); font-size: 13px; font-weight: 550; line-height: 1.35; overflow-wrap: normal; word-break: normal; }
.jtv-app .jtv-quick-add__navigation { position: sticky; bottom: 0; z-index: 3; display: grid; gap: 10px; padding: 14px 0; background: #EDEDEA; }
.jtv-app .jtv-quick-add__navigation > .jtv-button, .jtv-app .jtv-quick-add__navigation [data-quick-submit] .jtv-button { width: 100%; min-height: 66px; border-radius: 14px; font-size: 19px; font-weight: 800; text-transform: uppercase; }
/* Keep final-review fields reachable in short browser windows and landscape phones. */
@media (max-height: 640px) { .jtv-app .jtv-quick-add__navigation { position: static; } }
.jtv-app .jtv-quick-add .jtv-line-item { border: 1px solid #DBD8D2; border-radius: 16px; background: #FFF; }
.jtv-app .jtv-quick-add .jtv-quick-review { margin-bottom: 14px; box-shadow: none; }
.jtv-app .jtv-quick-review-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px; align-items: start; }
.jtv-app .jtv-quick-review-grid > * { min-width: 0; }
.jtv-app .jtv-quick-schedule-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, 1fr); gap: 20px; align-items: start; }
.jtv-app .jtv-quick-schedule-grid > * { min-width: 0; }
.jtv-app .jtv-schedule-context { margin: 0; }
.jtv-app .jtv-schedule-context h3 { margin-top: 0; }
.jtv-app .jtv-schedule-context [data-technician-availability] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.jtv-app .jtv-schedule-context [data-technician-availability] p { margin: 0; padding: 10px; border: 1px solid #DBD8D2; border-radius: 10px; }
.jtv-app .jtv-pricing-components--human .jtv-item-summary { grid-template-columns: minmax(0, 1fr) max-content; }
.jtv-app .jtv-pricing-components--human .jtv-item-summary dd { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
@media (max-width: 1023px) { .jtv-app .jtv-quick-add { display: block; width: min(100%, 760px); } .jtv-app .jtv-quick-review-grid, .jtv-app .jtv-quick-schedule-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .jtv-app .jtv-choice-group { grid-template-columns: 1fr; } }
@media (max-width: 430px) { .jtv-app .jtv-quick-add__progress span { font-size: 10px; } }

.jtv-app .jtv-technician-profile { width: min(100%, 1160px); margin: 0 auto; color: #17140F; font-size: 17px; }
.jtv-app .jtv-technician-profile .jtv-page-header { align-items: end; }
.jtv-app .jtv-technician-profile .jtv-back-link { display: inline-block; margin-bottom: 8px; font-weight: 750; }
.jtv-app .jtv-technician-profile .jtv-card { margin-top: 14px; padding: 18px; border: 1px solid #DBD8D2; border-radius: 16px; background: #FFF; box-shadow: var(--jtv-shadow); }
.jtv-app .jtv-technician-profile .jtv-card h2 { margin: 0 0 14px; font-size: 20px; font-weight: 800; }
.jtv-app .jtv-technician-profile .jtv-card h3 { margin: 20px 0 10px; font-size: 17px; font-weight: 800; }
.jtv-app .jtv-technician-profile .jtv-card--metric { margin-top: 0; }
.jtv-app .jtv-technician-profile .jtv-card--metric span { color: #6B6660; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jtv-app .jtv-technician-profile .jtv-card--metric strong { display: block; margin-top: 6px; font-size: 30px; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-technician-summary__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-technician-summary__card { min-width: 0; min-height: 118px; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; background: #FFF; }
.jtv-app .jtv-technician-summary__card > span { display: block; margin-bottom: 8px; color: #6B6660; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jtv-app .jtv-technician-summary__card > strong { display: block; overflow-wrap: anywhere; font-size: 23px; font-weight: 800; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-technician-summary__card > small { display: block; margin-top: 6px; color: #6B6660; line-height: 1.35; }
.jtv-app .jtv-technician-summary__date { font-size: 17px !important; line-height: 1.35; }
.jtv-app .jtv-technician-summary__job { display: block; color: #17140F; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.jtv-app .jtv-technician-summary__job strong,
.jtv-app .jtv-technician-summary__job small { display: block; }
.jtv-app .jtv-technician-summary__job small { margin-top: 4px; color: #6B6660; line-height: 1.35; }
.jtv-app .jtv-technician-summary__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.jtv-app .jtv-technician-summary__actions .jtv-button { min-width: 0; min-height: 54px; }
.jtv-app .jtv-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.jtv-app .jtv-card__heading h2 { margin: 0; }

.jtv-app .jtv-pricing-pay { max-width: 560px; margin-inline: auto; }
.jtv-app .jtv-rate-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.jtv-app .jtv-rate-tab { min-height: 46px; padding: 9px 14px; border: 1px solid #DBD8D2; border-radius: 999px; background: #FFF; color: #17140F; font: inherit; font-weight: 800; cursor: pointer; }
.jtv-app .jtv-rate-tab.is-active { border-color: #0E7A46; background: #E4F2EA; color: #0E7A46; }
.jtv-app .jtv-rate-card { padding: 0; overflow: clip; }
.jtv-app .jtv-rate-card > summary { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; }
.jtv-app .jtv-rate-card > summary::-webkit-details-marker { display: none; }
.jtv-app .jtv-rate-card > summary span:first-child { min-width: 0; }
.jtv-app .jtv-rate-card > summary strong, .jtv-app .jtv-rate-card > summary small { display: block; }
.jtv-app .jtv-rate-card > summary small { margin-top: 4px; color: #6B6660; font-size: 12px; }
.jtv-app .jtv-rate-card__body { padding: 0 18px 18px; border-top: 1px solid #DBD8D2; }
.jtv-app .jtv-rate-row { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-rate-row:last-of-type { border-bottom: 0; }
.jtv-app .jtv-rate-row span { color: #6B6660; }
.jtv-app .jtv-rate-row span small { display: block; margin-top: 2px; color: #6B6660; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.jtv-app .jtv-rate-row strong { color: #17140F; text-align: right; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-rate-card__body > .jtv-button { width: 100%; min-height: 58px; margin-top: 14px; }
.jtv-app .jtv-search { display: block; margin-top: 16px; }
.jtv-app .jtv-search input { width: 100%; min-height: 54px; margin-top: 6px; }

@media (max-width: 640px) {
  .jtv-app .jtv-rate-tab { flex: 1 1 calc(50% - 8px); border-radius: 14px; }
  .jtv-app .jtv-rate-row { align-items: flex-start; flex-direction: column; gap: 4px; padding: 12px 0; }
  .jtv-app .jtv-rate-row strong { text-align: left; }
}
.jtv-app .jtv-record-row { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-record-row:last-child { border-bottom: 0; }
.jtv-app .jtv-record-row span { color: #6B6660; font-size: 14px; }
.jtv-app .jtv-technician-profile .jtv-stack > .jtv-button { width: 100%; min-height: 54px; }
.jtv-app .jtv-availability-week { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.jtv-app .jtv-availability-day { min-width: 0; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; }
.jtv-app .jtv-availability-day legend { padding: 0 6px; font-weight: 800; }
.jtv-app .jtv-availability-day__times { display: grid; gap: 10px; margin: 12px 0; }
.jtv-app .jtv-availability-day__times > div > span { display: block; margin-bottom: 5px; color: #6B6660; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.jtv-app .jtv-availability-day__times .jtv-inline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jtv-app .jtv-availability-day__times select { min-width: 0; }
.jtv-app .jtv-availability-day > .jtv-button { width: 100%; }
@media (max-width: 700px) { .jtv-app .jtv-availability-week { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .jtv-app .jtv-technician-summary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .jtv-app .jtv-technician-profile .jtv-page-header,
  .jtv-app .jtv-card__heading { align-items: stretch; flex-direction: column; }
  .jtv-app .jtv-technician-summary__grid,
  .jtv-app .jtv-technician-summary__actions { grid-template-columns: 1fr; }
}

.jtv-app .jtv-payments {
  width: min(100%, 1480px);
  min-width: 0;
  margin: 0 auto;
  color: #17140F;
  font-size: 17px;
}
.jtv-app .jtv-payments__header { align-items: flex-end; }
.jtv-app .jtv-payments__header h1 { margin: 0; font-size: clamp(26px, 3vw, 36px); font-weight: 800; }
.jtv-app .jtv-payments__header p { max-width: 760px; margin-bottom: 0; color: #6B6660; }
.jtv-app .jtv-payments__tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 22px 0;
}
.jtv-app .jtv-payments__tab {
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid #DBD8D2;
  border-radius: 14px;
  background: #FFF;
  color: #17140F;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.jtv-app .jtv-payments__tab.is-active { border: 2px solid #0E7A46; background: #E4F2EA; color: #0E7A46; }
.jtv-app .jtv-payments__section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.jtv-app .jtv-payments__section-heading h2,
.jtv-app .jtv-payments__section-heading h3 { margin: 0; font-weight: 800; }
.jtv-app .jtv-payments__section-heading p { margin: 6px 0 0; color: #6B6660; }
.jtv-app .jtv-payments__metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.jtv-app .jtv-payments__metrics .jtv-card--metric { min-width: 0; padding: 18px; }
.jtv-app .jtv-payments__metrics .jtv-card--metric strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: clamp(25px, 2.5vw, 40px);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
}
.jtv-app .jtv-payments__overview-grid,
.jtv-app .jtv-payments__preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.jtv-app .jtv-payments__overview-grid > *,
.jtv-app .jtv-payments__preview-grid > * { min-width: 0; }
.jtv-app .jtv-payments__action-card {
  width: 100%;
  min-height: 82px;
  color: #17140F;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.jtv-app .jtv-payments__action-card strong,
.jtv-app .jtv-payments__action-card span { display: block; }
.jtv-app .jtv-payments__action-card span { margin-top: 5px; color: #6B6660; }
.jtv-app .jtv-payments__filters {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(190px, .5fr) max-content;
  align-items: end;
  gap: 12px;
  padding: 18px;
  margin: 18px 0;
  border: 1px solid #DBD8D2;
  border-radius: 16px;
  background: #FFF;
}
.jtv-app .jtv-payments__filters label { display: grid; min-width: 0; gap: 6px; margin: 0; font-weight: 800; }
.jtv-app .jtv-payments__invoice-list { display: grid; gap: 12px; }
.jtv-app .jtv-payments__candidate-list { display: grid; gap: 12px; margin-top: 16px; }
.jtv-app .jtv-payments__candidate-card { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(130px, max-content) max-content; align-items: center; gap: 18px; }
.jtv-app .jtv-payments__candidate-card > div { display: grid; min-width: 0; gap: 4px; }
.jtv-app .jtv-payments__candidate-card small { color: #6B6660; }
.jtv-app .jtv-payments__invoice-card {
  display: grid;
  grid-template-columns: minmax(210px, .75fr) minmax(280px, 1fr) minmax(170px, .45fr) max-content;
  align-items: center;
  gap: 18px;
}
.jtv-app .jtv-payments__invoice-card h3 { margin: 8px 0 4px; }
.jtv-app .jtv-payments__invoice-card p { margin: 0; }
.jtv-app .jtv-payments__invoice-card .jtv-kv { grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr); }
.jtv-app .jtv-payments__invoice-dates { display: grid; gap: 5px; color: #6B6660; }
.jtv-app .jtv-payments__invoice-total { display: grid; gap: 3px; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-payments__invoice-total span,
.jtv-app .jtv-payments__invoice-total small { color: #6B6660; }
.jtv-app .jtv-payments__invoice-total strong { font-size: 24px; }
.jtv-app .jtv-payments__invoice-detail { min-width: 0; }
.jtv-app .jtv-payments__invoice-detail > .jtv-page-header { align-items: flex-end; }
.jtv-app .jtv-payments__invoice-heading-actions { display: grid; justify-items: end; gap: 10px; }
.jtv-app .jtv-payments__hero-total { font-size: clamp(30px, 4vw, 46px); font-variant-numeric: tabular-nums; }
.jtv-app .jtv-payments__replica { overflow: hidden; }
.jtv-app .jtv-payments__replica-brand { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-payments__replica-brand img { width: auto; max-width: 180px; height: auto; max-height: 90px; object-fit: contain; }
.jtv-app .jtv-payments__replica-brand h3,
.jtv-app .jtv-payments__replica-brand p { margin: 0; }
.jtv-app .jtv-payments__replica h4 { margin: 0 0 12px; }
.jtv-app .jtv-payments__line-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-payments__line-item { min-width: 0; padding: 16px; border: 1px solid #DBD8D2; border-radius: 14px; background: #FFF; }
.jtv-app .jtv-payments__line-item p { color: #6B6660; overflow-wrap: anywhere; }
.jtv-app .jtv-payments__ready { border: 2px solid #0E7A46; background: #E4F2EA; }
.jtv-app .jtv-payments__prepared { border: 2px solid #0E7A46; background: #E4F2EA; }
.jtv-app .jtv-payments__approval-actions { display: grid; gap: 14px; }
.jtv-app .jtv-payments__final-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.jtv-app .jtv-payments__final-actions .jtv-button { min-height: 58px; padding-inline: 14px; white-space: normal; }
.jtv-app .jtv-payments__confirmation[data-service-confirmation-delivery] { border: 2px solid #0E7A46; background: #E4F2EA; }
.jtv-app .jtv-payments__delivery-details { grid-template-columns: minmax(170px, .4fr) minmax(0, 1fr); }
.jtv-app .jtv-payments__delivery-details dd,
.jtv-app .jtv-payments__message,
.jtv-app .jtv-payments .jtv-wrap { min-width: 0; overflow-wrap: anywhere; white-space: pre-line; }
.jtv-app .jtv-payments__delivery-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.jtv-app .jtv-payments__delivery-actions .jtv-button { min-height: 58px; white-space: normal; }
.jtv-app .jtv-payments__delivery-history summary { min-height: 44px; font-weight: 800; cursor: pointer; }
.jtv-app .jtv-payments__delivery-history ol,
.jtv-app .jtv-payments__test-steps { display: grid; gap: 10px; padding-left: 24px; }
.jtv-app .jtv-payments__delivery-history li,
.jtv-app .jtv-payments__test-steps li { padding-left: 4px; }
.jtv-app .jtv-payments__delivery-history li strong,
.jtv-app .jtv-payments__delivery-history li span,
.jtv-app .jtv-payments__test-steps li strong,
.jtv-app .jtv-payments__test-steps li span { display: block; overflow-wrap: anywhere; }
.jtv-app .jtv-payments__delivery-history li span,
.jtv-app .jtv-payments__test-steps li span { margin-top: 3px; color: #6B6660; }
.jtv-app .jtv-payments__testing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.jtv-app .jtv-payments__testing-grid > .jtv-card { display: grid; min-width: 0; align-content: start; box-shadow: none; }
.jtv-app .jtv-payments__testing-grid label { display: grid; gap: 6px; font-weight: 800; }
.jtv-app .jtv-payments__test-steps .is-pass::marker { color: #0E7A46; }
.jtv-app .jtv-payments__test-steps .is-fail::marker { color: #A82A20; }
.jtv-app .jtv-payments .jtv-button--full { width: 100%; min-height: 58px; }
.jtv-app .jtv-payments__legacy-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 260px)); gap: 12px; margin-top: 18px; }
.jtv-app .jtv-payments__export-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.jtv-app .jtv-payments__export-grid .jtv-card { display: grid; min-width: 0; align-content: start; }
.jtv-app .jtv-payments__export-grid .jtv-button { align-self: end; }
.jtv-app .jtv-payments__square { min-width: 0; }
.jtv-app .jtv-payments__square-state { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.jtv-app .jtv-payments__square-state > div { min-width: 0; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; background: #FFF; }
.jtv-app .jtv-payments__square-state span,
.jtv-app .jtv-payments__square-state strong { display: block; overflow-wrap: anywhere; }
.jtv-app .jtv-payments__square-state span { color: #6B6660; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.jtv-app .jtv-payments__square-state strong { margin-top: 5px; }
.jtv-app .jtv-payments__locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.jtv-app .jtv-payments__location { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; background: #FFF; }
.jtv-app .jtv-payments__location.is-selected { border: 2px solid #0E7A46; background: #E4F2EA; }
.jtv-app .jtv-payments__location > div { display: grid; min-width: 0; gap: 4px; }
.jtv-app .jtv-payments__location strong,
.jtv-app .jtv-payments__location small { overflow-wrap: anywhere; }
.jtv-app .jtv-payments__location small { color: #6B6660; }
.jtv-app .jtv-payments__square-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.jtv-app .jtv-payments__square-actions .jtv-button { min-height: 58px; white-space: normal; }
.jtv-app .jtv-payments .jtv-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jtv-app .jtv-payments .jtv-field--full { grid-column: 1 / -1; }
.jtv-app .jtv-payments__price-adjustment-line { min-width: 0; margin: 0; }
.jtv-app .jtv-payments__price-adjustment-line legend { padding: 0 6px; font-size: 18px; font-weight: 800; }
.jtv-app .jtv-payments__price-adjustment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.jtv-app .jtv-payments__price-adjustment-grid > section { display: grid; min-width: 0; gap: 10px; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; }
.jtv-app .jtv-payments__price-adjustment-grid h4 { margin: 0; }
.jtv-app .jtv-payments__price-adjustment-grid label { display: grid; gap: 6px; font-weight: 800; }
.jtv-app .jtv-payments__range { display: grid; gap: 14px; }
.jtv-app .jtv-payments__range fieldset { min-width: 0; padding: 0; border: 0; }
.jtv-app .jtv-payments__range legend { margin-bottom: 8px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6B6660; }
.jtv-app .jtv-payments__range .jtv-choice-group { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.jtv-app .jtv-payments__chart { overflow: hidden; }
.jtv-app .jtv-payments__chart svg { display: block; width: 100%; min-height: 220px; margin-top: 14px; }
.jtv-app .jtv-payments__chart line { stroke: #DBD8D2; stroke-width: 2; }
.jtv-app .jtv-payments__chart rect { fill: #0E7A46; }
.jtv-app .jtv-payments__chart rect:focus { outline: 3px solid #C8791A; outline-offset: 2px; }
.jtv-app .jtv-payments__chart text { fill: #6B6660; font-size: 13px; }
.jtv-app .jtv-payments__chart-dates { display: flex; justify-content: space-between; gap: 12px; color: #6B6660; font-size: 13px; }
.jtv-app .jtv-payments__payment-list,
.jtv-app .jtv-payments__technician-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.jtv-app .jtv-payments__payment-card,
.jtv-app .jtv-payments__technician-card { display: grid; min-width: 0; align-content: start; gap: 14px; }
.jtv-app .jtv-payments__payment-card h3,
.jtv-app .jtv-payments__technician-card h3 { margin: 5px 0; }
.jtv-app .jtv-payments__payment-card .jtv-button,
.jtv-app .jtv-payments__technician-card .jtv-actions { align-self: end; }

@media (max-width: 1023px) {
  .jtv-app .jtv-payments__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-payments__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-payments__delivery-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-payments__final-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-payments__square-state { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-payments__range .jtv-choice-group { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .jtv-app .jtv-payments__header,
  .jtv-app .jtv-payments__section-heading,
  .jtv-app .jtv-payments__invoice-detail > .jtv-page-header { align-items: stretch; flex-direction: column; }
  .jtv-app .jtv-payments__invoice-heading-actions { justify-items: stretch; }
  .jtv-app .jtv-payments__overview-grid,
  .jtv-app .jtv-payments__preview-grid,
  .jtv-app .jtv-payments__line-items,
  .jtv-app .jtv-payments__export-grid,
  .jtv-app .jtv-payments__locations,
  .jtv-app .jtv-payments__square-actions,
  .jtv-app .jtv-payments__testing-grid,
  .jtv-app .jtv-payments__price-adjustment-grid,
  .jtv-app .jtv-payments .jtv-form-grid { grid-template-columns: 1fr; }
  .jtv-app .jtv-payments__invoice-card { grid-template-columns: minmax(0, 1fr); }
  .jtv-app .jtv-payments__payment-list,
  .jtv-app .jtv-payments__technician-list { grid-template-columns: 1fr; }
  .jtv-app .jtv-payments__candidate-card { grid-template-columns: minmax(0, 1fr); }
  .jtv-app .jtv-payments__filters { grid-template-columns: 1fr; }
  .jtv-app .jtv-payments .jtv-field--full { grid-column: auto; }
}

@media (max-width: 560px) {
  .jtv-app .jtv-payments__tabs,
  .jtv-app .jtv-payments__metrics,
  .jtv-app .jtv-payments__delivery-actions,
  .jtv-app .jtv-payments__final-actions,
  .jtv-app .jtv-payments__legacy-actions { grid-template-columns: 1fr; }
  .jtv-app .jtv-payments__range .jtv-choice-group { grid-template-columns: 1fr; }
  .jtv-app .jtv-payments__delivery-details { grid-template-columns: 1fr; gap: 3px; }
  .jtv-app .jtv-payments__delivery-details dd { margin: 0 0 12px; }
}

@media print {
  .jtv-app * { visibility: hidden; }
  .jtv-app [data-invoice-replica],
  .jtv-app [data-invoice-replica] * { visibility: visible; }
  .jtv-app [data-invoice-replica] { position: absolute; inset: 0; width: 100%; padding: 0; border: 0; box-shadow: none; }
}
.jtv-app .jtv-integrations {
  width: min(100%, 900px);
  margin-inline: auto;
}

.jtv-app .jtv-integrations__locations {
  display: grid;
  gap: 12px;
}

.jtv-app .jtv-integrations__location {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px;
}

.jtv-app .jtv-integrations__location p {
  margin-block: 4px;
}

@media (max-width: 600px) {
  .jtv-app .jtv-integrations__location {
    align-items: stretch;
    flex-direction: column;
  }

  .jtv-app .jtv-integrations__location .jtv-button {
    width: 100%;
  }
}

/* Website Activity is Owner-only operational intelligence. */
.jtv-app .jtv-website-activity {
  width: min(100%, 1480px);
  min-width: 0;
  margin-inline: auto;
  color: #17140F;
  font-size: 17px;
}
.jtv-app .jtv-website-activity > * { min-width: 0; }
.jtv-app .jtv-website-activity__header { align-items: flex-end; }
.jtv-app .jtv-website-activity__header h1 { margin: 0; font-size: clamp(26px, 3vw, 36px); font-weight: 800; line-height: 1.15; }
.jtv-app .jtv-website-activity__header p { max-width: 780px; margin-bottom: 0; color: #6B6660; }
.jtv-app .jtv-website-activity__range {
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, .6fr)) minmax(360px, 1.2fr) max-content;
  align-items: end;
  gap: 14px;
  margin-top: 22px;
  padding: 18px;
}
.jtv-app .jtv-website-activity__range > label,
.jtv-app .jtv-website-activity__custom label { display: grid; min-width: 0; gap: 6px; margin: 0; font-weight: 800; }
.jtv-app .jtv-website-activity__range select,
.jtv-app .jtv-website-activity__range input { width: 100%; min-width: 0; min-height: 50px; font-size: 17px; }
.jtv-app .jtv-website-activity__range > small { grid-column: 1 / -1; color: #6B6660; }
.jtv-app .jtv-website-activity__custom { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-website-activity__custom[hidden] { display: none; }
.jtv-app .jtv-website-activity__selected-range { margin: 12px 2px 0; color: #6B6660; }
.jtv-app .jtv-website-activity__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.jtv-app .jtv-website-activity__metrics .jtv-card--metric { display: grid; min-width: 0; min-height: 132px; align-content: space-between; gap: 10px; padding: 18px; }
.jtv-app .jtv-website-activity__metrics strong { display: block; overflow-wrap: normal; font-size: clamp(27px, 3vw, 40px); font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; word-break: normal; }
.jtv-app .jtv-website-activity__metrics small { color: #6B6660; line-height: 1.35; }
.jtv-app .jtv-website-activity__tooltip { display: inline-grid; width: 22px; height: 22px; place-items: center; border: 1px solid #6B6660; border-radius: 999px; color: #17140F; font-size: 12px; letter-spacing: 0; cursor: help; }
.jtv-app .jtv-website-activity__tooltip:focus { outline: 3px solid rgba(200,121,26,.34); outline-offset: 2px; }
.jtv-app .jtv-website-activity__chart { margin-top: 24px; overflow: hidden; }
.jtv-app .jtv-website-activity__section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.jtv-app .jtv-website-activity__section-heading h2,
.jtv-app .jtv-website-activity__section-heading p { margin: 0; }
.jtv-app .jtv-website-activity__section-heading p { max-width: 700px; margin-top: 6px; color: #6B6660; }
.jtv-app .jtv-website-activity__metric-toggles { display: grid; grid-template-columns: repeat(3, minmax(110px, 1fr)); gap: 8px; margin-top: 16px; }
.jtv-app .jtv-website-activity__metric-toggles .jtv-button { min-width: 0; min-height: 48px; padding-inline: 12px; white-space: normal; }
.jtv-app .jtv-website-activity__metric-toggles .is-active { border: 2px solid #0E7A46; background: #E4F2EA; color: #0E7A46; }
.jtv-app .jtv-website-activity__chart svg { display: block; width: 100%; min-width: 0; max-height: 340px; margin-top: 20px; }
.jtv-app .jtv-website-activity__axis { stroke: #DBD8D2; stroke-width: 2; }
.jtv-app .jtv-website-activity__line { fill: none; stroke: var(--chart-color); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; vector-effect: non-scaling-stroke; }
.jtv-app .jtv-website-activity__line.is-previous { opacity: .5; stroke-dasharray: 8 7; stroke-width: 2; }
.jtv-app .jtv-website-activity__area { fill: var(--chart-color); opacity: .08; stroke: none; }
.jtv-app .jtv-website-activity__peak circle { fill: #FFF; stroke: var(--chart-color); stroke-width: 3; vector-effect: non-scaling-stroke; }
.jtv-app .jtv-website-activity__peak text { fill: #17140F; font-size: 12px; font-weight: 800; }
.jtv-app .jtv-website-activity__chart-hit { outline: none; }
.jtv-app .jtv-website-activity__chart-hit line { opacity: 0; stroke: #6B6660; stroke-dasharray: 3 4; stroke-width: 1; vector-effect: non-scaling-stroke; }
.jtv-app .jtv-website-activity__chart-hit circle { fill: transparent; stroke: transparent; }
.jtv-app .jtv-website-activity__chart-hit:hover line,
.jtv-app .jtv-website-activity__chart-hit:focus line { opacity: .8; }
.jtv-app .jtv-website-activity__chart-hit:focus circle { stroke: #C8791A; stroke-width: 3; vector-effect: non-scaling-stroke; }
.jtv-app .jtv-website-activity__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 16px; color: #6B6660; }
.jtv-app .jtv-website-activity__legend span { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; }
.jtv-app .jtv-website-activity__legend i { width: 24px; height: 4px; border-radius: 99px; background: var(--chart-color); }
.jtv-app .jtv-website-activity__legend small { margin-left: auto; }
.jtv-app .jtv-website-activity__chart-labels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; color: #6B6660; font-size: 13px; }
.jtv-app .jtv-website-activity__chart-labels span:nth-child(2) { text-align: center; }
.jtv-app .jtv-website-activity__chart-labels span:last-child { text-align: right; }
.jtv-app .jtv-website-activity__numeric { margin-top: 18px; }
.jtv-app .jtv-website-activity__numeric summary { min-height: 44px; font-weight: 800; cursor: pointer; }
.jtv-app .jtv-website-activity__table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #DBD8D2; border-radius: 12px; }
.jtv-app .jtv-website-activity__table-wrap table { width: 100%; min-width: 620px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-website-activity__table-wrap th,
.jtv-app .jtv-website-activity__table-wrap td { padding: 10px 12px; border-bottom: 1px solid #DBD8D2; text-align: left; }
.jtv-app .jtv-website-activity__table-wrap tbody tr:last-child > * { border-bottom: 0; }
.jtv-app .jtv-chart-color-1 { --chart-color: #0E7A46; }
.jtv-app .jtv-chart-color-2 { --chart-color: #255CA8; }
.jtv-app .jtv-chart-color-3 { --chart-color: #C8791A; }
.jtv-app .jtv-website-activity__live { margin-top: 28px; }
.jtv-app .jtv-website-activity__live-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 18px; }
.jtv-app .jtv-website-activity__live-header h2 { margin: 0; }
.jtv-app .jtv-website-activity__live-header > strong { grid-row: span 2; color: #0E7A46; font: 800 52px/1 ui-monospace, SFMono-Regular, Consolas, monospace; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-website-activity__live-header > small { color: #6B6660; }
.jtv-app .jtv-website-activity__traffic-filters { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 12px 14px; margin-top: 12px; border: 1px solid #DBD8D2; border-radius: 12px; background: #FFF; }
.jtv-app .jtv-website-activity__traffic-filters label { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; font-weight: 700; }
.jtv-app .jtv-website-activity__traffic-filters input { width: 18px; height: 18px; margin: 0; }
.jtv-app .jtv-website-activity__hidden-count { margin: 8px 2px 0; color: #6B6660; font-size: .9rem; }
.jtv-app .jtv-website-activity__live-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 20px; margin-top: 14px; align-items: start; }
.jtv-app .jtv-website-activity__live-grid > .jtv-card { min-width: 0; }
.jtv-app .jtv-website-activity__live-grid h3,
.jtv-app .jtv-website-activity__reports h2,
.jtv-app .jtv-website-activity__reports h3 { margin-top: 0; }
.jtv-app .jtv-website-activity__visitor-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-website-activity__visitor { display: grid; min-width: 0; gap: 10px; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; background: #FFF; }
.jtv-app .jtv-website-activity__visitor > div:first-child { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.jtv-app .jtv-website-activity__visitor h4 { margin: 0; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__visitor dl { display: grid; gap: 8px; margin: 0; }
.jtv-app .jtv-website-activity__visitor dl > div { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1fr); gap: 10px; }
.jtv-app .jtv-website-activity__visitor dt { color: #6B6660; }
.jtv-app .jtv-website-activity__visitor dd { min-width: 0; margin: 0; font-weight: 800; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__visitor .jtv-button { width: 100%; min-height: 48px; }
.jtv-app .jtv-website-activity__status--viewing { background: #EDEDEA; color: #6B6660; }
.jtv-app .jtv-website-activity__status--scrolling,
.jtv-app .jtv-website-activity__status--interacting { background: #FFF3D6; color: #754700; }
.jtv-app .jtv-website-activity__status--booking { background: #E4F2EA; color: #0E7A46; }
.jtv-app .jtv-website-activity__status--idle,
.jtv-app .jtv-website-activity__status--ended,
.jtv-app .jtv-website-activity__status--unknown { background: #EDEDEA; color: #5A5550; }
.jtv-app .jtv-website-activity__feed,
.jtv-app .jtv-website-activity__timeline { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.jtv-app .jtv-website-activity__feed li,
.jtv-app .jtv-website-activity__timeline li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 13px 0; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-website-activity__feed li:last-child,
.jtv-app .jtv-website-activity__timeline li:last-child { border-bottom: 0; }
.jtv-app .jtv-website-activity__feed li > span { width: 10px; height: 10px; margin-top: 6px; border-radius: 999px; background: #0E7A46; }
.jtv-app .jtv-website-activity__feed p,
.jtv-app .jtv-website-activity__feed small { margin: 3px 0 0; }
.jtv-app .jtv-website-activity__feed small { color: #6B6660; }
.jtv-app .jtv-website-activity__funnel { margin-top: 28px; }
.jtv-app .jtv-website-activity__funnel ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; padding: 0; margin: 18px 0 0; list-style: none; }
.jtv-app .jtv-website-activity__funnel li { display: grid; min-width: 0; align-content: start; gap: 8px; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; }
.jtv-app .jtv-website-activity__funnel li > div { display: grid; gap: 6px; }
.jtv-app .jtv-website-activity__funnel li strong { min-width: 0; overflow-wrap: normal; word-break: normal; }
.jtv-app .jtv-website-activity__funnel li span { color: #0E7A46; font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-website-activity__funnel li small { color: #6B6660; }
.jtv-app .jtv-website-activity__reports { margin-top: 28px; }
.jtv-app .jtv-website-activity__reports > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.jtv-app .jtv-website-activity__reports article { min-width: 0; }
.jtv-app .jtv-website-activity__report-list { display: grid; gap: 0; }
.jtv-app .jtv-website-activity__report-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; padding: 11px 0; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-website-activity__report-list > div:last-child { border-bottom: 0; }
.jtv-app .jtv-website-activity__report-list span { min-width: 0; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__report-list strong { font-variant-numeric: tabular-nums; }
.jtv-app .jtv-website-activity__report-list small { grid-column: 1 / -1; color: #6B6660; }
.jtv-app .jtv-website-activity__engagement { margin-top: 28px; }
.jtv-app .jtv-website-activity__engagement-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.jtv-app .jtv-website-activity__engagement-metrics > div { min-width: 0; padding: 14px; border: 1px solid #DBD8D2; border-radius: 14px; }
.jtv-app .jtv-website-activity__engagement-metrics span,
.jtv-app .jtv-website-activity__engagement-metrics strong { display: block; }
.jtv-app .jtv-website-activity__engagement-metrics span { color: #6B6660; }
.jtv-app .jtv-website-activity__engagement-metrics strong { margin-top: 5px; font-size: 26px; font-variant-numeric: tabular-nums; }
.jtv-app .jtv-website-activity__dialog { width: min(calc(100% - 24px), 760px); max-height: min(86vh, 900px); padding: 0; border: 1px solid #DBD8D2; border-radius: 16px; background: #FFF; color: #17140F; box-shadow: 0 18px 60px rgba(23,20,15,.28); }
.jtv-app .jtv-website-activity__dialog::backdrop { background: rgba(23,20,15,.58); }
.jtv-app .jtv-website-activity__dialog > div { max-height: min(86vh, 900px); overflow-y: auto; padding: 20px; }
.jtv-app .jtv-website-activity__dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.jtv-app .jtv-website-activity__dialog-header h2,
.jtv-app .jtv-website-activity__dialog-header p { margin: 0; }
.jtv-app .jtv-website-activity__dialog-header p { margin-top: 6px; color: #6B6660; }
.jtv-app .jtv-website-activity__timeline { margin-top: 18px; }
.jtv-app .jtv-website-activity__journey-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.jtv-app .jtv-website-activity__journey-summary > div { min-width: 0; padding: 12px; border: 1px solid #DBD8D2; border-radius: 12px; }
.jtv-app .jtv-website-activity__journey-summary dt { color: #6B6660; }
.jtv-app .jtv-website-activity__journey-summary dd { min-width: 0; margin: 3px 0 0; font-weight: 800; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__timeline time { color: #6B6660; font-variant-numeric: tabular-nums; white-space: nowrap; }
.jtv-app .jtv-website-activity__timeline p { margin: 4px 0 0; color: #6B6660; }
.jtv-app .jtv-website-activity__history,
.jtv-app .jtv-website-activity__contacts { margin-top: 28px; min-width: 0; }
.jtv-app .jtv-website-activity__test-label { margin: 0; padding: 12px 16px; border: 1px solid #C8791A; border-radius: 12px; background: #FFF9EB; color: #754700; font-weight: 800; }
.jtv-app .jtv-website-activity__history .jtv-website-activity__section-heading label { display: grid; gap: 4px; min-width: 170px; }
.jtv-app .jtv-website-activity__history select { min-height: 46px; }
.jtv-app .jtv-website-activity__history-scroll { max-width: 100%; overflow-x: auto; }
.jtv-app .jtv-website-activity__history-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.jtv-app .jtv-website-activity__history-table th,
.jtv-app .jtv-website-activity__history-table td { padding: 12px 8px; border-bottom: 1px solid #DBD8D2; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__history-table th { color: #6B6660; font-size: 13px; }
.jtv-app .jtv-website-activity__pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.jtv-app .jtv-website-activity__contact-list { display: grid; gap: 8px; }
.jtv-app .jtv-website-activity__contact-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #DBD8D2; border-radius: 12px; }
.jtv-app .jtv-website-activity__contact-list article > * { min-width: 0; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__touches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-website-activity__touch { min-width: 0; padding: 12px; border: 1px solid #DBD8D2; border-radius: 12px; }
.jtv-app .jtv-website-activity__touch h3 { margin: 0; }
.jtv-app .jtv-website-activity__touch .jtv-website-activity__journey-summary { grid-template-columns: 1fr; }
.jtv-app .jtv-website-activity__visit { min-width: 0; margin-top: 8px; padding: 12px; border: 1px solid #DBD8D2; border-radius: 12px; }
.jtv-app .jtv-website-activity__visit summary { cursor: pointer; font-weight: 800; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__visit .jtv-website-activity__timeline time { white-space: normal; }
.jtv-app .jtv-website-activity__form-funnels { margin-top: 28px; }
.jtv-app .jtv-website-activity__form-funnels > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-website-activity__form-funnels article { min-width: 0; }
.jtv-app .jtv-website-activity__form-funnels ol { display: grid; gap: 6px; padding: 0; list-style: none; }
.jtv-app .jtv-website-activity__form-funnels li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 8px; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-website-activity__form-funnels li small { grid-column: 1 / -1; color: #6B6660; }

/* Owner Website Activity: readable live journeys on narrow and wide screens. */
.jtv-app .jtv-website-activity__visitor-list { gap: 16px; align-items: stretch; }
.jtv-app .jtv-website-activity__visitor {
  position: relative; overflow: hidden; gap: 0; padding: 0;
  border: 1px solid #d8e2e9; border-radius: 18px;
  background: linear-gradient(155deg, #fff 0%, #f8fbfd 100%);
  box-shadow: 0 8px 24px rgba(20, 52, 70, .07);
}
.jtv-app .jtv-website-activity__visitor::before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: #4c8098;
}
.jtv-app .jtv-website-activity__visitor--booking::before { background: #16764f; }
.jtv-app .jtv-website-activity__visitor--interacting::before,
.jtv-app .jtv-website-activity__visitor--scrolling::before { background: #bd7a25; }
.jtv-app .jtv-website-activity__visitor header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
  padding: 17px 18px 13px 22px;
}
.jtv-app .jtv-website-activity__visitor header > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.jtv-app .jtv-website-activity__visitor header strong { min-width: 0; overflow-wrap: anywhere; font-size: 16px; }
.jtv-app .jtv-website-activity__presence { flex: none; width: 9px; height: 9px; border-radius: 50%; background: #28a86e; box-shadow: 0 0 0 4px #e3f5ec; }
.jtv-app .jtv-website-activity__visitor-page { min-width: 0; margin: 0 17px 13px 22px; padding: 14px; border: 1px solid #dce8ef; border-radius: 12px; background: #edf4f8; }
.jtv-app .jtv-website-activity__visitor-page small { display: block; color: #426174; font-weight: 700; letter-spacing: .03em; }
.jtv-app .jtv-website-activity__visitor-page h4 { margin: 4px 0; color: #183748; line-height: 1.35; }
.jtv-app .jtv-website-activity__visitor-page span { display: block; color: #526a78; font-size: 12px; overflow-wrap: anywhere; }
.jtv-app .jtv-website-activity__visitor dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0 17px 10px 22px; }
.jtv-app .jtv-website-activity__visitor dl > div { display: block; min-width: 0; padding: 9px 10px; border-bottom: 1px solid #e6edf1; }
.jtv-app .jtv-website-activity__visitor dt { color: #5b7080; font-size: 12px; }
.jtv-app .jtv-website-activity__visitor dd { margin-top: 3px; color: #203a49; font-weight: 700; line-height: 1.3; }
.jtv-app .jtv-website-activity__visitor .jtv-button { width: auto; margin: 0 17px 17px 22px; min-height: 44px; justify-self: stretch; border-color: #a8c1d0; color: #205674; background: #fff; }
.jtv-app .jtv-website-activity__visitor .jtv-button:hover { border-color: #205674; background: #ecf5f9; }
.jtv-app .jtv-website-activity__reveal { display: inline-block; margin-left: 7px; padding: 3px 5px; border: 0; background: transparent; color: #175b82; text-decoration: underline; cursor: pointer; font: inherit; }
.jtv-app .jtv-website-activity__reveal:focus-visible { outline: 3px solid #f0ad42; outline-offset: 2px; }
.jtv-app .jtv-website-activity__journey-summary code[data-click-id-value] { display: block; margin-top: 7px; padding: 8px; border-radius: 8px; background: #edf4f8; color: #173c53; font-size: 12px; font-weight: 500; white-space: normal; overflow-wrap: anywhere; user-select: text; }
.jtv-app .jtv-website-activity__journey-summary code[data-click-id-value][hidden] { display: none; }
@media (max-width: 480px) {
  .jtv-app .jtv-website-activity__visitor header { flex-wrap: wrap; }
  .jtv-app .jtv-website-activity__visitor dl { grid-template-columns: minmax(0, 1fr); }
  .jtv-app .jtv-website-activity__visitor dl > div { padding-left: 0; padding-right: 0; }
}

/* Owner-only Marketing & Ads reuses first-party Website Activity without fabricating provider data. */
.jtv-app .jtv-marketing { display: grid; width: min(100%, 1480px); min-width: 0; gap: 22px; margin-inline: auto; }
.jtv-app .jtv-marketing > * { min-width: 0; }
.jtv-app .jtv-marketing__range { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(360px, 1.3fr) max-content; align-items: end; gap: 14px; }
.jtv-app .jtv-marketing__range label,
.jtv-app .jtv-marketing__range > div { display: grid; min-width: 0; gap: 6px; font-weight: 800; }
.jtv-app .jtv-marketing__range > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jtv-app .jtv-marketing__range [hidden] { display: none; }
.jtv-app .jtv-marketing__range select,
.jtv-app .jtv-marketing__range input { width: 100%; min-width: 0; min-height: 50px; font-size: 17px; }
.jtv-app .jtv-marketing__pending { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 2px solid #C8791A; background: #FFF9EB; }
.jtv-app .jtv-marketing__pending h2 { margin: 10px 0 4px; }
.jtv-app .jtv-marketing__pending p { max-width: 760px; margin: 0; color: #6B6660; }
.jtv-app .jtv-marketing__pending > strong { flex: none; color: #754700; }
.jtv-app .jtv-marketing__metrics,
.jtv-app .jtv-marketing__external { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.jtv-app .jtv-marketing__external { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.jtv-app .jtv-marketing .jtv-card--metric { display: grid; min-width: 0; min-height: 132px; align-content: space-between; gap: 10px; }
.jtv-app .jtv-marketing .jtv-card--metric strong { font-size: clamp(26px, 3vw, 38px); font-variant-numeric: tabular-nums; }
.jtv-app .jtv-marketing .jtv-card--metric small { color: #6B6660; }
.jtv-app .jtv-marketing__reports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.jtv-app .jtv-marketing__reports h2 { margin-top: 0; }
.jtv-app .jtv-marketing__report { display: grid; }
.jtv-app .jtv-marketing__report > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; padding: 11px 0; border-bottom: 1px solid #DBD8D2; }
.jtv-app .jtv-marketing__report > div:last-child { border-bottom: 0; }
.jtv-app .jtv-marketing__report small { grid-column: 1 / -1; color: #6B6660; }
.jtv-app .jtv-marketing__checklist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0; list-style: none; counter-reset: marketing-step; }
.jtv-app .jtv-marketing__checklist li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; padding: 12px; border: 1px solid #DBD8D2; border-radius: 12px; counter-increment: marketing-step; }
.jtv-app .jtv-marketing__checklist li > span::before { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 99px; background: #EDEDEA; content: counter(marketing-step); font-size: 12px; font-weight: 800; }
.jtv-app .jtv-marketing__checklist small { display: block; margin-top: 3px; color: #6B6660; }

@media (max-width: 1279px) {
  .jtv-app .jtv-website-activity__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jtv-app .jtv-website-activity__metric-toggles { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .jtv-app .jtv-website-activity__funnel ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .jtv-app .jtv-marketing__metrics,
  .jtv-app .jtv-marketing__external { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .jtv-app .jtv-website-activity__range { grid-template-columns: minmax(200px, .7fr) minmax(0, 1.3fr); }
  .jtv-app .jtv-website-activity__range > .jtv-button { grid-column: 1 / -1; }
  .jtv-app .jtv-website-activity__live-grid { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__reports > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-marketing__range { grid-template-columns: 1fr; }
  .jtv-app .jtv-marketing__reports { grid-template-columns: 1fr; }
  .jtv-app .jtv-marketing__checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .jtv-app .jtv-website-activity__form-funnels > div { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__history-table { display: block; min-width: 0; }
  .jtv-app .jtv-website-activity__history-table thead { display: none; }
  .jtv-app .jtv-website-activity__history-table tbody { display: grid; gap: 12px; }
  .jtv-app .jtv-website-activity__history-table tr { display: grid; min-width: 0; padding: 12px; border: 1px solid #DBD8D2; border-radius: 12px; }
  .jtv-app .jtv-website-activity__history-table td { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(0, 1fr); gap: 8px; min-width: 0; padding: 7px 0; }
  .jtv-app .jtv-website-activity__history-table td::before { content: attr(data-label); color: #6B6660; }
  .jtv-app .jtv-website-activity__history-table td .jtv-button { width: 100%; }
  .jtv-app .jtv-website-activity__contact-list article { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__contact-list .jtv-button { width: 100%; }
  .jtv-app .jtv-website-activity__touches { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__header,
  .jtv-app .jtv-website-activity__section-heading,
  .jtv-app .jtv-website-activity__dialog-header { align-items: stretch; flex-direction: column; }
  .jtv-app .jtv-website-activity__header .jtv-button,
  .jtv-app .jtv-website-activity__dialog-header .jtv-button { width: 100%; }
  .jtv-app .jtv-website-activity__range { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__range > .jtv-button,
  .jtv-app .jtv-website-activity__range > small { grid-column: auto; }
  .jtv-app .jtv-website-activity__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .jtv-app .jtv-website-activity__metrics .jtv-card--metric { min-height: 112px; padding: 12px; border-radius: 14px; }
  .jtv-app .jtv-website-activity__metrics .jtv-eyebrow { margin: 0; font-size: 10px; line-height: 1.35; letter-spacing: .05em; overflow-wrap: break-word; }
  .jtv-app .jtv-website-activity__metrics strong { font-size: clamp(19px, 6vw, 27px); line-height: 1.08; }
  .jtv-app .jtv-website-activity__metric-toggles { width: 100%; }
  .jtv-app .jtv-website-activity__visitor-list { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__funnel ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jtv-app .jtv-website-activity__reports > div { grid-template-columns: 1fr; }
  .jtv-app .jtv-marketing__pending { align-items: stretch; flex-direction: column; }
  .jtv-app .jtv-marketing__metrics,
  .jtv-app .jtv-marketing__external { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .jtv-app .jtv-marketing .jtv-card--metric { min-height: 112px; padding: 12px; }
  .jtv-app .jtv-marketing .jtv-card--metric strong { font-size: clamp(19px, 6vw, 27px); }
  .jtv-app .jtv-marketing__checklist { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .jtv-app .jtv-website-activity__custom { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__metric-toggles { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__live-header { grid-template-columns: minmax(0, 1fr) auto; }
  .jtv-app .jtv-website-activity__live-header > strong { font-size: 40px; }
  .jtv-app .jtv-website-activity__visitor dl > div { grid-template-columns: 1fr; gap: 2px; }
  .jtv-app .jtv-website-activity__funnel ol { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__engagement-metrics { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__journey-summary { grid-template-columns: 1fr; }
  .jtv-app .jtv-website-activity__timeline li { grid-template-columns: 1fr; gap: 4px; }
  .jtv-app .jtv-marketing__range > div { grid-template-columns: 1fr; }
}
/* Owner-only SMS Sales Agents workspace. */
.jtv-app .jtv-sms-agents__mode,
.jtv-app .jtv-sms-thread-card,
.jtv-app .jtv-sms-agents__workspace,
.jtv-app .jtv-sms-message {
  min-width: 0;
}

.jtv-app .jtv-sms-agents__mode,
.jtv-app .jtv-sms-thread-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--jtv-space-4);
  width: 100%;
  text-align: left;
}

.jtv-app .jtv-sms-thread-card span {
  display: grid;
  gap: var(--jtv-space-1);
  min-width: 0;
}

.jtv-app .jtv-sms-thread-card > span:last-child {
  justify-items: end;
}

.jtv-app .jtv-sms-agents__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .8fr);
  gap: var(--jtv-space-5);
}

.jtv-app .jtv-sms-agents__side,
.jtv-app .jtv-sms-timeline {
  display: grid;
  gap: var(--jtv-space-4);
  min-width: 0;
}

.jtv-app .jtv-sms-message {
  max-width: min(85%, 40rem);
  padding: var(--jtv-space-3) var(--jtv-space-4);
  border: 1px solid var(--jtv-border);
  border-radius: var(--jtv-radius-lg);
  background: var(--jtv-surface);
  overflow-wrap: break-word;
}

.jtv-app .jtv-sms-message--outbound,
.jtv-app .jtv-sms-message--draft {
  margin-left: auto;
  background: var(--jtv-success-soft);
  border-color: var(--jtv-success);
}

.jtv-app .jtv-sms-message--draft {
  border-style: dashed;
}

.jtv-app .jtv-sms-message > span,
.jtv-app .jtv-sms-message > small {
  color: var(--jtv-muted);
  font-size: .82rem;
}

.jtv-app .jtv-sms-message p {
  margin: var(--jtv-space-2) 0;
  white-space: pre-wrap;
}

.jtv-app .jtv-sms-mockups {
  display: grid;
  gap: var(--jtv-space-5);
}

.jtv-app .jtv-sms-mockup,
.jtv-app .jtv-sms-mockup__devices,
.jtv-app .jtv-sms-device,
.jtv-app .jtv-sms-mockup__conversation {
  min-width: 0;
}

.jtv-app .jtv-sms-mockup__devices {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .42fr);
  gap: var(--jtv-space-4);
  margin-top: var(--jtv-space-4);
}

.jtv-app .jtv-sms-device {
  padding: var(--jtv-space-3);
  border: 1px solid var(--jtv-border);
  border-radius: var(--jtv-radius-lg);
  background: var(--jtv-surface-muted);
}

.jtv-app .jtv-sms-device--mobile {
  max-width: 24rem;
  justify-self: center;
  width: 100%;
}

.jtv-app .jtv-sms-device > span {
  display: block;
  margin-bottom: var(--jtv-space-3);
  color: var(--jtv-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.jtv-app .jtv-sms-mockup__conversation {
  display: grid;
  gap: var(--jtv-space-3);
}

.jtv-app .jtv-sms-mockup__bubble {
  max-width: 88%;
  margin: 0;
  padding: var(--jtv-space-3);
  border-radius: var(--jtv-radius-lg);
  background: var(--jtv-surface);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.jtv-app .jtv-sms-mockup__bubble--outbound {
  margin-left: auto;
  background: var(--jtv-success-soft);
}

@media (max-width: 760px) {
  .jtv-app .jtv-sms-agents__workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .jtv-app .jtv-sms-agents__mode,
  .jtv-app .jtv-sms-thread-card {
    align-items: stretch;
    flex-direction: column;
  }

  .jtv-app .jtv-sms-thread-card > span:last-child {
    justify-items: start;
  }

  .jtv-app .jtv-sms-message {
    max-width: 94%;
  }

  .jtv-app .jtv-sms-mockup__devices {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Website Activity: compact owner view, scoped to the operations portal. */
.jtv-app .jtv-website-activity__history-cards{display:grid;gap:10px}
.jtv-app .jtv-website-activity__history-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:14px 16px;border:1px solid #dce5e4;border-radius:14px;background:linear-gradient(120deg,#f3f6f7,#f3f8f5);box-shadow:none;font-size:13px;min-width:0}
.jtv-app .jtv-website-activity__history-card header{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.jtv-app .jtv-website-activity__history-card header strong{font-size:14px;color:#243e3d;overflow-wrap:anywhere}
.jtv-app .jtv-website-activity__history-card dl{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;min-width:0}
.jtv-app .jtv-website-activity__history-card dl>div{min-width:70px;max-width:100%}
.jtv-app .jtv-website-activity__history-card dt{font-size:11px;color:#56676a;margin-bottom:2px}
.jtv-app .jtv-website-activity__history-card dd{margin:0;font-size:13px;color:#283b3b;overflow-wrap:anywhere}
.jtv-app .jtv-website-activity .jtv-website-activity__journey-button{align-self:center;background:#d9eee0;border:1px solid #9ec8ae;color:#17482b;border-radius:9px;padding:8px 12px;min-height:38px;font-size:13px;font-weight:650;box-shadow:none}
.jtv-app .jtv-website-activity .jtv-website-activity__journey-button:hover{background:#c9e6d4}
.jtv-app .jtv-website-activity button:focus-visible,.jtv-app .jtv-website-activity summary:focus-visible,.jtv-app .jtv-website-activity select:focus-visible{outline:3px solid #39876a;outline-offset:3px}
.jtv-app .jtv-website-activity__classification{display:inline-flex;padding:3px 8px;border-radius:20px;background:#e4e9ee;color:#44525f;font-size:11px;font-weight:650;line-height:1.45;white-space:nowrap}
.jtv-app .jtv-website-activity__classification--human{background:#dceee1;color:#245c36}
.jtv-app .jtv-website-activity__classification--suspected_bot{background:#f4ead3;color:#775c20}
.jtv-app .jtv-website-activity__classification--confirmed_bot{background:#e8e2f0;color:#625177}
.jtv-app .jtv-website-activity__classification--internal_or_test{background:#dce9f1;color:#345c73}
.jtv-app .jtv-website-activity__history .jtv-website-activity__range{margin:12px 0;padding:14px;background:#f5f7f8;box-shadow:none;border:1px solid #e0e6e9}
.jtv-app .jtv-website-activity__history .jtv-website-activity__section-heading p{font-size:12px;color:#56676a}
.jtv-app .jtv-website-activity__more{margin-top:12px;border-top:1px solid #dfe6e6;padding-top:10px}
.jtv-app .jtv-website-activity__more summary{cursor:pointer;color:#225f45;font-size:13px;font-weight:650;padding:5px 0}
.jtv-app .jtv-website-activity__report-card{padding:16px;background:#f7f9fa;box-shadow:none}
.jtv-app .jtv-website-activity__reports>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}
.jtv-app .jtv-website-activity__live-grid>.jtv-card{min-width:0;align-self:start}
.jtv-app .jtv-website-activity__visitor{padding:14px;box-shadow:none;font-size:13px}
.jtv-app .jtv-website-activity__visitor header>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.jtv-app .jtv-website-activity__visitor-page h4{font-size:15px}
.jtv-app .jtv-website-activity__visitor dl{gap:8px}
.jtv-app .jtv-website-activity__visitor dd{font-size:13px}
.jtv-app .jtv-website-activity .jtv-website-activity__visitor dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.jtv-app .jtv-website-activity .jtv-website-activity__visitor dl>div{padding:5px 0;min-width:0}
.jtv-app .jtv-website-activity .jtv-website-activity__visitor dd{overflow-wrap:anywhere}
@media(max-width:650px){.jtv-app .jtv-website-activity__history-card{grid-template-columns:1fr;padding:12px}.jtv-app .jtv-website-activity__history-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jtv-app .jtv-website-activity__history-card .jtv-website-activity__journey-button{justify-self:start}.jtv-app .jtv-website-activity__history .jtv-website-activity__range{display:flex;flex-wrap:wrap;gap:10px}.jtv-app .jtv-website-activity__history .jtv-website-activity__range label{flex:1;min-width:130px}.jtv-app .jtv-website-activity__pager{flex-wrap:wrap;font-size:12px}}

/* Owner Messages reading workspace; SMS transport has no iMessage-only states. */
.jtv-app .jtv-nav__count,
.jtv-app .jtv-messages__total {
  display: inline-grid;
  min-width: 24px;
  min-height: 24px;
  place-items: center;
  padding: 0 6px;
  border-radius: 99px;
  background: #1769d3;
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
}

.jtv-app .jtv-nav__count { margin-left: auto; }
.jtv-app .jtv-nav__count[hidden],
.jtv-app .jtv-messages [hidden] { display: none !important; }

.jtv-app .jtv-messages .jtv-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.jtv-app .jtv-messages {
  display: grid;
  grid-template-columns: minmax(280px, 355px) minmax(0, 1fr);
  height: min(900px, calc(100dvh - 145px));
  min-height: 420px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9dee6;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 40px rgb(19 39 59 / 8%);
  color: #1b2028;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.jtv-app .jtv-messages__sidebar,
.jtv-app .jtv-messages__thread {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
}

.jtv-app .jtv-messages__sidebar {
  border-right: 1px solid #e4e7eb;
  background: #f9fafc;
}

.jtv-app .jtv-messages__sidebar-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 23px 20px 10px;
}

.jtv-app .jtv-messages__sidebar-header h1 { margin: 0; font-size: 2rem; letter-spacing: -.04em; }
.jtv-app .jtv-messages__sidebar-header .jtv-eyebrow { font-size: .67rem; }
.jtv-app .jtv-messages__header-actions { display: flex; align-items: center; gap: 8px; }
.jtv-app .jtv-messages__header-actions button { min-height: 36px; padding: 0 12px; border: 1px solid #c8d8eb; border-radius: 11px; background: #edf5ff; color: #1769d3; font: inherit; font-size: .88rem; font-weight: 750; cursor: pointer; }
.jtv-app .jtv-messages__new-contact { display: grid; gap: 8px; margin: 0 16px 12px; padding: 13px; border: 1px solid #d7e3f0; border-radius: 14px; background: #fff; }
.jtv-app .jtv-messages__new-contact label { font-size: .84rem; font-weight: 750; }
.jtv-app .jtv-messages__new-contact input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 11px; border: 1px solid #cdd5df; border-radius: 10px; font: inherit; font-size: 16px; }
.jtv-app .jtv-messages__new-contact small { color: #596271; font-size: .76rem; line-height: 1.4; }
.jtv-app .jtv-messages__new-contact > div { display: flex; flex-wrap: wrap; gap: 8px; }
.jtv-app .jtv-messages__new-contact button { min-height: 36px; padding: 0 10px; border: 1px solid #c8d8eb; border-radius: 9px; background: #f7faff; color: #1769d3; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.jtv-app .jtv-messages__new-contact button[type="submit"] { border-color: #1769d3; background: #1769d3; color: #fff; }
.jtv-app .jtv-messages__new-contact p { margin: 0; color: #9e2236; font-size: .8rem; }
.jtv-app .jtv-messages__search { position: relative; margin: 0 16px 10px; }
.jtv-app .jtv-messages__search input { min-height: 40px; padding-left: 14px; border: 0; border-radius: 11px; background: #eceef2; font-size: 15px; }
.jtv-app .jtv-messages__link-context { margin: 0 16px 10px; padding: 9px 10px; overflow-wrap: anywhere; border-radius: 10px; background: #eef6f2; color: #234c3d; font-size: .78rem; line-height: 1.35; }
.jtv-app .jtv-messages__filters { display: flex; gap: 5px; padding: 0 16px 12px; }
.jtv-app .jtv-messages__filters button { min-height: 33px; padding: 4px 13px; border: 0; border-radius: 99px; background: transparent; color: #596271; font: inherit; font-size: .84rem; font-weight: 650; cursor: pointer; }
.jtv-app .jtv-messages__filters button[aria-pressed="true"] { background: #e2eefa; color: #1769d3; }
.jtv-app .jtv-messages__calls { margin: 0 12px 10px; border: 1px solid #d7e3f0; border-radius: 12px; background: #fff; }
.jtv-app .jtv-messages__calls summary { min-height: 44px; padding: 11px 12px; color: #244769; font-size: .83rem; font-weight: 750; cursor: pointer; }
.jtv-app .jtv-messages__calls-content { max-height: min(40dvh, 360px); overflow-y: auto; padding: 0 12px 12px; overscroll-behavior: contain; }
.jtv-app .jtv-messages__calls-content > p { margin: 0 0 8px; color: #596271; font-size: .76rem; line-height: 1.4; }
.jtv-app .jtv-messages__call { display: grid; gap: 3px; padding: 10px 0; border-top: 1px solid #e8ebef; overflow-wrap: anywhere; }
.jtv-app .jtv-messages__call strong { font-size: .85rem; }
.jtv-app .jtv-messages__call a { color: #1769d3; }
.jtv-app .jtv-messages__call time, .jtv-app .jtv-messages__call small, .jtv-app .jtv-messages__call span { color: #596271; font-size: .75rem; line-height: 1.35; }
.jtv-app .jtv-messages__calls-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 8px; }
.jtv-app .jtv-messages__calls-actions button { min-height: 40px; padding: 5px 10px; border: 1px solid #c8d8eb; border-radius: 9px; background: #f7faff; color: #1769d3; font: inherit; font-size: .78rem; cursor: pointer; }
.jtv-app .jtv-messages__calls-actions button[hidden] { display: none; }
.jtv-app .jtv-messages__calls-error { color: #9e2236 !important; }
.jtv-app .jtv-messages__list { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.jtv-app .jtv-messages__list > div { border-bottom: 1px solid #e8ebef; }

.jtv-app .jtv-messages__row {
  display: grid;
  grid-template-columns: 49px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 80px;
  padding: 12px 15px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.jtv-app .jtv-messages__row:hover,
.jtv-app .jtv-messages__row.is-selected { background: #e9f1fa; }
.jtv-app .jtv-messages__row.has-unread .jtv-messages__row-copy strong { font-weight: 800; }
.jtv-app .jtv-messages__avatar { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #d8e4f2, #aebed4); color: #24415f; font-size: 1.2rem; font-weight: 650; }
.jtv-app .jtv-messages__row-copy { display: grid; min-width: 0; gap: 3px; }
.jtv-app .jtv-messages__row-copy strong,
.jtv-app .jtv-messages__row-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jtv-app .jtv-messages__row-copy strong { font-size: .93rem; font-weight: 660; }
.jtv-app .jtv-messages__row-copy small { color: #697381; font-size: .84rem; }
.jtv-app .jtv-messages__row-meta { display: grid; justify-items: end; gap: 7px; min-width: 0; align-self: start; color: #818a96; font-size: .67rem; white-space: nowrap; }
.jtv-app .jtv-messages__row-meta b { display: grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 50px; background: #1769d3; color: #fff; font-size: .72rem; }
.jtv-app .jtv-messages__pages { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; color: #697381; font-size: .82rem; }
.jtv-app .jtv-messages__pages button { border: 0; background: transparent; color: #1769d3; font: inherit; cursor: pointer; }
.jtv-app .jtv-messages__pages button:disabled { color: #a1a8b0; cursor: default; }
.jtv-app .jtv-messages__empty { padding: 24px; color: #687484; text-align: center; }
.jtv-app .jtv-messages__empty button { display: block; margin: 12px auto 0; border: 0; background: transparent; color: #1769d3; font: inherit; font-weight: 700; cursor: pointer; }
.jtv-app .jtv-messages__welcome { display: grid; flex: 1; align-content: center; justify-items: center; padding: 24px; color: #6c7683; text-align: center; }
.jtv-app .jtv-messages__welcome > span { font-size: 3rem; }
.jtv-app .jtv-messages__welcome h2 { margin: 10px 0 2px; color: #273342; }
.jtv-app .jtv-messages__welcome p { margin: 0; }
.jtv-app .jtv-messages__thread-header { display: flex; min-height: 75px; align-items: center; gap: 10px; padding: 10px 18px; border-bottom: 1px solid #e4e7eb; background: #f9fafc; }
.jtv-app .jtv-messages__thread-header .jtv-messages__avatar { width: 38px; height: 38px; flex-basis: 38px; font-size: 1rem; }
.jtv-app .jtv-messages__thread-header > div { display: grid; min-width: 0; }
.jtv-app .jtv-messages__thread-header strong,
.jtv-app .jtv-messages__thread-header small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jtv-app .jtv-messages__thread-header small { color: #697381; font-size: .76rem; }
.jtv-app .jtv-messages__thread-header > button { display: none; }
.jtv-app .jtv-messages__thread-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; min-height: 40px; padding: 5px 14px; border-bottom: 1px solid #e4e7eb; background: #f9fafc; }
.jtv-app .jtv-messages__thread-actions button, .jtv-app .jtv-messages__thread-actions a { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 10px; border: 1px solid #d8dfe8; border-radius: 99px; background: #fff; color: #1769d3; font: inherit; font-size: .76rem; font-weight: 650; text-decoration: none; cursor: pointer; }
.jtv-app .jtv-messages__link-job { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; padding: 8px 14px; border-bottom: 1px solid #e4e7eb; background: #f9fafc; }
.jtv-app .jtv-messages__link-job[hidden] { display: none; }
.jtv-app .jtv-messages__link-job input { display: block; width: 150px; max-width: 100%; min-height: 34px; }
.jtv-app .jtv-messages__link-job p { flex-basis: 100%; margin: 0; font-size: .75rem; }
.jtv-app .jtv-messages__thread-actions button:focus-visible { outline: 2px solid #1769d3; outline-offset: 2px; }
.jtv-app .jtv-messages__thread-actions button:disabled { opacity: .55; cursor: wait; }
.jtv-app .jtv-messages__new { padding: 6px; background: #eff6fe; text-align: center; }
.jtv-app .jtv-messages__new button { border: 0; background: transparent; color: #1769d3; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.jtv-app .jtv-messages__scroller { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; background: #fff; }
.jtv-app .jtv-messages__timeline { display: flex; min-height: 100%; flex-direction: column; justify-content: flex-end; gap: 13px; padding: 20px 22px 28px; }
.jtv-app .jtv-messages__older { align-self: center; margin: 4px 0 12px; border: 0; background: transparent; color: #1769d3; font: inherit; font-size: .84rem; font-weight: 650; cursor: pointer; }
.jtv-app .jtv-messages__message { max-width: min(76%, 34rem); align-self: flex-start; padding: 9px 13px 8px; border-radius: 17px 17px 17px 6px; background: #e8e9ec; overflow-wrap: anywhere; }
.jtv-app .jtv-messages__message.is-outbound { align-self: flex-end; border-radius: 17px 17px 6px 17px; background: #34c759; color: #102516; }
.jtv-app .jtv-messages__message p { margin: 0; white-space: pre-wrap; }
.jtv-app .jtv-messages__photo { display: block; min-height: 38px; margin-top: 4px; padding: 6px 10px; border: 1px solid #b9c6d2; border-radius: 10px; background: #fff; color: #17548a; font: inherit; font-size: .82rem; cursor: pointer; }
.jtv-app .jtv-messages__photo:disabled { opacity: .7; cursor: wait; }
.jtv-app .jtv-messages__photo-view { display: grid; gap: 5px; min-width: 0; }
.jtv-app .jtv-messages__photo-open { display: block; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.jtv-app .jtv-messages__photo-view img { display: block; width: auto; max-width: min(100%, 25rem); max-height: 24rem; border-radius: 10px; object-fit: contain; }
.jtv-app .jtv-messages__photo-view a { color: #17548a; font-size: .78rem; }
.jtv-app .jtv-messages__photo-dialog { width: min(94vw, 60rem); max-height: 94dvh; padding: 12px; border: 0; border-radius: 14px; background: #fff; color: #1b2028; }
.jtv-app .jtv-messages__photo-dialog::backdrop { background: rgb(0 0 0 / 80%); }
.jtv-app .jtv-messages__photo-dialog > button { display: block; margin: 0 0 8px auto; padding: 7px 10px; border: 0; border-radius: 8px; background: #eef2f6; color: #1b2028; font: inherit; cursor: pointer; }
.jtv-app .jtv-messages__photo-dialog img { display: block; max-width: 100%; max-height: calc(94dvh - 75px); margin: auto; object-fit: contain; }
.jtv-app .jtv-messages__message small { display: block; margin-top: 5px; color: #566170; font-size: .68rem; }
.jtv-app .jtv-messages__message.is-outbound small { color: #20432a; }
.jtv-app .jtv-messages__message [data-messages-recompose] { margin-top: 7px; padding: 5px 9px; border: 1px solid #8d382e; border-radius: 8px; background: #fff; color: #8d382e; font: inherit; font-size: .75rem; cursor: pointer; }
.jtv-app .jtv-messages__composer { display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-items: end; gap: 8px; padding: 9px 15px max(10px, env(safe-area-inset-bottom)); border-top: 1px solid #e4e7eb; background: #f9fafc; }
.jtv-app .jtv-messages__composer textarea { width: 100%; min-width: 0; min-height: 42px; max-height: 124px; padding: 10px 14px; resize: vertical; border: 1px solid #d4d9e1; border-radius: 21px; background: #fff; color: #1b2028; font: inherit; font-size: 16px; line-height: 1.35; overflow-y: auto; }
.jtv-app .jtv-messages__composer textarea:focus-visible { outline: 2px solid #1769d3; outline-offset: 2px; }
.jtv-app .jtv-messages__composer button { width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: #34c759; color: #102516; font: inherit; font-size: 1.65rem; font-weight: 800; line-height: 1; cursor: pointer; }
.jtv-app .jtv-messages__composer button:disabled { background: #bac4cd; cursor: wait; }
.jtv-app .jtv-messages__attachments { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 6px; min-width: 0; }
.jtv-app .jtv-messages__attachment { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-width: 0; padding: 5px 6px 5px 9px; border: 1px solid #b9c6d2; border-radius: 13px; background: #fff; color: #263441; font-size: .75rem; overflow-wrap: anywhere; }
.jtv-app .jtv-messages__attachment > span { min-width: 0; }
.jtv-app .jtv-messages__attachment button { flex: 0 0 auto; border-radius: 8px; background: #e8eef5; color: #263441; font-size: 1rem; font-weight: 600; }
.jtv-app .jtv-messages__attachment-preview { width: 42px; height: 42px; padding: 0; overflow: hidden; }
.jtv-app .jtv-messages__attachment-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jtv-app .jtv-messages__attachment-remove { width: 25px; height: 25px; padding: 0; }
.jtv-app .jtv-messages__tools { display: flex; grid-column: 1 / -1; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.jtv-app .jtv-messages__tools > button { width: auto; min-width: 80px; height: 36px; padding: 0 10px; border: 1px solid #b9c6d2; border-radius: 10px; background: #fff; color: #17548a; font-size: .8rem; font-weight: 600; }
.jtv-app .jtv-messages__tools > button:disabled { background: #e8eef5; color: #697381; }
.jtv-app .jtv-messages__emojis { display: flex; flex-wrap: wrap; gap: 2px; }
.jtv-app .jtv-messages__emojis button { width: 34px; height: 34px; border-radius: 8px; background: transparent; color: inherit; font-size: 1.15rem; font-weight: 400; }
.jtv-app .jtv-messages__emojis button:hover { background: #e8eef5; }
.jtv-app .jtv-messages__composer small { grid-column: 1 / -1; min-height: 14px; color: #697381; font-size: .7rem; line-height: 1.2; }
.jtv-app .jtv-messages__composer-guard { padding: 13px 18px max(13px, env(safe-area-inset-bottom)); border-top: 1px solid #e4e7eb; background: #f9fafc; color: #697381; font-size: .8rem; text-align: center; }

@media (max-width: 760px) {
  .jtv-app .jtv-messages { display: block; height: calc(100dvh - 108px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); min-height: 360px; border-radius: 14px; }
  .jtv-app .jtv-messages__sidebar,
  .jtv-app .jtv-messages__thread { width: 100%; height: 100%; }
  .jtv-app .jtv-messages__thread { display: none; }
  .jtv-app .jtv-messages.is-thread-open .jtv-messages__sidebar { display: none; }
  .jtv-app .jtv-messages.is-thread-open .jtv-messages__thread { display: flex; }
  .jtv-app .jtv-messages__thread-header { padding: 9px 11px; }
  .jtv-app .jtv-messages__thread-header > button { display: inline-flex; min-height: 44px; align-items: center; gap: 3px; padding: 0 5px; border: 0; background: transparent; color: #1769d3; font: inherit; font-size: 1.45rem; cursor: pointer; }
  .jtv-app .jtv-messages__thread-header > button span { font-size: .82rem; }
  .jtv-app .jtv-messages__message { max-width: 87%; }
  .jtv-app .jtv-messages__timeline { padding: 18px 12px 22px; }
}

/* Owner Messages controls, scoped to the private inbox. */
.jtv-messages__row-copy .jtv-messages__phone {display:block;font-size:13px;color:#4b6158;overflow-wrap:anywhere;}
.jtv-app .jtv-messages__row-copy strong {overflow-wrap:anywhere;white-space:normal;text-overflow:clip;}
.jtv-messages__thread-header > div {min-width:0;overflow-wrap:anywhere;}
.jtv-messages__automation {display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 16px;background:#edf6f1;border-bottom:1px solid #dbe6df;}
.jtv-messages__automation label {display:flex;align-items:center;gap:9px;margin:0;font-size:14px;color:#243c30;}
.jtv-messages__automation input {accent-color:#19704a;width:32px;height:20px;cursor:pointer;}
.jtv-messages__automation b {font-size:12px;margin-left:5px;color:#216147;}
.jtv-messages__automation small {flex-basis:100%;font-size:11px;line-height:1.5;color:#51645b;}
.jtv-messages__automation button {margin-left:auto;padding:6px 10px;border:1px solid #bfd2c6;border-radius:9px;background:#fff;font-size:12px;color:#255f44;}
.jtv-messages__template-dialog {width:min(620px,calc(100vw - 28px));max-height:85dvh;box-sizing:border-box;overflow:auto;border:1px solid #d0dfd5;border-radius:18px;padding:22px;color:#1e3026;background:#fff;}
.jtv-messages__template-dialog::backdrop {background:rgba(10,28,18,.4);}
.jtv-messages__template-dialog label {display:block;margin:18px 0;font-weight:600;}
.jtv-messages__template-dialog textarea {display:block;box-sizing:border-box;width:100%;font:inherit;font-weight:400;font-size:14px;line-height:1.5;padding:10px;margin:7px 0;resize:vertical;border:1px solid #ccd8d1;border-radius:10px;}
.jtv-messages__template-dialog small,.jtv-messages__template-dialog p {font-weight:400;font-size:13px;line-height:1.5;}
.jtv-messages__template-dialog form>div {display:flex;justify-content:flex-end;gap:10px;}
.jtv-messages__template-dialog button {border:1px solid #bfd2c6;border-radius:10px;padding:9px 14px;background:#edf6f1;color:#194e36;}
.jtv-messages__template-dialog button[type=submit] {background:#19704a;color:#fff;}
.jtv-messages__message [data-messages-delivery-status].is-error:not([hidden]) {color:#922a27;font-weight:600;}
.jtv-messages__automation :focus-visible,.jtv-messages__template-dialog :focus-visible {outline:3px solid #3a8665;outline-offset:3px;}

.jtv-messages__history-import {padding:10px 16px;font-size:12px;color:#486052;border-bottom:1px solid #dbe6df;}
.jtv-messages__history-import summary {cursor:pointer;}
.jtv-messages__history-import button {padding:7px 10px;border:1px solid #bfd2c6;border-radius:8px;background:#fff;}
.jtv-messages__history-import small {display:block;margin-top:7px;line-height:1.5;}

.jtv-app .jtv-messages__thread-header strong,.jtv-app .jtv-messages__thread-header small {white-space:normal;overflow-wrap:anywhere;text-overflow:clip;}

/* Central Prices: scoped admin-only controls. */
.jtv-prices { max-width: 960px; margin-inline: auto; }
.jtv-prices details.jtv-card { margin-block: 16px; padding: 18px; }
.jtv-prices summary { cursor: pointer; padding-block: 8px; }
.jtv-prices summary span { margin-left: 12px; color: #56665f; }
.jtv-prices .jtv-price-entry { display: grid; grid-template-columns: minmax(0,1fr) 92px; gap: 14px; align-items: center; padding-block: 12px; border-bottom: 1px solid #e1e8e5; }
.jtv-prices .jtv-price-entry input[type=number] { max-width: 160px; display: block; margin-top: 6px; }
.jtv-prices .jtv-price-active { display: flex; align-items: center; gap: 6px; }
.jtv-prices .jtv-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px; }
.jtv-prices [data-price-result] { overflow-wrap: anywhere; }
.jtv-prices [data-price-result] details { padding-block: 8px; border-bottom: 1px solid #e1e8e5; }

.jtv-price-applied-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #e1e8e5; }

.jtv-app .jtv-customer-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.jtv-app .jtv-customer-actions .jtv-button { width:100%; min-width:0; padding:10px 8px; white-space:normal; }

/* Admin Job Detail only. Public pages and other Operations views are unchanged. */
.jtv-job-detail { display: grid; gap: 12px; min-width: 0; overflow-anchor: none; }
.jtv-job-detail *, .jtv-job-detail *::before, .jtv-job-detail *::after { box-sizing: border-box; min-width: 0; }
.jtv-job-detail :is(h1,h2,h3,h4,p,dd,dt,a,small,button,span) { overflow-wrap: anywhere; }
.jtv-job-detail > .jtv-page-header { margin: 0 0 2px; gap: 10px; align-items: start; }
.jtv-job-detail h1 { font-size: clamp(1.35rem, 3.2vw, 1.85rem); margin-block: 6px; }
.jtv-job-detail > .jtv-page-header p { font-size: .84rem; margin: 4px 0; }
.jtv-job-detail :is(.jtv-section,.jtv-card) { margin-top: 0; }
.jtv-job-detail :is(.jtv-detail-card,.jtv-detail-invoice,.jtv-detail-danger) { background: var(--jtv-surface); border: 1px solid var(--jtv-border); border-radius: 12px; box-shadow: none; }
.jtv-job-detail .jtv-detail-card { padding: 0; overflow: clip; border-left: 3px solid #d5e2dc; }
.jtv-job-detail .jtv-detail-card--customer { border-left-color: var(--jtv-primary); }
.jtv-job-detail .jtv-detail-card--financial { border-left-color: #6d8ebc; }
.jtv-job-detail .jtv-detail-heading { margin: 0; font-size: .94rem; line-height: 1.35; }
.jtv-job-detail .jtv-detail-heading:not(:has(button)) { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 14px; }
.jtv-job-detail .jtv-detail-toggle { display: flex; width: 100%; gap: 10px; align-items: center; border: 0; background: var(--jtv-surface-subtle, #F9FBFA); color: var(--jtv-text); padding: 10px 14px; text-align: left; font: inherit; font-weight: 650; min-height: 44px; border-radius: 0; cursor: pointer; }
.jtv-job-detail .jtv-detail-title { flex: 1; }
.jtv-job-detail .jtv-detail-count { font-size: .77rem; font-weight: 550; color: #46584e; background: #eaf1ed; border-radius: 6px; padding: 3px 7px; max-width: 48%; }
.jtv-job-detail .jtv-detail-more { font-size: .74rem; font-weight: 600; color: var(--jtv-primary-strong, #066239); white-space: nowrap; }
.jtv-job-detail .jtv-detail-chevron { font-size: 1.2rem; transition: transform 130ms ease; }
.jtv-job-detail .is-open > h2 .jtv-detail-chevron { transform: rotate(180deg); }
.jtv-job-detail .jtv-detail-toggle:hover { background: #edf4ef; }
.jtv-job-detail :is(button,a,summary,input):focus-visible { outline: 3px solid var(--jtv-primary); outline-offset: 2px; }
.jtv-job-detail .jtv-detail-body { border-top: 1px solid var(--jtv-border); padding: 12px 14px 8px; font-size: .86rem; }
.jtv-job-detail [hidden] { display: none !important; }
.jtv-job-detail .is-open > .jtv-detail-preview { display: none; }
.jtv-job-detail .jtv-detail-preview { margin: 0; padding: 6px 14px 12px; font-size: .82rem; }
.jtv-job-detail .jtv-detail-kv, .jtv-job-detail .jtv-kv { display: grid; grid-template-columns: minmax(85px, .8fr) minmax(0, 1.5fr); gap: 5px 12px; margin-block: 0; font-size: .84rem; }
.jtv-job-detail :is(.jtv-detail-kv,.jtv-kv) > dt { color: var(--jtv-text-muted, #627067); font-weight: 500; }
.jtv-job-detail :is(.jtv-detail-kv,.jtv-kv) > dd { margin: 0; }
.jtv-job-detail .jtv-detail-body .jtv-item-summary { display: grid; grid-template-columns: 1fr; gap: 3px; margin:0; }
.jtv-job-detail .jtv-detail-body .jtv-item-summary dd { margin: 0 0 7px; }
.jtv-job-detail .jtv-detail-hide { border: 0; background: transparent; color: var(--jtv-primary-strong, #066239); font: inherit; font-size: .8rem; min-height: 44px; padding: 6px 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.jtv-job-detail .jtv-detail-group { margin: 0; padding: 0; }
.jtv-job-detail .jtv-detail-group > h2 { font-size: .98rem; margin: 2px 0 8px; }
.jtv-job-detail .jtv-detail-records { display: grid; gap: 8px; }
.jtv-job-detail .jtv-detail-record { padding: 10px; border: 1px solid var(--jtv-border); border-radius: 8px; background: #f7f9f8; }
.jtv-job-detail .jtv-detail-invoice { padding: 12px 14px; }
.jtv-job-detail .jtv-detail-invoice :is(h2,h4) { font-size: .94rem; margin: 0 0 10px; }
.jtv-job-detail .jtv-detail-actions .jtv-actions { margin: 0; gap: 8px; }
.jtv-job-detail .jtv-button { min-height: 44px; padding: 8px 12px; font-size: .82rem; line-height: 1.3; max-width: 100%; white-space: normal; }
.jtv-job-detail .jtv-actions { flex-wrap: wrap; gap: 8px; }
.jtv-job-detail nav.jtv-actions { margin-top: 10px; }
.jtv-job-detail .jtv-detail-warnings { display: grid; gap: 8px; }
.jtv-job-detail .jtv-detail-warnings .jtv-alert { margin: 0; padding: 10px 12px; font-size: .84rem; }
.jtv-job-detail .jtv-detail-history-preview .jtv-timeline__item { padding-block: 6px; font-size: .82rem; }
.jtv-job-detail .jtv-timeline__item { overflow-wrap: anywhere; }
.jtv-job-detail .jtv-timeline__item strong { font-weight: 550; }
.jtv-job-detail .jtv-timeline small { line-height: 1.5; }
.jtv-job-detail .jtv-detail-body .jtv-card { padding: 10px 0; border: 0; box-shadow: none; }
.jtv-job-detail .jtv-detail-body .jtv-empty { padding: 4px 0; min-height: 0; text-align: left; font-size: .82rem; }
.jtv-job-detail .jtv-detail-body h3 { font-size: .9rem; margin-block: 10px 6px; }
.jtv-job-detail .jtv-detail-body .jtv-page-header { margin: 0 0 10px; }
.jtv-job-detail .jtv-photo-grid { grid-template-columns: repeat(auto-fit, minmax(min(130px,100%), 1fr)); }
.jtv-job-detail .jtv-detail-danger { padding: 12px 14px; margin-top: 6px; background: #fcfaf9; }
.jtv-job-detail .jtv-detail-danger h2 { font-size: .9rem; }
.jtv-job-detail .jtv-detail-danger p { font-size: .8rem; }
.jtv-job-detail .jtv-pricing-snapshot { margin-top: 10px; }
.jtv-job-detail .jtv-pricing-snapshot summary { min-height: 44px; padding-block: 10px; }
.jtv-job-detail .jtv-pricing-component { white-space: normal; }
.jtv-job-detail :is(pre,code) { white-space: pre-wrap; overflow-wrap: anywhere; }
.jtv-job-detail .jtv-ad__identifier { overflow-wrap:anywhere; word-break:break-word; }
@media (max-width: 600px) {
  .jtv-job-detail .jtv-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .jtv-job-detail > .jtv-page-header { display: grid; }
  .jtv-job-detail .jtv-detail-actions .jtv-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .jtv-job-detail .jtv-detail-actions .jtv-button:only-child { grid-column: 1 / -1; justify-self: start; }
  .jtv-job-detail .jtv-detail-toggle { flex-wrap: wrap; gap: 5px 8px; padding-inline: 11px; }
  .jtv-job-detail .jtv-detail-count { max-width: 100%; }
  .jtv-job-detail .jtv-detail-toggle .jtv-detail-count { order: 4; flex-basis: 100%; width: fit-content; background: transparent; padding: 0; }
  .jtv-job-detail .jtv-detail-body { padding-inline: 11px; }
  .jtv-job-detail :is(.jtv-detail-kv,.jtv-kv) { grid-template-columns: minmax(74px,.75fr) minmax(0,1.3fr); gap: 5px 9px; }
  .jtv-job-detail .jtv-detail-preview { padding-inline: 11px; }
  .jtv-job-detail .jtv-job-card__top { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .jtv-job-detail * { transition: none !important; } }



/* 2.24.4: maximize the private inbox and keep secondary controls on demand. */
.jtv-app:has(.jtv-messages--roomy).jtv-app--admin .jtv-main:has([data-messages]) { max-width: none; padding: 8px max(8px, env(safe-area-inset-right)) 8px max(8px, env(safe-area-inset-left)); }
.jtv-app:has(.jtv-messages--roomy) .jtv-main:has([data-messages]) .jtv-workspace-tabs { padding: 0 0 4px; margin: 0 0 4px; gap: 6px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-main:has([data-messages]) .jtv-workspace-tab { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 10px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages { min-height: 0; height: calc(100dvh - 90px); border-radius: 14px; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__sidebar, .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread { position: relative; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__sidebar > :not(.jtv-messages__list), .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread > :not(.jtv-messages__scroller) { flex-shrink: 0; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__sidebar-header { padding: 10px 12px 8px; align-items: center; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__sidebar-header .jtv-eyebrow { display: none; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__sidebar-header h1 { font-size: 1.4rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__header-actions button { min-height: 44px; padding-inline: 10px; font-size: .8rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__search { margin: 0 12px 5px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__search input { width: 100%; min-height: 44px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__inbox-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 5px; border-bottom: 1px solid #e4e7eb; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filters { gap: 1px; padding: 0; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filters button { min-height: 44px; padding-inline: 9px; font-size: .8rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-menu > summary { display: flex; align-items: center; min-height: 44px; padding: 0 9px; border-radius: 9px; color: #1769d3; font-size: .8rem; font-weight: 650; cursor: pointer; list-style: none; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-menu[open] > summary { background: #e2eefa; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-panel, .jtv-app:has(.jtv-messages--roomy) .jtv-messages__options-panel { position: absolute; z-index: 4; inset: 153px 8px auto; max-height: calc(100% - 165px); overflow-y: auto; overscroll-behavior: contain; padding: 12px; border: 1px solid #cbd7e4; border-radius: 12px; background: #fff; box-shadow: 0 8px 25px #19324724; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-panel .jtv-inline { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-panel label { min-width: 0; font-size: .8rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-panel input { width: 100%; min-width: 0; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-panel button[type=submit] { grid-column: 1 / -1; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-panel > p { font-size: .78rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__history-import { padding: 0; border: 0; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__history-import summary { display: flex; align-items: center; min-height: 44px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__new-contact { position: absolute; z-index: 5; top: 62px; left: 8px; right: 8px; margin: 0; max-height: calc(100% - 72px); overflow-y: auto; box-shadow: 0 8px 25px #19324724; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__row { grid-template-columns: 40px minmax(0,1fr) auto; gap: 8px; min-height: 76px; padding: 9px 12px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__row .jtv-messages__avatar { width: 38px; height: 38px; flex-basis: 38px; font-size: 1rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__row-copy strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.2; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__pages:empty, .jtv-app:has(.jtv-messages--roomy) .jtv-messages__attachments:empty { display: none; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header { min-height: 62px; padding: 7px 12px; gap: 8px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header > div { flex: 1; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.2; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header > .jtv-messages__options-toggle { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; border: 1px solid #d8dfe8; border-radius: 10px; background: #fff; color: #1769d3; font: inherit; font-size: .8rem; cursor: pointer; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__options-panel { inset: 64px 8px auto; max-height: calc(100% - 150px); padding: 0; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-actions { justify-content: flex-start; padding: 10px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-actions :is(button,a), .jtv-app:has(.jtv-messages--roomy) .jtv-messages__automation button { min-height: 44px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__timeline { padding: 16px 18px; gap: 10px; }
.jtv-app:has(.jtv-messages--roomy).jtv-app--admin .jtv-messages .jtv-messages__composer { position: relative; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 5px 8px; padding: 8px 10px max(8px, env(safe-area-inset-bottom)); }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__composer textarea { grid-row: 1; grid-column: 2; min-height: 44px; resize: none; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__composer [data-messages-send] { grid-row: 1; grid-column: 3; width: 44px; height: 44px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__tools { display: block; grid-row: 1; grid-column: 1; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__tools > summary { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #cbd7e4; border-radius: 50%; background: #fff; color: #1769d3; font-size: 1.5rem; cursor: pointer; list-style: none; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__tools > summary::-webkit-details-marker, .jtv-app:has(.jtv-messages--roomy) .jtv-messages__filter-menu > summary::-webkit-details-marker { display: none; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__tools-menu { position: absolute; bottom: calc(100% + 8px); left: 8px; width: min(280px, calc(100% - 16px)); max-height: min(280px, 45dvh); overflow-y: auto; padding: 10px; border: 1px solid #cbd7e4; border-radius: 12px; background: #fff; box-shadow: 0 8px 25px #19324724; z-index: 4; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__tools-menu > button { width: 100%; min-height: 44px; padding: 8px; border-radius: 9px; background: #eef5fc; color: #17548a; font-size: .9rem; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__emojis { margin-top: 8px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__emojis button { width: 44px; height: 44px; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__attachments { max-height: 140px; overflow-y: auto; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages__composer small { min-height: 0; }
.jtv-app:has(.jtv-messages--roomy) .jtv-messages :is(summary,button,a):focus-visible { outline: 2px solid #1769d3; outline-offset: -2px; }
@media (max-width: 760px) {
  .jtv-app:has(.jtv-messages--roomy).jtv-app--admin .jtv-main:has([data-messages]) { padding-top: 4px; padding-inline: max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right)); }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages { display: block; min-height: 0; border-radius: 10px; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages.is-thread-open { position: fixed; inset: 0 0 auto; z-index: 60; width: 100%; height: 100dvh; border: 0; border-radius: 0; padding: env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left); }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header { padding: 6px 8px; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header > [data-messages-back] { display: inline-flex; justify-content: center; min-width: 44px; padding: 0 6px; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header > [data-messages-back] span { display: none; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header .jtv-messages__avatar { display: none; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__thread-header strong { font-size: .95rem; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__timeline { padding: 14px 10px; }
  .jtv-app:has(.jtv-messages--roomy) .jtv-messages__message { max-width: 90%; }
}
