/* RangeFinder Wyoming — business dashboard styles */

.nav a.nav-current{color:var(--color-primary);font-weight:600}
.nav a.nav-current::after{width:100%}

/* generic demo/spotlight pills (extend .pill from directory.css) */
.pill-demo{background:color-mix(in oklab,var(--color-accent) 18%,transparent);border-color:transparent;color:var(--color-accent);font-weight:600;cursor:default}
.pill-demo:hover{border-color:transparent;color:var(--color-accent)}
.pill-spotlight{background:color-mix(in oklab,var(--color-primary) 16%,transparent);border-color:transparent;color:var(--color-primary);font-weight:600;cursor:default}
.pill-spotlight:hover{border-color:transparent;color:var(--color-primary)}
.pill-featured{background:color-mix(in oklab,var(--color-accent,#8a5a2b) 16%,transparent);border-color:transparent;color:var(--color-primary);font-weight:600;cursor:default}
.pill-featured:hover{border-color:transparent;color:var(--color-primary)}

/* Provider pricing editor (Phase 5.1) --------------------------------------
   Featured/Spotlight owners set their listing's "Starting at" price here.
   Non-eligible plans see .pricing-upsell instead. Layout uses the standard
   dash-section rhythm so it slots in between Photos and Advertising cleanly. */
.pricing-upsell{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);padding:var(--space-5)}
.pricing-upsell-inner{display:flex;gap:var(--space-4);align-items:flex-start}
.pricing-upsell-ico{font-size:1.75rem;line-height:1}
.pricing-upsell-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);color:var(--color-text);margin-bottom:.25rem}
.pricing-upsell-body{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:.75rem;line-height:1.5}
.pricing-form{display:flex;flex-direction:column;gap:var(--space-3)}
.pricing-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
@media (max-width:640px){.pricing-form-row{grid-template-columns:1fr}}
.pricing-form .bf-label{display:flex;flex-direction:column;gap:.3rem;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}
.pricing-form input[type="number"],.pricing-form input[type="text"],.pricing-form select{width:100%;font-family:var(--font-body);font-size:var(--text-sm);padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);box-sizing:border-box;-webkit-appearance:none;appearance:none}
.pricing-form input:focus,.pricing-form select:focus{outline:2px solid var(--color-primary);outline-offset:1px;background:var(--color-surface);border-color:var(--color-primary)}
.pricing-amount{position:relative}
.pricing-amount-sign{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none}
.pricing-amount input[type="number"]{padding-left:1.6rem}
.pricing-preview{display:flex;flex-wrap:wrap;gap:.4rem;align-items:baseline;padding:.7rem .85rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.pricing-preview-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:600}
.pricing-preview-value{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);font-weight:600}
.pricing-form-actions{margin-top:var(--space-2);justify-content:space-between;gap:var(--space-3)}
.pricing-form-note{font-size:var(--text-xs);color:var(--color-text-muted);min-height:1em;margin:0}

/* top bar */
.dash-topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding-block:var(--space-6)}
.dash-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}
.dash-topbar-head h1{font-size:var(--text-xl);letter-spacing:-.015em;margin-bottom:.2rem}
.dash-topbar-sub{font-size:var(--text-sm);color:var(--color-text-muted)}
.dash-topbar-sub strong{color:var(--color-text)}
.dash-topbar-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.dash-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.55rem .8rem;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;max-width:260px}
.dash-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.plan-badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;padding:.35rem .8rem;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);white-space:nowrap}

/* layout */
.dash-layout{padding-block:var(--space-10) var(--space-20);display:flex;flex-direction:column;gap:var(--space-8)}
.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}
.dash-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}
.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.dash-section-head h2{font-size:var(--text-lg);letter-spacing:-.01em}
.sub-heading{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}

/* KPI cards */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}
.kpi-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:.4rem}
.kpi-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}
.kpi-value{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);color:var(--color-text)}
.kpi-delta{font-size:var(--text-xs);font-weight:500}
.kpi-up{color:var(--color-primary)}
.kpi-down{color:var(--color-accent)}
.kpi-flat{color:var(--color-text-faint)}
.sparkline{display:flex;align-items:flex-end;gap:3px;height:28px;margin-top:.3rem}
.sparkline span{flex:1;height:var(--h);background:color-mix(in oklab,var(--color-primary) 55%,transparent);border-radius:2px 2px 0 0}
.sparkline span:last-child{background:var(--color-primary)}

/* leads table */
.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.leads-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:640px}
.leads-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-offset);padding:.7rem .9rem;font-weight:600}
.leads-table td{padding:.75rem .9rem;border-top:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}
.leads-table tbody tr:hover{background:color-mix(in oklab,var(--color-primary) 5%,transparent)}
.status-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--text-xs);font-weight:600;padding:.25rem .65rem;border-radius:var(--radius-full);white-space:nowrap}
.status-new{background:color-mix(in oklab,var(--color-accent) 18%,transparent);color:var(--color-accent)}
.status-contacted{background:color-mix(in oklab,#B08A2E 18%,transparent);color:#8a6c1f}
[data-theme='dark'] .status-contacted{color:#E0C266}
.status-booked{background:color-mix(in oklab,var(--color-primary) 18%,transparent);color:var(--color-primary)}
.status-bad{background:color-mix(in oklab,#C0392B 18%,transparent);color:#a5281b}
[data-theme='dark'] .status-bad{color:#f0928a}
.leads-table .btn{white-space:nowrap}
.lead-bad-reason{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:.35rem}
.lead-status-controls{display:flex;gap:.4rem;margin-top:.35rem;flex-wrap:wrap}
.lead-status-select,.lead-bad-select{font-size:var(--text-xs);padding:.2rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}
.request-review-link{display:block;width:100%;margin-top:.5rem;font-size:var(--text-xs);padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}

/* reviews */
.reviews-summary{display:flex;align-items:baseline;gap:.6rem}
.reviews-rating{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);color:var(--color-text)}
.reviews-count{font-size:var(--text-sm);color:var(--color-text-muted)}
.review-skeleton-list{display:flex;flex-direction:column;gap:.7rem}
.review-skeleton-card{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:.45rem}
.skel-bar{display:block;height:10px;border-radius:var(--radius-full);background:var(--color-surface-offset)}
.skel-bar.w-40{width:40%}
.skel-bar.w-70{width:70%}
.skel-bar.w-90{width:90%}
.skel-bar.w-55{width:55%}
.review-skeleton-note{font-size:var(--text-xs);color:var(--color-text-faint);font-style:italic;margin-top:.1rem}
.subrating-list{display:flex;flex-direction:column;gap:.55rem}
.subrating-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:.7rem}
.subrating-label{font-size:var(--text-sm);color:var(--color-text)}
.progress-track{display:block;height:8px;border-radius:var(--radius-full);background:var(--color-surface-offset);overflow:hidden}
.progress-fill{display:block;height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition)}
.subrating-note{font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap}

/* calendar */
.cal-month{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}
.cal-dow{font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;font-weight:600;padding-block:.2rem}
.cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition);position:relative}
.cal-day:hover{border-color:var(--color-primary)}
.cal-day.is-empty{border-color:transparent;background:transparent;cursor:default}
.cal-day.is-available{background:color-mix(in oklab,var(--color-primary) 12%,var(--color-bg));border-color:color-mix(in oklab,var(--color-primary) 30%,var(--color-border))}
.cal-day.is-busy{background:color-mix(in oklab,var(--color-accent) 16%,var(--color-bg));border-color:color-mix(in oklab,var(--color-accent) 35%,var(--color-border));color:var(--color-accent)}
.cal-day.is-today{box-shadow:0 0 0 2px var(--color-primary) inset}
.cal-legend{display:flex;gap:var(--space-5);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-text-muted)}
.cal-legend-item{display:inline-flex;align-items:center;gap:.4rem}
.cal-dot{width:10px;height:10px;border-radius:var(--radius-full);display:inline-block}
.cal-dot-available{background:color-mix(in oklab,var(--color-primary) 45%,var(--color-bg));border:1px solid color-mix(in oklab,var(--color-primary) 60%,transparent)}
.cal-dot-busy{background:color-mix(in oklab,var(--color-accent) 45%,var(--color-bg));border:1px solid color-mix(in oklab,var(--color-accent) 60%,transparent)}
.cal-dot-today{background:transparent;border:2px solid var(--color-primary)}
.cal-upcoming{font-size:var(--text-sm);color:var(--color-text-muted)}
.cal-upcoming strong{color:var(--color-text)}

/* photos */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.photo-tile{aspect-ratio:4/3;border-radius:var(--radius-lg);border:1.5px dashed var(--color-border);display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text-faint);position:relative;overflow:hidden}
.photo-tile svg{width:28px;height:28px}
.photo-tile.has-thumb{border-style:solid}
.photo-tile.has-thumb svg{width:100%;height:100%}
.photo-tile-label{position:absolute;bottom:.4rem;left:0;right:0;text-align:center;font-size:var(--text-xs);color:var(--color-text-faint)}

/* photos editor (URL-based) */
.photo-editor{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}
.photo-empty-msg{margin:0}
.photo-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}
.photo-row-preview{width:72px;height:54px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-offset,var(--color-bg));display:grid;place-items:center;flex-shrink:0}
.photo-row-preview img{width:100%;height:100%;object-fit:cover;display:block}
.photo-row-preview img.is-broken{display:none}
.photo-row-ph{font-size:1.3rem;opacity:.5}
.photo-row-fields{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.photo-row-actions{display:flex;flex-direction:column;gap:.3rem}
.btn-xs{padding:.2rem .5rem;font-size:var(--text-xs);line-height:1.2;min-width:2rem}
.photo-remove{color:var(--color-danger,#c0392b)}
.dash-section-actions{margin-top:var(--space-4);display:flex;justify-content:flex-end}
@media (max-width:600px){.photo-row{grid-template-columns:1fr;}.photo-row-actions{flex-direction:row}}

/* toggles / switch */
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:.4rem;border-bottom:1px solid var(--color-border)}
.dash-section .toggle-row:last-of-type{border-bottom:none}
.toggle-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.toggle-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}
.toggle-desc{font-size:var(--text-xs);color:var(--color-text-muted)}
.switch{position:relative;flex-shrink:0;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-border);transition:background var(--transition)}
.switch .switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--transition)}
.switch[aria-checked="true"]{background:var(--color-primary)}
.switch[aria-checked="true"] .switch-knob{transform:translateX(18px)}
.switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.switch.is-locked{opacity:.5;cursor:not-allowed}
.switch:disabled{cursor:not-allowed}
.upgrade-cta{margin-top:.4rem;background:var(--color-surface-offset);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.upgrade-cta p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}
.upgrade-cta.is-hidden{display:none}

/* SERP mock */
.serp-mock{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:.25rem;font-family:Arial,sans-serif}
.serp-url{font-size:var(--text-xs);color:var(--color-text-muted)}
.serp-title{font-size:1.1rem;color:#1a0dab;line-height:1.3}
[data-theme='dark'] .serp-title{color:#8ab4f8}
.serp-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.4}
.seo-tip{font-size:var(--text-sm);color:var(--color-text-muted)}
.seo-tip strong{color:var(--color-text)}

/* billing */
.billing-card{display:flex;flex-direction:column;gap:var(--space-4)}
.billing-row-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.billing-plan-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);margin-right:.6rem}
.billing-plan-price{color:var(--color-text-muted);font-size:var(--text-sm)}
.billing-meta{display:flex;gap:var(--space-8);flex-wrap:wrap}
.billing-meta div{display:flex;flex-direction:column;gap:.15rem}
.billing-meta dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint)}
.billing-meta dd{font-size:var(--text-sm);color:var(--color-text);font-weight:500}
.billing-lineitems{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--color-border);padding-top:var(--space-4)}
.billing-lineitems li{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}
.billing-lineitems a{color:var(--color-primary)}
.billing-lineitems a:hover{text-decoration:underline}
.billing-explainer{font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px dashed var(--color-border);padding-top:var(--space-3)}

/* toast */
.toast{position:fixed;left:50%;bottom:var(--space-8);transform:translateX(-50%) translateY(20px);background:var(--color-text);color:var(--color-bg);font-size:var(--text-sm);padding:.75rem 1.2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);z-index:200;max-width:90vw;text-align:center}
.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}

/* responsive */
@media (max-width:900px){
  .nav{display:none}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .dash-grid-2{grid-template-columns:1fr}
}
@media (max-width:560px){
  .kpi-grid{grid-template-columns:1fr}
  .photo-grid{grid-template-columns:repeat(2,1fr)}
  .subrating-row{grid-template-columns:90px 1fr auto}
  .dash-topbar-controls{width:100%}
  .dash-select{flex:1 1 auto}
}

/* ---- spotlight admin control (admin.css has the rest) ---- */
.spotlight-manager,.spot-manager{display:flex;flex-direction:column;gap:.5rem}
.spot-slot{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem .8rem}
.spot-slot.drag{opacity:.6}
.spot-slot-ico{font-size:1.2rem}
.spot-slot-name{font-weight:600;font-size:var(--text-sm);display:block}
.spot-slot-meta{font-size:var(--text-xs);color:var(--color-text-faint);display:block}
.spot-slot-actions{display:flex;gap:.3rem;align-items:center}
.spot-move{width:28px;height:28px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-offset);color:var(--color-text-muted);cursor:pointer;font-size:.9rem;line-height:1}
.spot-move:hover{color:var(--color-primary);border-color:var(--color-primary)}
.spot-move:disabled{opacity:.35;cursor:default}
@media (max-width:560px){.spot-slot{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.spot-slot-actions{grid-column:1/-1;justify-content:flex-end}}

/* ---- review signal breakdown + keyword tags (detail) ---- */
.signal-note{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;margin:.4rem 0 var(--space-3)}
.keyword-signals{margin-top:var(--space-4)}
.keyword-signals-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.5rem}
.keyword-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.keyword-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--text-xs);font-weight:500;padding:.25rem .55rem;border-radius:var(--radius-full);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);border:1px solid color-mix(in oklab,var(--color-primary) 22%,transparent)}
.keyword-tag.from-cert{background:color-mix(in oklab,var(--color-accent) 12%,transparent);color:var(--color-accent);border-color:color-mix(in oklab,var(--color-accent) 24%,transparent)}
.keyword-tag.from-desc{background:var(--color-surface-offset-2);color:var(--color-text-muted);border-color:var(--color-border)}
.keyword-empty{font-size:var(--text-xs);color:var(--color-text-faint)}

/* ---- Support tickets / feedback widget ---- */
.feedback-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:var(--space-5)}
.feedback-intro{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;margin:0 0 var(--space-4)}
.ticket-form{display:flex;flex-direction:column;gap:var(--space-3)}
.ticket-form-row{display:flex;gap:var(--space-3);flex-wrap:wrap}
.ticket-field{display:flex;flex-direction:column;gap:6px;flex:1 1 220px}
.ticket-field-grow{flex:2 1 280px}
.ticket-field-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);letter-spacing:.02em}
.ticket-field select,.ticket-field input,.ticket-field textarea{width:100%;font:inherit;font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:.55rem .7rem;transition:border-color .15s,box-shadow .15s}
.ticket-field textarea{resize:vertical;min-height:96px}
.ticket-field select:focus,.ticket-field input:focus,.ticket-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 18%,transparent)}
.ticket-form-actions{display:flex;align-items:center;gap:var(--space-3)}
.ticket-form-note{font-size:var(--text-xs);color:var(--color-text-muted)}
.ticket-form-note-err{color:#b3261e}
.ticket-list-wrap{margin-top:var(--space-5);border-top:1px solid var(--color-border);padding-top:var(--space-4)}
.ticket-list-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3)}
.ticket-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.ticket-item{background:var(--color-surface-offset);border:1px solid var(--color-border);border-radius:10px;padding:var(--space-3) var(--space-4)}
.ticket-item-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:6px}
.ticket-cat{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}
.ticket-status{font-size:var(--text-xs);font-weight:700;padding:2px 8px;border-radius:999px}
.st-open{background:color-mix(in oklab,var(--color-accent) 18%,transparent);color:var(--color-accent)}
.st-progress{background:color-mix(in oklab,var(--color-primary) 18%,transparent);color:var(--color-primary)}
.st-resolved{background:color-mix(in oklab,#2e7d32 22%,transparent);color:#2e7d32}
.st-closed{background:var(--color-border);color:var(--color-text-faint)}
.ticket-item-subject{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin:0 0 4px}
.ticket-item-body{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 6px;line-height:1.55;white-space:pre-wrap}
.ticket-item-biz{display:inline-block;font-size:var(--text-xs);color:var(--color-text-faint);margin-bottom:6px}
.ticket-reply{margin-top:8px;padding:10px 12px;border-left:3px solid var(--color-primary);background:color-mix(in oklab,var(--color-primary) 8%,var(--color-surface-offset));border-radius:0 8px 8px 0}
.ticket-reply-tag{font-size:var(--text-xs);font-weight:700;color:var(--color-primary);display:block;margin-bottom:2px}
.ticket-reply p{font-size:var(--text-xs);color:var(--color-text);margin:0 0 4px;line-height:1.55}
.ticket-reply-date{font-size:var(--text-xs);color:var(--color-text-faint)}
.ticket-reply-pending{border-left-color:var(--color-border);color:var(--color-text-faint);font-size:var(--text-xs);font-style:italic}
.ticket-item-date{display:block;margin-top:8px;font-size:var(--text-xs);color:var(--color-text-faint)}
@media(max-width:640px){.ticket-form-row{flex-direction:column}.ticket-field,.ticket-field-grow{flex:1 1 100%}}

/* real-data states (dashboard gating + empty states) */
.dash-window{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}
.dash-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}
.dash-empty{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-5)}
.dash-gate-card{max-width:520px;margin:var(--space-8) auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7);text-align:center;display:flex;flex-direction:column;gap:var(--space-4);align-items:center}
.dash-gate-card h1{margin:0}
.dash-gate-card p{color:var(--color-text-muted);margin:0}

/* real review cards */
.review-card-real{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:.4rem}
.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.review-card-stars{color:var(--color-accent);letter-spacing:.05em}
.review-card-title{font-weight:600;margin:0}
.review-card-body{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}
.review-card-date{font-size:var(--text-xs);color:var(--color-text-muted)}
.review-card-head strong{margin-right:auto}
.dash-review-chip{font-size:var(--text-xs);font-weight:500;padding:.05rem .4rem;border-radius:var(--radius-sm);color:var(--color-text-muted);background:color-mix(in oklab,var(--color-text-muted) 12%,transparent)}
.dash-review-chip-verified{color:#1a7a4c;background:color-mix(in oklab,#1a7a4c 14%,transparent);font-weight:600}
.dash-review-reply{border-left:3px solid var(--color-primary);padding:.4rem .6rem;background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.dash-review-reply-tag{display:block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);margin-bottom:.15rem}
.dash-review-reply p{margin:0;font-size:var(--text-sm)}
.dash-review-reply-form{display:flex;flex-direction:column;gap:.35rem}
.dash-review-reply-form textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .55rem;font:inherit;font-size:var(--text-sm);resize:vertical}
.dash-review-reply-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.dash-review-reply-note{font-size:var(--text-xs);color:var(--color-danger,#c0392b)}

/* calendar provider rows */
.cal-provider-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.6rem}
.cal-linked{color:var(--color-primary)}

/* RangeFinder Promise framing near lead flagging */
.promise-note{margin:.25rem 0 1rem;padding:.7rem .9rem;background:var(--color-surface-alt,#f6f6f4);border:1px solid var(--color-border,#e5e5e5);border-left:3px solid var(--color-primary,#2f6f4e);border-radius:8px;font-size:.9rem;line-height:1.5}
.promise-note a{color:var(--color-primary,#2f6f4e);font-weight:600;text-decoration:none;white-space:nowrap}
.promise-note a:hover{text-decoration:underline}
