/**
 * ProdBy — light dashboard UI
 * Loaded after app.css + vetbill-theme.css
 */

/* ——— Light tokens ——— */
body.vetbill.dashboard,
body.vetbill.dashboard.paywall {
  --bg: #f6f7f9;
  --bg-elevated: #ffffff;
  --bg-hover: #f0f1f4;
  --border: rgba(24, 24, 27, 0.08);
  --border-strong: rgba(24, 24, 27, 0.14);
  --text: #18181b;
  --text-muted: #52525b;
  --text-faint: #71717a;
  --accent: #18181b;
  --accent-2: #3f3f46;
  --accent-dim: rgba(24, 24, 27, 0.06);
  --accent-hover: #09090b;
  --vb-page: #f6f7f9;
  --vb-page-2: #eef0f4;
  --vb-surface: #ffffff;
  --vb-surface-2: #f3f4f6;
  --vb-text: #18181b;
  --vb-muted: #52525b;
  --vb-faint: #71717a;
  --vb-accent: #3f3f46;
  --vb-accent-deep: #18181b;
  --vb-accent-soft: rgba(24, 24, 27, 0.05);
  --vb-border: rgba(24, 24, 27, 0.08);
  --vb-border-strong: rgba(24, 24, 27, 0.14);
  --vb-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05);
  --vb-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  background: var(--vb-page) !important;
  color: var(--vb-text);
}

body.dashboard.vetbill {
  background: #f6f7f9 !important;
  color: #18181b !important;
}

body.vetbill.dashboard::before,
body.vetbill.dashboard.paywall::before {
  background: linear-gradient(180deg, #fafafb 0%, #f0f1f4 100%);
}

/* Shell */
body.vetbill.dashboard .dashboard-shell {
  background: transparent;
}

body.vetbill.dashboard .dash-sidebar {
  background: #ffffff !important;
  border-right: 1px solid var(--vb-border);
  box-shadow: 1px 0 0 rgba(0, 0, 0, 0.02);
}

body.vetbill.dashboard .dash-nav a {
  color: var(--vb-muted);
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 8px;
  padding: 8px 12px;
}

body.vetbill.dashboard .dash-nav a:hover {
  background: var(--vb-accent-soft);
  color: var(--vb-text);
}

body.vetbill.dashboard .dash-nav a.active {
  background: #18181b;
  color: #fafafa;
  border-left: none;
  font-weight: 600;
}

body.vetbill.dashboard .dash-user {
  background: var(--vb-surface-2);
  border: 1px solid var(--vb-border);
}

body.vetbill.dashboard .dash-user-name {
  color: var(--vb-text);
}

body.vetbill.dashboard .dash-user-email {
  color: var(--vb-faint);
}

body.vetbill.dashboard .dash-user .btn-logout {
  background: #ffffff;
  color: var(--vb-text);
  border: 1px solid var(--vb-border-strong);
}

body.vetbill.dashboard .dash-user .btn-logout:hover {
  background: var(--vb-surface-2);
  filter: none;
}

body.vetbill.dashboard .dash-main {
  background: transparent;
}

body.vetbill.dashboard .dash-top {
  border-bottom: 1px solid var(--vb-border);
}

body.vetbill.dashboard .dash-top h1,
body.vetbill.dashboard .vetbill-dash-title {
  color: var(--vb-text);
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

body.vetbill.dashboard .dash-top p,
body.vetbill.dashboard .dash-panel-lede,
body.vetbill.dashboard .vetbill-dash-lede,
body.vetbill.dashboard .seo-muted {
  color: var(--vb-muted);
}

body.vetbill.dashboard .dash-panel,
body.vetbill.dashboard .stat-card,
body.vetbill.dashboard .vetbill-invoice-card {
  background: #ffffff;
  border: 1px solid var(--vb-border);
  border-radius: 12px;
  box-shadow: var(--vb-shadow-sm);
}

body.vetbill.dashboard .dash-panel h2,
body.vetbill.dashboard .vetbill-invoice-card__title {
  color: var(--vb-text);
  font-size: 0.9375rem;
  font-weight: 600;
}

body.vetbill.dashboard .vetbill-invoice-card__text {
  color: var(--vb-muted);
}

body.vetbill.dashboard code.landing-inline-code,
body.vetbill.dashboard .landing-inline-code {
  background: var(--vb-surface-2);
  color: var(--vb-text);
  border: 1px solid var(--vb-border);
}

/* Buttons */
body.vetbill.dashboard .btn-primary,
body.vetbill.dashboard .vetbill-invoice-primary-btn {
  background: #18181b !important;
  color: #fafafa !important;
  border: 1px solid #18181b !important;
  font-weight: 600;
  font-size: 0.8125rem;
  padding: 8px 14px;
  border-radius: 8px;
}

body.vetbill.dashboard .btn-primary:hover {
  background: #27272a !important;
  filter: none;
}

body.vetbill.dashboard .btn-outline {
  background: #ffffff;
  color: var(--vb-text);
  border: 1px solid var(--vb-border-strong);
  font-size: 0.8125rem;
  padding: 7px 12px;
  border-radius: 8px;
}

body.vetbill.dashboard .btn-outline:hover {
  background: var(--vb-surface-2);
  border-color: rgba(24, 24, 27, 0.22);
}

body.vetbill.dashboard .btn-text {
  color: var(--vb-muted);
}

/* ——— Form fields: dark text, compact, readable ——— */
body.vetbill .vetbill-invoice-field label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--vb-muted, #52525b);
  margin-bottom: 5px;
}

body.vetbill .vetbill-invoice-field input,
body.vetbill .vetbill-invoice-field textarea,
body.vetbill .vetbill-invoice-field select,
body.vetbill .vetbill-invoice-field__control,
body.vetbill .profile-form input,
body.vetbill .profile-form textarea,
body.vetbill .dash-settings input,
body.vetbill .dash-settings textarea,
body.vetbill .field input,
body.vetbill .field textarea,
body.vetbill .field select,
body.vetbill .vetbill-reminder-datetime-input,
body.vetbill .vetbill-reminder-date-input,
body.vetbill .vetbill-reminder-time-input,
body.vetbill .vetbill-queue-select,
body.vetbill .vb-client-combobox__input,
body.vetbill .vetbill-clients-roster-search-input,
body.vetbill .vetbill-support-form textarea,
body.vetbill .vetbill-clients-records-form textarea,
body.vetbill .vetbill-clients-records-form input[type="date"],
body.vetbill .vetbill-clients-records-form input[type="text"] {
  color: #18181b !important;
  background: #ffffff !important;
  border: 1px solid rgba(24, 24, 27, 0.14) !important;
  padding: 8px 11px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  border-radius: 8px !important;
  min-height: 0;
}

body.vetbill .vetbill-invoice-field textarea {
  min-height: 4.5rem !important;
}

body.vetbill .vetbill-invoice-field input::placeholder,
body.vetbill .vetbill-invoice-field textarea::placeholder,
body.vetbill .field input::placeholder {
  color: #a1a1aa !important;
}

body.vetbill .vetbill-invoice-field input:focus,
body.vetbill .vetbill-invoice-field textarea:focus,
body.vetbill .vetbill-invoice-field select:focus,
body.vetbill .field input:focus,
body.vetbill .field textarea:focus {
  outline: none !important;
  border-color: #18181b !important;
  box-shadow: 0 0 0 3px rgba(24, 24, 27, 0.08) !important;
}

body.vetbill .vetbill-invoice-field select {
  background-color: #ffffff !important;
  color: #18181b !important;
}

/* Dropdown triggers */
body.vetbill.dashboard .vb-dd__btn,
body.vetbill.dashboard .vb-inv-dd-trigger {
  background: #ffffff;
  color: #18181b;
  border: 1px solid rgba(24, 24, 27, 0.14);
  font-size: 14px;
  padding: 8px 12px;
  border-radius: 8px;
}

body.vetbill.dashboard .vb-dd__panel {
  background: #ffffff;
  border: 1px solid var(--vb-border);
  box-shadow: var(--vb-shadow);
}

body.vetbill.dashboard .vb-dd__option {
  color: var(--vb-text);
}

body.vetbill.dashboard .vb-dd__option:hover,
body.vetbill.dashboard .vb-dd__option[aria-selected="true"] {
  background: var(--vb-accent-soft);
  color: var(--vb-text);
}

/* Tables */
body.vetbill.dashboard .admin-table th {
  background: var(--vb-surface-2);
  color: var(--vb-muted);
}

body.vetbill.dashboard .admin-table td {
  color: var(--vb-text);
  border-color: var(--vb-border);
}

/* Alerts */
body.vetbill.dashboard .alert-success {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}

body.vetbill.dashboard .alert-error {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

/* Lists / checklists */
body.vetbill.dashboard .landing-checklist li,
body.vetbill.dashboard .vetbill-checklist li {
  color: var(--vb-text);
  border-color: var(--vb-border);
}

body.vetbill.dashboard a {
  color: #18181b;
}

body.vetbill.dashboard a:hover {
  color: #52525b;
}

/* Invoice template editor */
body.vetbill.dashboard .vetbill-inv-tpl-preview-root {
  background: var(--vb-surface-2);
  border: 1px solid var(--vb-border);
  border-radius: 10px;
}

body.vetbill.dashboard .vetbill-inv-tpl-swatch-caption,
body.vetbill.dashboard .vetbill-inv-tpl-swatch-hex {
  color: var(--vb-muted);
}

/* Compact form grid */
body.vetbill.dashboard .vetbill-invoice-form {
  gap: 0.85rem;
  max-width: 24rem;
}

/* Paywall light */
body.vetbill.dashboard.paywall .paywall-shell {
  background: var(--vb-page);
}

body.vetbill.dashboard.paywall .paywall-card {
  background: #ffffff;
  border: 1px solid var(--vb-border);
  color: var(--vb-text);
}

/* ——— Override app.css dark dashboard chrome ——— */
body.vetbill.dashboard::before {
  background: linear-gradient(180deg, #fafafb 0%, #f0f1f4 100%) !important;
}

body.vetbill.dashboard .dash-panel,
body.vetbill.dashboard .stat-card {
  background: #ffffff !important;
  border-color: var(--vb-border) !important;
  box-shadow: var(--vb-shadow-sm) !important;
}

body.vetbill.dashboard .stat-card .value,
body.vetbill.dashboard .stat-card .label,
body.vetbill.dashboard .stat-card .hint,
body.vetbill.dashboard .dash-panel h2,
body.vetbill.dashboard .dash-panel li,
body.vetbill.dashboard .dash-item-title,
body.vetbill.dashboard .dash-item-meta {
  color: var(--vb-text);
}

body.vetbill.dashboard .stat-card .label,
body.vetbill.dashboard .dash-panel h2 {
  color: var(--vb-muted);
}

body.vetbill.dashboard .dash-panel code {
  background: var(--vb-surface-2);
  color: var(--vb-text);
  border: 1px solid var(--vb-border);
}

/* ——— Universal readable form controls ——— */
body.vetbill.dashboard input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="color"]):not([type="range"]),
body.vetbill.dashboard textarea,
body.vetbill.dashboard select {
  color: #18181b !important;
  -webkit-text-fill-color: #18181b !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(24, 24, 27, 0.14) !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  border-radius: 7px !important;
  max-width: 100%;
}

body.vetbill.dashboard input::placeholder,
body.vetbill.dashboard textarea::placeholder {
  color: #a1a1aa !important;
  -webkit-text-fill-color: #a1a1aa !important;
}

body.vetbill.dashboard input:-webkit-autofill,
body.vetbill.dashboard input:-webkit-autofill:hover,
body.vetbill.dashboard input:-webkit-autofill:focus {
  -webkit-text-fill-color: #18181b !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
}

body.vetbill.dashboard .field input,
body.vetbill.dashboard .field textarea,
body.vetbill.dashboard .field select,
body.vetbill.dashboard .seo-audit-form .field textarea,
body.vetbill.dashboard .seo-audit-form .field select,
body.vetbill.dashboard .vet-leads-form .vet-leads-field input,
body.vetbill.dashboard .vet-leads-form .vet-leads-field select {
  color: #18181b !important;
  background-color: #ffffff !important;
}

body.vetbill.dashboard .vetbill-invoice-form,
body.vetbill.dashboard .profile-form {
  max-width: 22rem;
}

body.vetbill.dashboard .vetbill-invoice-field {
  max-width: 22rem;
}

/* Modals */
body.vetbill.dashboard .vetbill-inv-modal__panel,
body.vetbill.dashboard .vetbill-messages-modal,
body.vetbill.dashboard .vb-cal-day-modal__inner {
  background: #ffffff !important;
  color: #18181b !important;
}

body.vetbill.dashboard .vetbill-messages-modal__form .field label,
body.vetbill.dashboard .vetbill-inv-modal__title {
  color: var(--vb-muted) !important;
}

body.vetbill.dashboard .vetbill-messages-modal__form .field input[type="text"],
body.vetbill.dashboard .vetbill-messages-modal__form .field input[type="tel"],
body.vetbill.dashboard .vetbill-messages-modal__form .field textarea,
body.vetbill.dashboard .vetbill-messages-compose textarea {
  background: #ffffff !important;
  color: #18181b !important;
  border: 1px solid rgba(24, 24, 27, 0.14) !important;
}

/* Messages page — light shell */
body.vetbill.dashboard.vetbill-page-messages .vetbill-messages-layout,
body.vetbill.dashboard.vetbill-page-messages .vetbill-messages-sidebar,
body.vetbill.dashboard.vetbill-page-messages .vetbill-messages-thread {
  background: #ffffff;
  border-color: var(--vb-border);
}

body.vetbill.dashboard.vetbill-page-messages .vetbill-messages-tabs {
  background: var(--vb-surface-2);
}

body.vetbill.dashboard.vetbill-page-messages .vetbill-messages-tabs__link.is-active {
  background: #ffffff;
  color: #18181b;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

body.vetbill.dashboard .vetbill-messages-compose {
  background: var(--vb-surface-2);
  border-color: var(--vb-border);
}

/* Funnel / site settings cards */
body.vetbill.dashboard .prodby-funnel-card,
body.vetbill.dashboard .prodby-site-card {
  background: #ffffff;
  border: 1px solid var(--vb-border);
  border-radius: 10px;
}

/* Typography polish */
body.vetbill.dashboard {
  font-size: 14px;
  letter-spacing: -0.01em;
}

body.vetbill.dashboard .dash-top {
  margin-bottom: 28px;
  padding-bottom: 20px;
}

body.vetbill.dashboard .dash-panel {
  padding: 20px 22px 22px;
  margin-top: 20px;
}

body.vetbill.dashboard .stat-card {
  padding: 18px 20px 20px;
}
