:root {
  color-scheme: light;
  --rantal-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rantal-canvas: #f6f8fb;
  --rantal-ink: #0f172a;
  --rantal-text: #334155;
  --rantal-muted: #64748b;
  --rantal-line: rgba(15, 23, 42, .10);
  --rantal-line-strong: rgba(15, 23, 42, .18);
  --rantal-surface: rgba(255, 255, 255, .96);
  --rantal-surface-strong: #ffffff;
  --rantal-primary: #0f766e;
  --rantal-primary-strong: #0b5f59;
  --rantal-accent: #2563eb;
  --rantal-info: #3b82f6;
  --rantal-gold: #a16207;
  --rantal-danger: #dc2626;
  --rantal-radius-sm: 6px;
  --rantal-radius-md: 8px;
  --rantal-shadow: 0 14px 34px rgba(15, 23, 42, .08);
  --rantal-glow: 0 10px 24px rgba(15, 118, 110, .16);
  --ink: var(--rantal-ink) !important;
  --text: var(--rantal-text) !important;
  --muted: var(--rantal-muted) !important;
  --line: var(--rantal-line) !important;
  --card: var(--rantal-surface) !important;
  --bg: var(--rantal-canvas) !important;
  --primary: var(--rantal-primary) !important;
  --brand: var(--rantal-primary) !important;
  --brand-strong: var(--rantal-primary-strong) !important;
  --accent: var(--rantal-accent) !important;
  --danger-ink: #b91c1c !important;
  --ok-ink: #166534 !important;
  --ta-heading: var(--rantal-ink) !important;
  --ta-muted: var(--rantal-muted) !important;
  --ta-label: var(--rantal-primary) !important;
  --ta-placeholder: #94a3b8 !important;
  --ta-focus: var(--rantal-primary) !important;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: var(--rantal-canvas) !important;
}

body {
  min-height: 100vh;
  margin: 0 !important;
  color: var(--rantal-text) !important;
  background: linear-gradient(180deg, #f8fafc 0%, var(--rantal-canvas) 100%) !important;
  font-family: var(--rantal-font) !important;
  letter-spacing: 0;
}

body::before {
  content: none;
}

a {
  color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(15, 118, 110, .24) !important;
  outline-offset: 2px !important;
}

h1,
h2,
h3,
h4,
.card h1,
.card h2,
.card h3,
.panel h1,
.panel h2,
.panel h3,
.properties-title,
.leads-title,
.lead-title,
.property-title,
.section-head,
.portal-brand__title,
.sa-brand,
.tenant-brand,
.public-brand {
  color: var(--rantal-ink) !important;
  letter-spacing: -.02em;
}

p,
li,
dt,
dd,
label,
span,
td,
th,
summary,
.msg,
.subtitle,
.hero-copy,
.section-sub,
.properties-subtitle,
.leads-subtitle,
.lead-subtitle,
.property-subtitle,
.field-help,
small {
  color: var(--rantal-muted) !important;
}

main,
section,
article,
aside,
div,
form {
  color: var(--rantal-text) !important;
}

strong,
b,
.stat strong,
.task b,
.metric-card strong,
.signal-row strong,
.properties-table tbody td:first-child,
.leads-table tbody td:first-child {
  color: var(--rantal-ink) !important;
}

.public-nav,
.site-footer {
  background: transparent !important;
}

.public-nav-wrap,
.portal-header__inner,
.sa-header-wrap,
.tenant-header__inner,
.site-footer__inner {
  max-width: 1160px !important;
}

.public-nav-inner,
.portal-header,
.sa-header,
.tenant-header {
  border-color: var(--rantal-line) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06) !important;
  backdrop-filter: blur(14px) !important;
}

.public-nav-inner {
  border-radius: var(--rantal-radius-md) !important;
}

.public-brand-badge,
.portal-brand__logo,
.tenant-brand__badge {
  border-radius: var(--rantal-radius-md) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--rantal-primary), var(--rantal-info)) !important;
  box-shadow: var(--rantal-glow) !important;
}

.public-menu a,
.portal-nav a,
.portal-mobile-menu__panel a,
.sa-nav a,
.tenant-nav a,
.site-footer__links a {
  color: var(--rantal-text) !important;
  border-radius: var(--rantal-radius-sm) !important;
}

.public-menu a:hover,
.portal-nav a:hover,
.portal-mobile-menu__panel a:hover,
.sa-nav a:hover,
.tenant-nav a:hover {
  color: var(--rantal-ink) !important;
  background: #f8fafc !important;
}

.public-menu a.is-active,
.portal-nav a.is-active,
.portal-mobile-menu__panel a.is-active,
.sa-nav a.is-active,
.tenant-nav a.is-active,
.role-tab[aria-selected="true"] {
  color: var(--rantal-primary) !important;
  background: #e8f4f2 !important;
  border-color: var(--rantal-line-strong) !important;
  box-shadow: none !important;
}

.public-btn,
.portal-btn,
.sa-btn,
.tenant-btn,
.btn,
button,
input[type="submit"] {
  border-radius: var(--rantal-radius-sm) !important;
  border-color: var(--rantal-line-strong) !important;
  background: #fff !important;
  color: var(--rantal-ink) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.btn-outline,
.btn-secondary,
.portal-btn--secondary,
.public-btn-outline,
.secondary-link,
.ghost-link,
.text-link {
  color: var(--rantal-ink) !important;
  background: #fff !important;
  border-color: var(--rantal-line-strong) !important;
}

.public-btn-solid,
.portal-btn--primary,
.btn-solid,
.btn-primary,
button[type="submit"]:not(.tenant-btn):not(.sa-btn) {
  border-color: var(--rantal-primary) !important;
  background: var(--rantal-primary) !important;
  color: #fff !important;
  box-shadow: var(--rantal-glow) !important;
}

.portal-btn--danger {
  border-color: #fecaca !important;
  background: #fef2f2 !important;
  color: var(--rantal-danger) !important;
}

.public-btn:hover,
.portal-btn:hover,
.sa-btn:hover,
.tenant-btn:hover,
.btn:hover,
button:hover {
  transform: translateY(-1px);
  border-color: var(--rantal-primary) !important;
}

.public-signup-panel,
.public-signin-panel,
.portal-mobile-menu__panel,
.card,
.hero-card,
.snapshot,
.snapshot-panel,
.feature,
.cta-panel,
.properties-card,
.lead-card,
.properties-list,
.properties-empty,
.leads-list,
.leads-empty,
.panel,
.wrap > section,
.page .card,
section.card,
.form-card,
.leads-card,
.tenant-card,
.profile-card,
.request-card,
.application-card {
  border: 1px solid var(--rantal-line) !important;
  border-radius: var(--rantal-radius-md) !important;
  background: var(--rantal-surface) !important;
  box-shadow: var(--rantal-shadow) !important;
  backdrop-filter: none !important;
  color: var(--rantal-text) !important;
}

.role-tabs,
.stats .stat,
.stat,
.task,
.pill,
.alert,
.alert-ok,
.alert-error,
.properties-empty,
.leads-empty {
  border-color: var(--rantal-line) !important;
  background: #f8fafc !important;
  color: var(--rantal-text) !important;
}

.status,
.badge,
[class*="status-"],
[class*="badge-"],
.pill {
  border: 1px solid var(--rantal-line) !important;
  color: var(--rantal-text) !important;
}

.eyebrow,
.portal-brand__meta,
.field label,
.lead-label,
.property-label,
thead th,
.properties-table thead th,
.leads-table thead th {
  color: var(--rantal-primary) !important;
  letter-spacing: .14em !important;
}

input,
select,
textarea,
.field input,
.field select,
.field textarea,
.lead-input,
.lead-select,
.lead-textarea,
.property-input,
.property-select,
.property-textarea {
  border: 1px solid var(--rantal-line-strong) !important;
  border-radius: var(--rantal-radius-sm) !important;
  background: #fff !important;
  color: var(--rantal-ink) !important;
  caret-color: var(--rantal-primary) !important;
}

input::placeholder,
textarea::placeholder {
  color: #94a3b8 !important;
}

input:focus,
select:focus,
textarea:focus,
.field input:focus,
.field select:focus,
.field textarea:focus,
.lead-input:focus,
.lead-select:focus,
.lead-textarea:focus,
.property-input:focus,
.property-select:focus,
.property-textarea:focus {
  border-color: var(--rantal-primary) !important;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .12) !important;
}

table,
.properties-table,
.leads-table {
  color: var(--rantal-text) !important;
  background: transparent !important;
}

thead th,
.properties-table thead th,
.leads-table thead th {
  background: #f8fafc !important;
  border-color: var(--rantal-line) !important;
}

tbody td,
.properties-table tbody td,
.leads-table tbody td {
  color: var(--rantal-text) !important;
  border-color: var(--rantal-line) !important;
}

.properties-table thead th,
.leads-table thead th,
table thead th {
  color: var(--rantal-primary) !important;
}

.section-note,
.empty,
.properties-empty,
.field-help,
.hint,
.help,
.muted,
.subtitle,
.card p,
.panel p,
.leads-empty {
  color: var(--rantal-muted) !important;
}

.field-error,
.alert-error,
.error,
[class*="error"] {
  color: var(--rantal-danger) !important;
}

tbody tr:hover td {
  background: #f8fafc !important;
}

.pill-blue,
.badge-info {
  color: #1d4ed8 !important;
  background: #dbeafe !important;
}

.pill-green,
.badge-success {
  color: #166534 !important;
  background: #dcfce7 !important;
}

.pill-amber,
.badge-warning {
  color: #a16207 !important;
  background: #fef3c7 !important;
}

.alert-error,
.field-error,
.error {
  color: var(--rantal-danger) !important;
}

.alert-ok,
.success {
  color: #166534 !important;
}

.site-footer {
  color: var(--rantal-muted) !important;
}

@media (max-width: 720px) {
  .public-nav-inner,
  .portal-header__inner,
  .sa-header-wrap,
  .tenant-header__inner {
    align-items: stretch !important;
  }

  .public-nav-links,
  .portal-actions,
  .sa-nav,
  .tenant-nav {
    width: 100%;
  }

  .tenant-header__inner {
    flex-wrap: wrap !important;
    gap: 10px 12px !important;
    padding: 12px 16px !important;
  }

  .tenant-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .tenant-logout-form {
    margin-left: auto !important;
  }

  .tenant-nav {
    order: 3 !important;
    display: flex !important;
    gap: 6px !important;
  }

  .tenant-nav a {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 6px !important;
    text-align: center !important;
  }

  .tenant-btn {
    white-space: nowrap !important;
    padding: 8px 10px !important;
  }
}

@media (max-width: 767px) {
  body {
    background: var(--rantal-canvas) !important;
    color: var(--rantal-text) !important;
  }

  .page,
  .lead-page,
  .property-page {
    margin-top: 16px !important;
    margin-bottom: 18px !important;
  }

  .card,
  .lead-card,
  .property-card,
  .form-card,
  .profile-card,
  .tenant-card,
  .request-card,
  .application-card {
    border: 1px solid var(--rantal-line) !important;
    border-radius: var(--rantal-radius-md) !important;
    background: var(--rantal-surface) !important;
    box-shadow: var(--rantal-shadow) !important;
    color: var(--rantal-text) !important;
  }

  h1,
  h2,
  h3,
  .lead-title,
  .property-title,
  .profile-title {
    color: var(--rantal-ink) !important;
  }

  .subtitle,
  .lead-subtitle,
  .property-subtitle,
  .field-help {
    color: var(--rantal-muted) !important;
  }

  label,
  .field label,
  .lead-label,
  .property-label {
    color: var(--rantal-primary) !important;
  }

  input:not([type="hidden"]),
  select,
  textarea,
  .field input,
  .field select,
  .field textarea,
  .lead-input,
  .lead-select,
  .lead-textarea,
  .property-input,
  .property-select,
  .property-textarea,
  .properties-search-input,
  .properties-filter-select {
    border: 1px solid var(--rantal-line-strong) !important;
    background: #fff !important;
    color: var(--rantal-ink) !important;
    caret-color: var(--rantal-primary) !important;
  }

  input:not([type="hidden"]):focus,
  select:focus,
  textarea:focus,
  .field input:focus,
  .field select:focus,
  .field textarea:focus,
  .lead-input:focus,
  .lead-select:focus,
  .lead-textarea:focus,
  .property-input:focus,
  .property-select:focus,
  .property-textarea:focus,
  .properties-search-input:focus,
  .properties-filter-select:focus {
    border-color: var(--rantal-primary) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .12) !important;
    outline: none !important;
  }

  select option {
    background: #fff !important;
    color: var(--rantal-ink) !important;
  }

  .lead-empty,
  .properties-empty,
  .leads-empty,
  .alert {
    border-color: var(--rantal-line) !important;
    background: #f8fafc !important;
    color: var(--rantal-text) !important;
  }
}
