:root {
  --background: #ffffff;
  --foreground: #0f172a;
  --muted: #f8fafc;
  --muted-foreground: #64748b;
  --border: #e2e8f0;
  --panel: #ffffff;
  --primary: #2563eb;
  --primary-foreground: #ffffff;
  --accent: #0f766e;
  --accent-soft: #ccfbf1;
  --ring: #2563eb;
  --shadow: 0 16px 42px rgba(15, 23, 42, .08);
  --radius: 8px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.site-container {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.site-topbar {
  background: #172554;
  color: #fff;
}

.topbar-inner {
  display: grid;
  min-height: 44px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding-block: 8px;
  font-size: 13px;
}

.topbar-inner p {
  margin: 0;
  color: #dbeafe;
  text-align: center;
}

.topbar-pill,
.topbar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 6px 10px;
  font-weight: 800;
}

.topbar-pill {
  background: #fff;
  color: #1d4ed8;
}

.topbar-link {
  border: 1px solid rgba(255, 255, 255, .28);
  color: #fff;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(16px);
}

.header-inner {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.brand-mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: var(--primary);
  color: var(--primary-foreground);
  font-size: 12px;
  letter-spacing: .04em;
}

.brand-text {
  font-size: 18px;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--muted-foreground);
  font-size: 14px;
  font-weight: 500;
}

.desktop-nav a:hover,
.footer-links a:hover {
  color: var(--foreground);
}

.language-pill {
  display: inline-flex;
  gap: 3px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .8);
  padding: 3px;
}

.language-pill a {
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 800;
}

.language-pill a.active {
  background: var(--primary);
  color: #fff;
}

.header-actions,
.hero-actions,
.portal-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 700;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn:focus-visible,
.mobile-menu-button:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.btn-primary {
  background: var(--primary);
  color: var(--primary-foreground);
  box-shadow: 0 1px 1px rgba(43, 36, 53, .12);
}

.btn-primary:hover {
  background: #1d4ed8;
}

.btn-outline,
.btn-ghost {
  border-color: var(--border);
  background: #f8f9fa;
  color: #3b3347;
  box-shadow: 0 1px 1px rgba(43, 36, 53, .06);
}

.btn-ghost {
  border-color: transparent;
}

.btn-outline:hover,
.btn-ghost:hover {
  border-color: #cbd5e1;
  background: #eef0f3;
}

.btn-large {
  min-height: 46px;
  padding-inline: 18px;
}

.btn-small {
  min-height: 28px;
  padding: 4px 8px;
  font-size: 12px;
}

.btn-danger {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.btn-danger:hover {
  border-color: #fca5a5;
  background: #fee2e2;
}

.app-confirm-modal.fade {
  opacity: 0;
  transition: opacity .15s linear;
}

.app-confirm-modal.show {
  opacity: 1;
}

.app-confirm-modal .modal-dialog {
  max-width: 500px;
  margin: 1.75rem auto;
  transition: none;
  transform: none !important;
}

.app-confirm-modal.show .modal-dialog {
  transform: none !important;
}

.app-confirm-modal .modal-content {
  border: 1px solid rgba(0, 0, 0, .175);
  border-radius: .5rem;
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.app-confirm-modal .modal-header,
.app-confirm-modal .modal-footer {
  border-color: #dee2e6;
}

.app-confirm-modal .modal-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
}

.app-confirm-modal .modal-body p {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .app-confirm-modal.fade,
  .app-confirm-modal .modal-dialog {
    transition: none;
  }
}

.mobile-menu-button {
  display: none;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
}

.mobile-menu-button span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  border-radius: 999px;
  background: var(--foreground);
}

.mobile-menu {
  display: none;
  border-top: 1px solid var(--border);
  padding: 10px 16px 16px;
  background: var(--panel);
}

.mobile-menu[data-open="true"] {
  display: grid;
  gap: 10px;
}

.mobile-menu a {
  border-radius: 8px;
  padding: 10px;
  color: var(--muted-foreground);
  font-weight: 600;
}

.mobile-menu a:hover {
  background: var(--muted);
  color: var(--foreground);
}

.hero-section {
  padding: 72px 0 56px;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  align-items: center;
  gap: 48px;
}

.hero-copy h1,
.section-heading h2,
.operations-grid h2,
.portal-inner h2 {
  margin: 12px 0 0;
  max-width: 760px;
  font-size: clamp(38px, 7vw, 68px);
  line-height: 1.02;
  letter-spacing: 0;
}

.section-heading h2,
.operations-grid h2,
.portal-inner h2 {
  font-size: clamp(30px, 4.5vw, 48px);
}

.eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--panel);
  padding: 5px 10px;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-lede,
.section-heading p,
.operations-grid p {
  max-width: 660px;
  margin: 20px 0 0;
  color: var(--muted-foreground);
  font-size: 18px;
}

.hero-actions {
  margin-top: 28px;
  flex-wrap: wrap;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 560px;
  margin: 34px 0 0;
}

.hero-stats div,
.feature-card,
.checklist-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}

.hero-stats div {
  padding: 15px;
}

.hero-stats dt {
  font-size: 26px;
  font-weight: 800;
}

.hero-stats dd {
  margin: 2px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.hero-media {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--muted);
  box-shadow: var(--shadow);
}

.hero-media img {
  width: 100%;
  min-height: 420px;
  object-fit: cover;
}

.media-panel {
  position: absolute;
  display: grid;
  gap: 2px;
  max-width: 240px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  padding: 12px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .12);
  font-size: 13px;
}

.media-panel span {
  color: var(--muted-foreground);
}

.media-panel-top {
  top: 18px;
  right: 18px;
}

.media-panel-bottom {
  bottom: 18px;
  left: 18px;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #16a34a;
}

.section-band,
.operations-section,
.portal-strip {
  padding: 72px 0;
}

.section-band {
  background: var(--muted);
}

.section-heading {
  display: grid;
  gap: 0;
  margin-bottom: 28px;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.feature-card {
  min-height: 220px;
  padding: 22px;
}

.card-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: var(--accent-soft);
  color: #134e4a;
  font-size: 12px;
  font-weight: 800;
}

.feature-card h3,
.checklist-panel h3 {
  margin: 18px 0 0;
  font-size: 18px;
}

.feature-card p {
  margin: 10px 0 0;
  color: var(--muted-foreground);
}

.operations-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 40px;
  align-items: start;
}

.checklist-panel {
  padding: 24px;
}

.checklist-panel ul {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.checklist-panel li {
  position: relative;
  padding-left: 26px;
  color: var(--muted-foreground);
}

.checklist-panel li::before {
  position: absolute;
  left: 0;
  top: 3px;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--accent-soft);
  content: "";
}

.checklist-panel li::after {
  position: absolute;
  left: 6px;
  top: 7px;
  width: 6px;
  height: 9px;
  border-right: 2px solid #0f766e;
  border-bottom: 2px solid #0f766e;
  content: "";
  transform: rotate(40deg);
}

.portal-strip {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
}

.portal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pricing-page-hero {
  padding: 64px 0 34px;
}

.pricing-page-hero h1 {
  max-width: 780px;
  margin: 12px 0 0;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.04;
  letter-spacing: 0;
}

.pricing-plans {
  display: grid;
  gap: 22px;
}

.pricing-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.pricing-toolbar p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 14px;
}

.pricing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
  padding: 3px;
}

.pricing-toggle button {
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 8px 12px;
  color: var(--muted-foreground);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.pricing-toggle button.active {
  background: var(--panel);
  color: var(--foreground);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .12);
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.pricing-card {
  position: relative;
  display: grid;
  min-height: 438px;
  grid-template-rows: auto 1fr auto;
  gap: 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 24px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
}

.pricing-card.featured {
  border-color: #111827;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .12);
}

.pricing-ribbon {
  position: absolute;
  top: 16px;
  right: 16px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #eff6ff;
  padding: 5px 9px;
  color: #1e40af;
  font-size: 11px;
  font-weight: 800;
}

.pricing-card-heading h3 {
  margin: 0;
  font-size: 20px;
}

.pricing-card-heading strong {
  display: block;
  margin-top: 12px;
  color: var(--foreground);
  font-size: 28px;
  line-height: 1.12;
}

.pricing-card-heading p {
  margin: 12px 0 0;
  color: var(--muted-foreground);
  font-size: 14px;
}

.pricing-features {
  display: grid;
  align-content: start;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pricing-features li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  color: var(--foreground);
  font-size: 14px;
}

.pricing-features i {
  color: #0f766e;
}

.selected-plan-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #f8fafc;
  padding: 14px;
}

.selected-plan-panel div {
  display: grid;
  gap: 4px;
  text-align: right;
}

.selected-plan-panel strong {
  color: var(--foreground);
}

.selected-plan-panel span:not(.eyebrow) {
  color: var(--muted-foreground);
  font-size: 14px;
}

@media (max-width: 1120px) {
  .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.property-portal-landing {
  min-height: 100vh;
  background: var(--background);
}

.property-portal-hero {
  display: grid;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  align-content: center;
  gap: 56px;
  padding-top: 42px;
  padding-right: clamp(24px, 6vw, 88px);
  padding-bottom: 42px;
  padding-left: clamp(24px, 6vw, 88px);
}

.property-portal-copy h1 {
  margin: 10px 0 0;
  color: var(--foreground);
  font-size: clamp(38px, 6vw, 72px);
  line-height: .98;
  letter-spacing: 0;
}

.property-portal-copy p {
  margin: 18px 0 0;
  color: var(--muted-foreground);
  font-size: 18px;
  line-height: 1.6;
}

.property-soon-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 18%, rgba(20, 184, 166, .12), transparent 30%),
    linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}

.property-soon-shell {
  display: grid;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  align-content: center;
  gap: 48px;
  padding-top: 42px;
  padding-right: clamp(24px, 6vw, 88px);
  padding-bottom: 42px;
  padding-left: clamp(24px, 6vw, 88px);
}

.property-soon-card {
  display: grid;
  width: 100%;
  min-height: 64vh;
  align-content: center;
  border-top: 1px solid rgba(108, 95, 199, .18);
  border-bottom: 1px solid rgba(108, 95, 199, .18);
  padding: clamp(28px, 6vw, 56px) 0;
}

.property-soon-mark {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 22px;
  place-items: center;
  border-radius: 8px;
  background: var(--accent-soft);
  color: var(--primary);
  font-size: 22px;
}

.property-soon-card h1 {
  margin: 10px 0 0;
  color: var(--foreground);
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1;
  letter-spacing: 0;
}

.property-soon-card p {
  margin: 18px 0 0;
  color: var(--muted-foreground);
  font-size: 17px;
  line-height: 1.65;
}

.property-soon-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.property-soon-meta span {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  padding: 7px 11px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 700;
}

.register-section {
  padding: 64px 0 72px;
  background: #f8fafc;
}

.register-grid {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.register-copy {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 18px;
}

.register-copy h1,
.register-success h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1.04;
  letter-spacing: 0;
}

.register-copy p,
.register-success p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 17px;
}

.register-note,
.register-panel,
.register-success {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.register-note {
  display: grid;
  gap: 6px;
  padding: 16px;
}

.register-note span {
  color: var(--muted-foreground);
  font-size: 14px;
}

.register-panel {
  padding: 24px;
}

.register-panel .panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 16px;
  margin-bottom: 18px;
}

.register-panel .panel-heading h2 {
  margin: 0;
  font-size: 22px;
}

.register-panel .panel-heading p {
  margin: 4px 0 0;
  color: var(--muted-foreground);
}

.public-register-form {
  gap: 18px;
}

.public-register-form input,
.public-register-form select,
.public-register-form textarea {
  width: 100%;
}

.register-success-section {
  min-height: 58vh;
  display: grid;
  align-items: center;
}

.register-success {
  display: grid;
  gap: 18px;
  max-width: 720px;
  padding: 34px;
}

.site-footer {
  padding: 38px 0;
}

.page-hero {
  padding: 72px 0;
}

.compact-page-hero {
  padding-bottom: 42px;
}

.page-hero-grid,
.contact-grid,
.split-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
  gap: 36px;
  align-items: start;
}

.page-hero h1,
.compact-page-hero h1 {
  max-width: 820px;
  margin: 12px 0 0;
  font-size: clamp(38px, 6vw, 64px);
  line-height: 1;
  letter-spacing: 0;
}

.page-hero p,
.compact-page-hero p,
.copy-stack p,
.portal-inner p {
  margin: 18px 0 0;
  color: var(--muted-foreground);
  font-size: 17px;
  line-height: 1.65;
}

.compact-media img {
  min-height: 320px;
}

.three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.four-up {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-card.compact {
  min-height: 190px;
}

.feature-story-section {
  background: #f8fafc;
}

.feature-stories {
  display: grid;
  gap: 24px;
}

.feature-story {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  padding: 22px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.feature-story.reversed .story-visual {
  order: 2;
}

.story-visual {
  overflow: hidden;
  border-radius: 10px;
  background: var(--muted);
}

.story-visual img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.feature-story h3,
.module-detail h2,
.demo-role-card h2,
.help-category h2,
.demo-card h2,
.split-section h2,
.legal-content h2 {
  margin: 0;
  font-size: 26px;
  line-height: 1.14;
}

.check-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 30px;
  color: var(--muted-foreground);
}

.check-list li::before {
  position: absolute;
  left: 0;
  top: 2px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  content: "\2713";
  font-size: 12px;
  font-weight: 900;
}

.testimonial-section,
.faq-section,
.feature-anchor-section {
  padding: 72px 0;
}

.testimonial-grid,
.faq-grid,
.demo-grid,
.help-category-grid,
.feature-anchor-grid {
  display: grid;
  gap: 16px;
}

.testimonial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.testimonial-grid figure,
.faq-grid details,
.module-detail,
.demo-role-card,
.help-category,
.contact-card,
.demo-card,
.legal-content {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.testimonial-grid figure {
  margin: 0;
  padding: 24px;
}

.testimonial-grid blockquote {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 14px;
  line-height: 1.7;
}

.testimonial-grid figcaption {
  margin-top: 18px;
  color: var(--foreground);
  font-weight: 800;
}

.testimonial-grid figcaption span {
  display: block;
  margin-top: 3px;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 600;
}

.faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.faq-grid details {
  padding: 22px;
}

.faq-grid summary {
  cursor: pointer;
  color: var(--foreground);
  font-weight: 800;
}

.faq-grid p {
  margin: 12px 0 0;
  color: var(--muted-foreground);
}

.feature-anchor-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.module-detail {
  scroll-margin-top: 120px;
  padding: 24px;
}

.module-index,
.category-meta,
.legal-updated,
.pricing-guarantee {
  display: inline-flex;
  width: fit-content;
  color: var(--primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.module-detail p,
.demo-role-card p,
.help-category p,
.demo-card p,
.legal-content p {
  margin: 12px 0 0;
  color: var(--muted-foreground);
  line-height: 1.65;
}

.about-stat-panel {
  display: grid;
  gap: 14px;
  margin: 0;
}

.about-stat-panel div {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 20px;
}

.about-stat-panel dt {
  font-size: 34px;
  font-weight: 900;
}

.about-stat-panel dd {
  margin: 4px 0 0;
  color: var(--muted-foreground);
}

.copy-stack {
  display: grid;
  gap: 4px;
}

.help-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.help-stats span {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--panel);
  padding: 8px 12px;
  color: var(--muted-foreground);
}

.help-stats strong {
  color: var(--foreground);
}

.help-category-grid,
.demo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.help-category,
.demo-role-card,
.contact-card,
.demo-card {
  padding: 24px;
}

.category-meta {
  margin-top: 16px;
  color: var(--muted-foreground);
}

.contact-card {
  display: grid;
  gap: 18px;
}

.contact-card div {
  display: grid;
  gap: 4px;
}

.contact-card i {
  color: var(--primary);
  font-size: 20px;
}

.contact-card span {
  color: var(--muted-foreground);
}

.public-contact-form {
  gap: 18px;
}

.public-contact-form input,
.public-contact-form select,
.public-contact-form textarea {
  width: 100%;
}

.form-disclaimer {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.form-disclaimer a {
  color: var(--primary);
  font-weight: 800;
}

.demo-role-card {
  display: grid;
  gap: 18px;
}

.demo-role-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.demo-role-card dl div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 8px;
}

.demo-role-card dt {
  color: var(--muted-foreground);
  font-weight: 700;
}

.demo-role-card dd {
  margin: 0;
  color: var(--foreground);
  font-weight: 800;
  word-break: break-word;
}

.legal-content {
  display: grid;
  max-width: 860px;
  gap: 24px;
  padding: 30px;
}

.footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  color: var(--muted-foreground);
  font-size: 14px;
}

.footer-brand {
  color: var(--foreground);
}

.footer-inner p {
  margin: 12px 0 0;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: flex-end;
  gap: 10px 18px;
  font-weight: 600;
}

.footer-copy {
  grid-column: 1 / -1;
  border-top: 1px solid var(--border);
  padding-top: 18px;
}

@media (max-width: 920px) {
  .desktop-nav,
  .header-actions {
    display: none;
  }

  .topbar-inner {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .mobile-menu-button {
    display: block;
  }

  .hero-grid,
  .operations-grid,
  .page-hero-grid,
  .contact-grid,
  .split-section,
  .feature-story {
    grid-template-columns: 1fr;
  }

  .hero-media img {
    min-height: 320px;
  }

  .card-grid,
  .testimonial-grid,
  .faq-grid,
  .feature-anchor-grid,
  .help-category-grid,
  .demo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .feature-story.reversed .story-visual {
    order: 0;
  }

  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .portal-inner,
  .footer-inner,
  .register-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .register-copy {
    position: static;
  }

  .footer-links {
    grid-template-columns: repeat(2, minmax(0, max-content));
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .hero-section {
    padding-top: 48px;
  }

  .pricing-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .pricing-toggle {
    width: 100%;
  }

  .pricing-toggle button {
    flex: 1;
  }

  .hero-stats,
  .card-grid,
  .testimonial-grid,
  .faq-grid,
  .feature-anchor-grid,
  .help-category-grid,
  .demo-grid,
  .footer-links {
    grid-template-columns: 1fr;
  }

  .media-panel {
    position: static;
    margin: 12px;
  }
}

.app-body {
  --background: #f6f5f8;
  --foreground: #2b2435;
  --muted: #faf9fb;
  --muted-foreground: #6f6878;
  --border: #dedbe5;
  --panel: #ffffff;
  --primary: #6c5fc7;
  --primary-foreground: #ffffff;
  --accent: #6c5fc7;
  --accent-soft: #f0ecff;
  --ring: #6c5fc7;
  --shadow: 0 1px 2px rgba(43, 36, 53, .08);
  min-height: 100vh;
  background: var(--background);
  color: var(--foreground);
  font-size: 13px;
}

.app-shell {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 292px minmax(0, 1fr);
}

.client-shell {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 252px minmax(0, 1fr);
}

.client-sidebar {
  position: sticky;
  top: 0;
  display: grid;
  height: 100vh;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 16px;
  border-right: 1px solid var(--border);
  background: #fbfafc;
  padding: 18px 14px;
}

.client-sidebar-header {
  display: grid;
  gap: 8px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 18px;
}

.client-sidebar-header > span {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 700;
}

.client-main {
  min-width: 0;
}

.client-nav {
  display: grid;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
}

.client-nav-search {
  position: relative;
  display: block;
}

.client-nav-search i {
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  display: grid;
  width: 16px;
  height: 100%;
  place-items: center;
  color: var(--muted-foreground);
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
  transform: none;
}

.client-nav-search i::before {
  line-height: 1;
}

.client-nav-search input {
  width: 100%;
  height: 40px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #ffffff;
  padding: 0 12px 0 34px;
  color: var(--foreground);
  font: inherit;
  outline: none;
}

.client-nav-search input:focus {
  border-color: #b8afe8;
  box-shadow: 0 0 0 3px rgba(108, 95, 199, .14);
}

.client-nav-groups {
  display: grid;
  min-height: 0;
  align-content: start;
  gap: 6px;
  overflow-y: auto;
  padding-right: 3px;
}

.client-nav-group {
  display: grid;
  gap: 4px;
}

.client-nav-group-toggle {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 7px 9px;
  color: var(--muted-foreground);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}

.client-nav-group-toggle:hover {
  background: #f1eff6;
  color: var(--foreground);
}

.client-nav-group-toggle i {
  font-size: 11px;
  transition: transform 140ms ease;
}

.client-nav-group-toggle[aria-expanded="true"] i {
  transform: rotate(90deg);
}

.client-nav-group-items {
  display: grid;
  gap: 3px;
}

.client-nav-empty {
  margin: 0;
  border-radius: 7px;
  background: #f1eff6;
  padding: 10px;
  color: var(--muted-foreground);
  font-weight: 600;
}

.client-nav-quota {
  justify-content: center;
  min-height: 38px;
  border-top: 1px solid var(--border);
  background: var(--foreground);
  color: #ffffff;
}

.client-nav-quota .app-nav-icon {
  background: rgba(255, 255, 255, .14);
  color: #ffffff;
}

.client-nav-quota:hover,
.client-nav-quota.active {
  background: var(--primary);
  color: #ffffff;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.app-rail {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  height: 100vh;
  grid-template-rows: auto 1fr auto;
  justify-items: center;
  border-right: 1px solid var(--border);
  background: #ffffff;
  padding: 10px 8px;
}

.app-rail-brand,
.app-rail-item,
.app-rail-user {
  position: relative;
  display: grid;
  width: 42px;
  min-height: 42px;
  align-items: center;
  justify-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 5px;
  color: #4f465c;
  font-size: 12px;
  font-weight: 800;
}

.app-rail-brand {
  color: var(--foreground);
}

.app-rail-brand::after,
.app-rail-item::after,
.app-rail-user::after {
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  z-index: 80;
  width: max-content;
  max-width: 220px;
  padding: 6px 9px;
  border: 1px solid #23202a;
  border-radius: 6px;
  background: #23202a;
  box-shadow: 0 10px 22px rgba(24, 19, 32, 0.18);
  color: #ffffff;
  content: attr(data-tooltip);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translate(-4px, -50%);
  transition: opacity 120ms ease, transform 120ms ease;
  white-space: nowrap;
}

.app-rail-brand::before,
.app-rail-item::before,
.app-rail-user::before {
  position: absolute;
  top: 50%;
  left: calc(100% + 5px);
  z-index: 81;
  width: 8px;
  height: 8px;
  background: #23202a;
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: translate(-4px, -50%) rotate(45deg);
  transition: opacity 120ms ease, transform 120ms ease;
}

.app-rail-brand:hover::after,
.app-rail-brand:hover::before,
.app-rail-brand:focus-visible::after,
.app-rail-brand:focus-visible::before,
.app-rail-item:hover::after,
.app-rail-item:hover::before,
.app-rail-item:focus-visible::after,
.app-rail-item:focus-visible::before,
.app-rail-user:hover::after,
.app-rail-user:hover::before {
  opacity: 1;
  transform: translate(0, -50%);
}

.app-rail-brand:hover::before,
.app-rail-brand:focus-visible::before,
.app-rail-item:hover::before,
.app-rail-item:focus-visible::before,
.app-rail-user:hover::before {
  transform: translate(0, -50%) rotate(45deg);
}

.app-rail-nav {
  display: grid;
  align-content: start;
  gap: 6px;
  margin-top: 18px;
}

.app-rail-icon {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 7px;
  background: #f2f0f6;
  color: #5f566c;
  font-size: 14px;
  font-weight: 900;
}

.app-rail-item:hover,
.app-rail-item.active {
  border-color: #cfc9ef;
  background: var(--accent-soft);
  color: var(--primary);
}

.app-rail-brand .app-rail-icon,
.app-rail-item.active .app-rail-icon {
  background: var(--primary);
  color: var(--primary-foreground);
}

.nav-unread-dot {
  position: absolute;
  top: 2px;
  right: 2px;
  display: grid;
  min-width: 17px;
  height: 17px;
  place-items: center;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #dc2626;
  color: #ffffff;
  font-size: 9px;
  line-height: 1;
}

.app-rail-user {
  border-color: var(--border);
  background: var(--muted);
  color: var(--foreground);
}

.app-sidebar {
  position: sticky;
  top: 0;
  display: grid;
  height: 100vh;
  grid-template-rows: auto minmax(0, 1fr);
  border-right: 1px solid var(--border);
  background: #fbfafc;
  padding: 0;
}

.app-sidebar-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  min-height: 72px;
  align-content: center;
  border-bottom: 1px solid var(--border);
  background: rgba(251, 250, 252, .96);
  padding: 16px 18px;
  backdrop-filter: blur(12px);
}

.app-sidebar-header span {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.app-sidebar-header strong {
  margin-top: 2px;
  color: var(--foreground);
  font-size: 18px;
  font-weight: 800;
}

.app-sidebar-content {
  min-height: 0;
  overflow-y: auto;
  padding: 14px;
}

.root-sidebar-nav {
  display: grid;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
}

.root-nav-search {
  position: relative;
  display: block;
}

.root-nav-search i {
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  display: grid;
  width: 16px;
  height: 100%;
  place-items: center;
  color: var(--muted-foreground);
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
  transform: none;
}

.root-nav-search i::before {
  line-height: 1;
}

.root-nav-search input {
  width: 100%;
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #ffffff;
  padding: 0 12px 0 34px;
  color: var(--foreground);
  font: inherit;
  outline: none;
}

.root-nav-search input:focus {
  border-color: #b8afe8;
  box-shadow: 0 0 0 3px rgba(108, 95, 199, .14);
}

.root-nav-groups {
  display: grid;
  min-height: 0;
  align-content: start;
  gap: 6px;
  overflow-y: auto;
  padding-right: 3px;
}

.root-nav-group {
  display: grid;
  gap: 4px;
}

.root-nav-group-toggle {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 7px 9px;
  color: var(--muted-foreground);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}

.root-nav-group-toggle:hover {
  background: #f1eff6;
  color: var(--foreground);
}

.root-nav-group-toggle i {
  font-size: 11px;
  transition: transform 140ms ease;
}

.root-nav-group-toggle[aria-expanded="true"] i {
  transform: rotate(90deg);
}

.root-nav-group-items {
  display: grid;
  gap: 3px;
}

.root-nav-empty {
  margin: 0;
  border-radius: 7px;
  background: #f1eff6;
  padding: 10px;
  color: var(--muted-foreground);
  font-weight: 600;
}

.app-brand {
  display: flex;
  margin-bottom: 18px;
  padding: 0 8px 16px;
  border-bottom: 1px solid var(--border);
}

.app-brand .brand-mark {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--primary);
}

.app-brand .brand-text {
  font-size: 15px;
  font-weight: 800;
}

.app-nav {
  display: grid;
  gap: 3px;
}

.app-nav-label,
.app-kicker {
  margin: 14px 8px 7px;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.app-nav-item {
  display: flex;
  min-height: 30px;
  align-items: center;
  gap: 8px;
  border-radius: 6px;
  padding: 5px 8px;
  color: #4f465c;
  font-size: 13px;
  font-weight: 600;
}

.app-nav-item:hover {
  background: #f1eff6;
  color: var(--foreground);
}

.app-nav-item.active {
  background: var(--accent-soft);
  color: var(--primary);
}

.app-nav-item.disabled {
  cursor: not-allowed;
  opacity: .55;
}

.app-nav-icon {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 5px;
  background: #f2f0f6;
  color: #6f6878;
  font-size: 12px;
  font-weight: 800;
}

.app-nav-item.active .app-nav-icon {
  background: #ffffff;
  color: var(--primary);
}

.nav-unread-count {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  margin-left: auto;
  place-items: center;
  border-radius: 999px;
  background: #dc2626;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
}

.app-main {
  min-width: 0;
  background: var(--background);
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  min-height: 48px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) auto auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, .92);
  padding: 7px 22px;
  backdrop-filter: blur(12px);
}

.client-main .app-topbar {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.client-shell.has-client-impersonation {
  min-height: calc(100vh - 44px);
}

.client-shell.has-client-impersonation .client-sidebar {
  top: 44px;
  height: calc(100vh - 44px);
}

.client-shell.has-client-impersonation .app-topbar {
  top: 44px;
}

.client-impersonation-banner {
  position: sticky;
  top: 0;
  z-index: 45;
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #bae6fd;
  background: #f0f9ff;
  color: #075985;
  padding: 8px 22px;
}

.client-impersonation-banner > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.client-impersonation-banner i {
  color: #0284c7;
  font-size: 14px;
}

.client-impersonation-banner span {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.client-impersonation-banner strong,
.client-impersonation-banner small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-impersonation-banner strong {
  font-size: 12px;
  line-height: 1.15;
}

.client-impersonation-banner small {
  color: #0369a1;
  font-size: 11px;
  font-weight: 700;
}

.owner-preview-banner {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #bae6fd;
  background: #f0f9ff;
  color: #075985;
  padding: 8px 22px;
}

.owner-preview-banner > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.owner-preview-banner i {
  color: #0284c7;
  font-size: 14px;
}

.owner-preview-banner span {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.owner-preview-banner strong,
.owner-preview-banner small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-preview-banner strong {
  font-size: 12px;
  line-height: 1.15;
}

.owner-preview-banner small {
  color: #0369a1;
  font-size: 11px;
  font-weight: 700;
}

.client-property-switcher {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-self: end;
  gap: 8px;
}

.client-property-switcher .form-field {
  width: min(32vw, 280px);
  min-width: 190px;
  gap: 0;
}

.owner-property-switcher {
  width: min(32vw, 300px);
  min-width: 210px;
  justify-self: end;
  gap: 0;
}

.owner-shell.has-owner-preview {
  min-height: calc(100vh - 44px);
}

.owner-shell.has-owner-preview .client-sidebar {
  top: 44px;
  height: calc(100vh - 44px);
}

.app-breadcrumbs {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 600;
}

.app-breadcrumbs strong {
  color: var(--foreground);
}

.app-search {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fbfafc;
  padding: 0 10px;
  color: var(--muted-foreground);
}

.app-search input {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--foreground);
  font: inherit;
  outline: 0;
}

.app-search i {
  display: grid;
  place-items: center;
  line-height: 1;
}

.app-search i::before {
  line-height: 1;
}

.app-search:focus-within {
  border-color: #b8b0df;
  box-shadow: 0 0 0 2px rgba(108, 95, 199, .14);
}

.app-view-site {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fbfafc;
  padding: 0 11px;
  color: #3b3347;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 1px 1px rgba(43, 36, 53, .05);
}

.app-view-site:hover {
  border-color: #c8c1d5;
  background: #f2f0f6;
}

.app-topbar h1 {
  margin: 0;
  font-size: 18px;
}

.app-user {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.app-user-trigger {
  display: flex;
  min-height: 36px;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  padding: 3px 6px;
  color: var(--foreground);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.app-user-trigger:hover,
.app-user-trigger[aria-expanded="true"] {
  background: #f4f1fb;
}

.app-user-avatar {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #d8d1f2;
  border-radius: 7px;
  background: var(--accent-soft);
  color: var(--primary);
  font-size: 11px;
  font-weight: 800;
}

.app-user-label {
  min-width: 0;
}

.app-user strong,
.app-user span {
  display: block;
  font-size: 13px;
}

.app-user span {
  color: var(--muted-foreground);
}

.app-user-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 40;
  width: 220px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(26, 19, 43, .16);
  padding: 6px;
}

.app-user-menu[hidden] {
  display: none !important;
}

.app-user-menu-header {
  border-bottom: 1px solid var(--border);
  margin: 0 0 4px;
  padding: 8px 9px 10px;
}

.app-user-menu-header strong,
.app-user-menu-header span {
  display: block;
}

.app-user-menu-header strong {
  color: var(--foreground);
  font-size: 13px;
}

.app-user-menu-header span {
  color: var(--muted-foreground);
  font-size: 12px;
}

.app-user-menu-item {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--foreground);
  padding: 7px 9px;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  text-align: left;
  text-decoration: none;
}

.app-user-menu-item:hover {
  background: #f4f1fb;
  color: var(--foreground);
}

.app-user-menu-button {
  cursor: pointer;
}

.btn:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
}

.app-content {
  display: grid;
  gap: 16px;
  padding: 22px;
}

.root-module-shell {
  display: grid;
  width: 100%;
  min-height: calc(100vh - 92px);
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.root-module-header {
  min-height: 72px;
  border-bottom: 1px solid var(--border);
  background: transparent;
}

.root-module-header-inner {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 14px;
}

.root-module-header h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.1;
}

.root-module-header p {
  max-width: 720px;
  margin: 7px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.root-module-content-container {
  width: 100%;
  min-height: 0;
  overflow: hidden;
}

.root-module-tabs {
  display: grid;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding: 14px 0 0;
}

.root-module-filter {
  position: relative;
  display: flex;
  width: min(360px, 100%);
  align-items: center;
  gap: 8px;
  color: var(--muted-foreground);
}

.root-module-filter i {
  position: absolute;
  left: 12px;
  font-size: 14px;
  pointer-events: none;
}

.root-module-filter input {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel);
  color: var(--foreground);
  font: inherit;
  font-size: 13px;
  padding: 8px 10px 8px 34px;
}

.root-module-filter input:focus {
  border-color: var(--ring);
  outline: 2px solid rgba(17, 24, 39, .14);
  outline-offset: 1px;
}

.root-module-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}

.root-module-tab {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 700;
  padding: 8px 10px 9px;
  transform: translateY(1px);
}

.root-module-tab:hover {
  background: var(--muted);
  color: var(--foreground);
}

.root-module-tab.active {
  border-color: var(--border);
  background: var(--background);
  color: var(--foreground);
}

.root-module-tab span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.root-module-tab strong {
  display: inline-grid;
  min-width: 22px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--muted);
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  padding: 0 6px;
}

.root-module-tab.active strong {
  background: var(--foreground);
  color: var(--background);
}

.root-module-content-grid {
  display: grid;
  width: 100%;
  min-height: 100%;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}

.root-module-content-grid.has-left-panel {
  grid-template-columns: minmax(0, 1fr);
}

.root-module-side-panel[hidden] {
  display: none !important;
}

.root-module-side-panel {
  min-width: 250px;
  overflow: auto;
  background: var(--panel);
}

.root-module-side-panel-left {
  border-right: 1px solid var(--border);
}

.root-module-side-panel-right {
  border-left: 1px solid var(--border);
}

.root-module-content {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  min-height: 0;
  gap: 14px;
  overflow: auto;
  padding: 16px 0 0;
  background: transparent;
}

.root-module-content > * {
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
}

.root-module-content .app-panel,
.root-module-content .datatable-controls,
.root-module-content .app-table-panel,
.root-module-content .form-panel {
  width: 100%;
  max-width: none;
}

.root-module-content[aria-busy="true"] {
  cursor: wait;
  opacity: .72;
}

.root-module-footer {
  min-height: 60px;
  border-top: 1px solid var(--border);
  background: var(--panel);
}

.app-page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.app-page-heading h1,
.app-page-heading h2 {
  margin: 7px 0 0;
  font-size: 24px;
  line-height: 1.15;
}

.app-page-heading p {
  max-width: 720px;
  margin: 7px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.page-heading-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.page-heading-actions form {
  margin: 0;
}

.module-action-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 14px;
}

.module-action-row form {
  margin: 0;
}

.app-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.app-stat-card,
.app-panel {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.app-stat-card {
  padding: 15px;
}

.app-stat-card span {
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 700;
}

.app-stat-card strong {
  display: block;
  margin-top: 8px;
  font-size: 32px;
  line-height: 1;
}

.app-stat-card p {
  margin: 10px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.app-panel-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 16px;
}

.client-stat-grid {
  margin-top: 18px;
}

.mini-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.mini-stat-grid .app-stat-card {
  padding: 12px;
}

.mini-stat-grid .app-stat-card strong {
  margin-top: 6px;
  font-size: 20px;
}

.root-chart-summary .app-stat-card span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.root-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 14px;
  margin-top: 14px;
}

.root-chart-panel {
  min-width: 0;
  padding: 16px;
}

.root-chart-panel-wide {
  grid-column: span 1;
}

.root-chart-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.root-chart-panel-header h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.root-chart-panel-header p {
  margin: 5px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.root-chart-bars {
  display: grid;
  gap: 12px;
}

.root-chart-bar-row {
  display: grid;
  gap: 7px;
}

.root-chart-bar-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}

.root-chart-bar-label strong {
  font-size: 12px;
}

.root-chart-bar-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #f1f5f9;
}

.root-chart-bar-track span {
  display: block;
  height: 100%;
  min-width: 4px;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #0f766e);
}

.root-chart-columns {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
  min-height: 190px;
}

.root-chart-columns.compact {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.root-chart-column {
  display: grid;
  grid-template-rows: minmax(110px, 1fr) auto auto;
  gap: 7px;
  min-width: 0;
  text-align: center;
}

.root-chart-column-track {
  display: flex;
  align-items: end;
  justify-content: center;
  min-height: 110px;
  border-radius: 6px;
  background: #f8fafc;
}

.root-chart-column-track span {
  display: block;
  width: 62%;
  min-height: 0;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, #2563eb, #0f766e);
}

.root-chart-column strong,
.root-chart-column small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.root-chart-column strong {
  font-size: 11px;
}

.root-chart-column small {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 700;
}

.root-chart-generated {
  margin: 14px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.root-provider-summary .app-stat-card span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.root-provider-layout {
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}

.root-provider-main {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.root-provider-sidebar {
  position: sticky;
  top: 14px;
  display: grid;
  max-height: calc(100vh - 132px);
  overflow: auto;
  align-self: start;
  scrollbar-gutter: stable;
}

.root-provider-sidebar-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  background: #fbfcfe;
  padding: 14px;
}

.root-provider-sidebar-header h3 {
  margin: 0;
  color: var(--foreground);
  font-size: 14px;
  line-height: 1.2;
}

.root-provider-sidebar-header p {
  margin: 4px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.root-provider-sidebar-section {
  display: grid;
  gap: 6px;
  border-top: 1px solid var(--border);
  padding: 12px;
}

.root-provider-sidebar-section:first-of-type {
  border-top: 0;
}

.root-provider-sidebar-label {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.root-provider-sidebar-link,
.root-provider-surface-link {
  color: inherit;
  text-decoration: none;
}

.root-provider-sidebar-link {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 750;
  padding: 7px 9px;
}

.root-provider-sidebar-link:hover,
.root-provider-sidebar-link.active {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #3730a3;
}

.root-provider-sidebar-link strong {
  display: inline-grid;
  min-width: 22px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--muted);
  color: var(--foreground);
  font-size: 11px;
  padding: 0 6px;
}

.root-provider-surface-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 7px;
}

.root-provider-surface-link:hover {
  border-color: var(--border);
  background: var(--muted);
}

.root-provider-surface-icon {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--foreground);
}

.root-provider-surface-text {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.root-provider-surface-text strong,
.root-provider-surface-text small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.root-provider-surface-text strong {
  color: var(--foreground);
  font-size: 13px;
  line-height: 1.2;
}

.root-provider-surface-text small {
  color: var(--muted-foreground);
  font-size: 11px;
}

.root-provider-surface-status {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #94a3b8;
}

.root-provider-surface-status.status-active {
  background: #16a34a;
}

.root-provider-surface-status.status-pending {
  background: #f59e0b;
}

.root-provider-filter-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px;
}

.root-provider-filter-panel h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.root-provider-filter-panel p {
  margin: 5px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.root-provider-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.root-provider-category-link {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--background);
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 800;
  padding: 7px 9px;
}

.root-provider-category-link:hover,
.root-provider-category-link.active {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #3730a3;
}

.root-provider-category-link strong {
  display: inline-grid;
  min-width: 22px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: var(--muted);
  color: var(--foreground);
  font-size: 11px;
  padding: 0 6px;
}

.root-provider-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.root-provider-card {
  display: grid;
  min-width: 0;
  gap: 14px;
  padding: 16px;
}

.root-provider-card-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.root-provider-card-icon {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--foreground);
}

.root-provider-card-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.root-provider-card h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.root-provider-card-header p,
.root-provider-description {
  margin: 5px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.55;
}

.root-provider-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.root-provider-meta-grid > div {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #f8fafc;
  padding: 10px;
}

.root-provider-meta-grid span,
.root-provider-card-footer span {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.root-provider-meta-grid strong {
  display: block;
  overflow: hidden;
  margin-top: 5px;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.root-provider-detail-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.root-provider-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--border);
  padding-top: 13px;
}

.root-provider-generated {
  margin: 14px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.property-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 14px;
}

.property-profile-hero .eyebrow {
  margin: 0 0 4px;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.property-profile-side {
  display: grid;
  align-content: start;
  gap: 14px;
}

.definition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--root-panel-border, var(--border));
}

.definition-grid > div,
.compact-definition-list > div {
  display: grid;
  gap: 3px;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 13px;
}

.definition-grid > div:nth-child(odd) {
  border-right: 1px solid var(--root-panel-border, var(--border));
}

.definition-grid dt,
.compact-definition-list dt {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.definition-grid dd,
.compact-definition-list dd {
  margin: 0;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.compact-definition-list {
  margin: 0;
  border-top: 1px solid var(--root-panel-border, var(--border));
}

.compact-definition-list > div {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.compact-definition-list dt {
  grid-column: 1;
}

.compact-definition-list dd {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.property-color-swatch {
  width: 34px;
  height: 34px;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.danger-zone-panel {
  border-color: #fecaca;
  background: #fffafa;
}

.status-provisioned,
.status-completed {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.status-provisioning,
.status-queued,
.status-implementation,
.status-onboarding,
.status-setup {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}

.status-failed,
.status-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

@media (max-width: 980px) {
  .root-chart-layout,
  .root-provider-layout,
  .root-provider-filter-panel,
  .root-provider-card-grid,
  .property-profile-grid,
  .definition-grid {
    grid-template-columns: 1fr;
  }

  .root-provider-sidebar {
    position: static;
    max-height: none;
  }

  .root-provider-category-tabs {
    justify-content: flex-start;
  }

  .definition-grid > div:nth-child(odd) {
    border-right: 0;
  }
}

@media (max-width: 620px) {
  .root-chart-columns,
  .root-chart-columns.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.forum-module-shell {
  margin-top: 16px;
}

.survey-module-shell {
  margin-top: 16px;
}

.announcement-module-shell {
  margin-top: 16px;
}

.forum-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 1px solid var(--border);
  padding: 0 0 10px;
}

.forum-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0 11px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 800;
}

.forum-tabs a:hover,
.forum-tabs a.active {
  border-color: var(--border);
  background: var(--panel);
  color: var(--foreground);
  text-decoration: none;
}

.forum-icon-chip {
  display: inline-grid;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--muted);
  color: var(--foreground);
}

.forum-check-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.check-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 700;
}

.check-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.survey-response-list {
  display: grid;
  gap: 12px;
}

.survey-response-card {
  display: grid;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  padding: 14px;
}

.survey-response-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.survey-response-card header div {
  display: grid;
  gap: 2px;
}

.survey-response-card small {
  color: var(--muted-foreground);
}

.survey-answer-list {
  display: grid;
  gap: 8px;
}

.survey-answer-row {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
  gap: 12px;
  border-top: 1px solid var(--border);
  padding-top: 8px;
}

.survey-answer-row span {
  color: var(--muted-foreground);
  font-weight: 700;
}

.owner-stat-grid {
  margin-top: 18px;
}

.client-dashboard-grid,
.client-onboarding-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.client-onboarding-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-panel {
  padding: 16px;
}

.app-panel h2,
.app-panel h3 {
  margin: 0;
  font-size: 15px;
}

.app-panel-icon {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  place-items: center;
  border-radius: 7px;
  background: var(--accent-soft);
  color: var(--primary);
  font-size: 15px;
}

.client-onboarding-card {
  display: flex;
  min-height: 190px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.client-onboarding-action,
.panel-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.client-onboarding-action {
  justify-content: flex-end;
}

.client-flash {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  border: 1px solid #bbf7d0;
  border-radius: 7px;
  background: #f0fdf4;
  color: #166534;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
}

.client-flash-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.client-property-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.client-property-card {
  display: grid;
  gap: 16px;
}

.client-property-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.client-property-card-header .app-panel-icon {
  margin-bottom: 0;
}

.client-property-card-body h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.client-property-card-body p {
  margin: 8px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.client-property-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.client-property-meta div {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--muted);
  padding: 10px;
}

.client-property-meta dt {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.client-property-meta dd {
  overflow: hidden;
  margin: 5px 0 0;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-property-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid var(--border);
  padding-top: 14px;
}

.client-property-actions form {
  margin: 0;
}

.client-property-note {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 700;
}

.client-properties-empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin-top: 16px;
}

.client-properties-empty .app-panel-icon {
  margin-bottom: 4px;
}

.client-properties-empty p {
  margin: 0;
  color: var(--muted-foreground);
}

.client-owner-filter-panel {
  margin-top: 16px;
}

.client-owner-filter-form {
  display: flex;
  align-items: end;
  gap: 12px;
}

.client-owner-filter-form .form-field {
  flex: 1 1 320px;
}

.client-owner-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.client-owner-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.client-owner-card {
  display: grid;
  gap: 16px;
}

.client-owner-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.client-owner-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #ddd6fe;
  border-radius: 8px;
  background: #ede9fe;
  color: #5b21b6;
  font-size: 13px;
  font-weight: 900;
}

.client-owner-card-body h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.client-owner-card-body p {
  margin: 7px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.client-owner-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.client-owner-meta div {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--muted);
  padding: 10px;
}

.client-owner-meta dt {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.client-owner-meta dd {
  overflow: hidden;
  margin: 5px 0 0;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-owner-property {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 8px;
  color: var(--muted-foreground);
  font-size: 13px;
}

.client-owner-property i {
  margin-top: 2px;
  color: var(--primary);
}

.client-owner-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid var(--border);
  padding-top: 14px;
}

.client-owners-empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin-top: 16px;
}

.client-owners-empty .app-panel-icon {
  margin-bottom: 4px;
}

.client-owners-empty p {
  margin: 0;
  color: var(--muted-foreground);
}

.client-form-panel,
.client-properties-panel {
  margin-top: 16px;
}

.client-onboarding-card p,
.client-next-steps p {
  margin: 8px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.client-next-steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
}

.panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 14px;
}

.panel-heading h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}

.panel-heading p {
  max-width: 720px;
  margin: 5px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.app-panel p {
  margin: 8px 0 0;
  color: var(--muted-foreground);
}

.app-panel-note {
  display: inline-flex;
  width: fit-content;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--muted);
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 700;
}

.app-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding-left: 18px;
  color: var(--muted-foreground);
}

.app-alert {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 11px 13px;
  font-size: 14px;
  font-weight: 700;
}

.app-alert-success {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.app-alert-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.app-toast-container {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1200;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 36px));
}

.app-toast {
  --ui-toast-bg: rgba(255, 255, 255, .96);
  --ui-toast-border-color: var(--border);
  --ui-toast-border-radius: 8px;
  box-shadow: var(--shadow);
}

.app-toast.show {
  display: block;
  opacity: 1;
}

.app-toast .toast-header {
  color: var(--foreground);
  font-weight: 800;
}

.app-toast-title {
  margin-right: auto;
}

.app-toast-success {
  border-color: #bbf7d0;
}

.app-toast-error {
  border-color: #fecaca;
}

.app-toast-warning {
  border-color: #fde68a;
}

.notification-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.notification-panel {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.notification-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-bottom: 1px solid var(--border);
  background: #fbfafc;
  padding: 12px;
}

.notification-tab {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #ffffff;
  padding: 6px 11px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 800;
}

.notification-tab:hover,
.notification-tab.active {
  border-color: #cfc9ef;
  background: var(--accent-soft);
  color: var(--primary);
}

.notification-tab strong {
  display: inline-grid;
  min-width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 999px;
  background: var(--muted);
  color: var(--foreground);
  font-size: 11px;
}

.notification-list {
  display: grid;
}

.notification-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px;
  align-items: start;
  border-bottom: 1px solid var(--border);
  padding: 15px;
}

.notification-item:last-child {
  border-bottom: 0;
}

.notification-item.unread {
  background: #fffdf7;
}

.notification-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: var(--accent-soft);
  color: var(--primary);
  font-size: 16px;
}

.notification-success .notification-icon {
  background: #f0fdf4;
  color: #15803d;
}

.notification-warning .notification-icon {
  background: #fffbeb;
  color: #b45309;
}

.notification-error .notification-icon {
  background: #fef2f2;
  color: #b91c1c;
}

.notification-content {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.notification-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.notification-title-row h3 {
  margin: 0;
  font-size: 14px;
}

.notification-content p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 13px;
  line-height: 1.45;
}

.notification-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 700;
}

.notification-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.notifications-empty {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding: 28px;
}

.notifications-empty h3,
.notifications-empty p {
  margin: 0;
}

.notifications-empty p {
  color: var(--muted-foreground);
  font-size: 13px;
}

.notification-preferences-form {
  display: grid;
  gap: 16px;
}

.notification-preferences-panel {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.notification-preference-groups,
.notification-preference-list {
  display: grid;
}

.notification-preference-toolbar {
  border-bottom: 1px solid var(--border);
  background: #ffffff;
  padding: 12px 14px;
}

.notification-preference-toolbar .form-field {
  max-width: 360px;
}

.notification-preference-group + .notification-preference-group {
  border-top: 1px solid var(--border);
}

.notification-preference-group-header {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border-bottom: 1px solid var(--border);
  background: #fbfafc;
  padding: 14px;
}

.notification-preference-module-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--primary);
}

.notification-preference-group-header h3 {
  margin: 0;
  font-size: 14px;
}

.notification-preference-group-header p {
  margin: 4px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.45;
}

.notification-preference-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 14px;
}

.notification-preference-row + .notification-preference-row {
  border-top: 1px solid var(--border);
}

.notification-preference-action {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.notification-preference-action strong {
  font-size: 13px;
}

.notification-preference-action span {
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.45;
}

.notification-preference-action code {
  width: fit-content;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--muted);
  padding: 3px 6px;
  color: var(--muted-foreground);
  font-size: 11px;
}

.notification-preference-toggle {
  justify-self: end;
  white-space: nowrap;
}

.table-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px 200px auto;
  gap: 12px;
  align-items: end;
}

.datatable-controls {
  padding: 14px;
}

.datatable-filter-form {
  display: grid;
  gap: 14px;
}

.datatable-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 110px auto auto auto;
  gap: 10px;
  align-items: end;
}

.datatable-search,
.datatable-limit {
  min-width: 0;
}

.datatable-advanced {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(220px, 280px) auto;
  gap: 10px;
  align-items: end;
  border-top: 1px solid var(--border);
  padding-top: 12px;
}

.datatable-filter-actions {
  display: flex;
  justify-content: flex-end;
}

.datatable-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  border-bottom: 1px solid var(--border);
  background: var(--border);
}

.datatable-stats div {
  display: grid;
  gap: 4px;
  background: var(--panel);
  padding: 11px 13px;
}

.datatable-stats span,
.datatable-state > span {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.datatable-stats strong {
  font-size: 15px;
  line-height: 1.15;
}

.datatable-state {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding: 11px 13px;
}

.sort-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.sort-icon {
  position: relative;
  display: inline-grid;
  width: 10px;
  height: 14px;
  opacity: .42;
}

.sort-icon::before,
.sort-icon::after {
  position: absolute;
  left: 1px;
  width: 0;
  height: 0;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: "";
}

.sort-icon::before {
  top: 1px;
  border-bottom: 5px solid currentColor;
}

.sort-icon::after {
  bottom: 1px;
  border-top: 5px solid currentColor;
}

.sort-link.active {
  color: var(--foreground);
}

.sort-link.active .sort-icon {
  opacity: 1;
}

.sort-link.active[data-sort-dir="asc"] .sort-icon::after,
.sort-link.active[data-sort-dir="desc"] .sort-icon::before {
  opacity: .24;
}

.permission-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.permission-main {
  display: grid;
  min-width: 0;
  gap: 16px;
}

.permission-toolbar {
  grid-template-columns: minmax(220px, 1fr) auto;
}

.module-sidebar {
  position: sticky;
  top: 104px;
  align-self: start;
}

.module-sidebar-inner {
  max-height: calc(100vh - 128px);
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
  padding: 12px;
}

.module-filter {
  display: grid;
  gap: 7px;
  border-bottom: 1px solid var(--border);
  padding: 2px 2px 12px;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 800;
}

.module-filter input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 10px;
  color: var(--foreground);
  font: inherit;
  font-weight: 500;
}

.module-filter input:focus {
  border-color: var(--ring);
  outline: 2px solid rgba(17, 24, 39, .16);
  outline-offset: 1px;
}

.module-list {
  display: grid;
  gap: 5px;
  margin-top: 12px;
}

.module-list-item {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-radius: 8px;
  padding: 8px 9px;
  color: var(--muted-foreground);
  font-size: 14px;
  font-weight: 700;
}

.module-list-item:hover {
  background: var(--muted);
  color: var(--foreground);
}

.module-list-item.active {
  background: var(--primary);
  color: var(--primary-foreground);
}

.module-list-item strong {
  display: grid;
  min-width: 28px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: var(--muted);
  color: var(--foreground);
  font-size: 12px;
}

.module-list-item.active strong {
  background: rgba(255, 255, 255, .16);
  color: var(--primary-foreground);
}

.app-table-panel {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.table-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding: 12px 14px;
}

.table-meta span {
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 600;
}

.table-scroll {
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.data-table th,
.data-table td {
  border-top: 1px solid var(--border);
  padding: 10px 13px;
  text-align: left;
  vertical-align: middle;
}

.data-table th {
  background: #fbfafc;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.data-table th a {
  color: var(--foreground);
}

.data-table td small {
  display: block;
  margin-top: 2px;
  color: var(--muted-foreground);
  font-size: 12px;
}

.owner-table-identity {
  display: flex;
  min-width: 180px;
  align-items: center;
  gap: 8px;
}

.owner-table-identity .client-owner-avatar {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  font-size: 11px;
}

.owner-table-name {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

.owner-table-name strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.data-table td .owner-table-name small {
  display: inline;
  margin-top: 0;
}

.empty-cell {
  color: var(--muted-foreground);
  text-align: center;
}

.badge-row,
.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.row-actions form {
  margin: 0;
}

.badge,
.status-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 800;
}

.badge {
  background: #f2f0f6;
  color: var(--foreground);
}

.status-badge {
  border: 1px solid var(--border);
}

.status-active {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.status-pending {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.status-draft {
  border-color: #ddd6fe;
  background: #f5f3ff;
  color: #5b21b6;
}

.status-archived {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #475569;
}

.status-open {
  border-color: #bae6fd;
  background: #f0f9ff;
  color: #075985;
}

.status-low,
.status-normal {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #3730a3;
}

.status-high {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}

.status-urgent {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.status-resolved,
.status-published {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.status-closed,
.status-hidden,
.status-inactive {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #475569;
}

.color-dot {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.45rem;
  border-radius: 999px;
  vertical-align: 0.02rem;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.status-paid,
.status-succeeded {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.status-overdue {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.status-canceling,
.status-canceled {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #334155;
}

.record-list {
  display: grid;
  gap: 12px;
}

.record-card {
  display: grid;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.record-card p {
  margin: 0;
  white-space: pre-wrap;
}

.compact-list {
  gap: 8px;
}

.code-block {
  margin: 0;
  overflow-x: auto;
  white-space: pre-wrap;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px;
  color: #0f172a;
  font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.billing-subscription-panel,
.billing-empty-panel,
.billing-tabs-panel,
.billing-datatable-controls,
.billing-table-panel,
.invoice-view-panel,
.invoice-payment-form,
.payment-method-empty,
.payment-method-form {
  margin-top: 18px;
}

.billing-subscription-panel {
  display: grid;
  gap: 18px;
  padding: 18px;
}

.billing-subscription-main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.billing-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.billing-title-row h2,
.billing-empty-panel h2,
.invoice-view-header h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.billing-subscription-main p,
.billing-empty-panel p,
.invoice-view-header p {
  margin: 6px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.billing-subscription-meta,
.invoice-view-grid dl,
.invoice-totals {
  display: grid;
  gap: 10px;
  margin: 0;
}

.billing-subscription-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.billing-subscription-meta div,
.invoice-view-grid dl div,
.invoice-totals div {
  display: grid;
  gap: 3px;
}

.billing-subscription-meta dt,
.invoice-view-grid dt,
.invoice-totals dt {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.billing-subscription-meta dd,
.invoice-view-grid dd,
.invoice-totals dd {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.billing-cancel-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #fde68a;
  border-radius: 6px;
  background: #fffbeb;
  color: #92400e;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
}

.billing-subscription-actions {
  display: flex;
  justify-content: flex-end;
}

.billing-empty-panel {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 18px;
}

.billing-tabs-panel {
  padding: 10px;
}

.billing-invoice-table {
  min-width: 900px;
}

.invoice-view-panel {
  display: grid;
  gap: 22px;
  padding: 24px;
}

.invoice-view-header,
.invoice-view-grid,
.invoice-view-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 22px;
}

.invoice-view-header {
  align-items: start;
  border-bottom: 1px solid var(--border);
  padding-bottom: 18px;
}

.invoice-brand {
  display: block;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.invoice-view-header .status-badge {
  justify-self: end;
}

.invoice-view-grid h3,
.invoice-view-footer h3,
.invoice-payments h3 {
  margin: 0 0 8px;
  font-size: 14px;
}

.invoice-view-grid p,
.invoice-tax-list,
.invoice-view-footer p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 13px;
  line-height: 1.6;
}

.invoice-subscription-strip {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fbfafc;
  padding: 11px 12px;
  color: var(--muted-foreground);
  font-size: 13px;
}

.invoice-subscription-strip strong {
  color: var(--foreground);
}

.invoice-line-table {
  min-width: 820px;
}

.invoice-tax-list {
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.invoice-tax-list li,
.invoice-totals div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.invoice-totals {
  border-top: 1px solid var(--border);
  padding-top: 14px;
}

.invoice-totals div:last-child {
  border-top: 1px solid var(--border);
  padding-top: 12px;
  font-size: 16px;
}

.invoice-payments {
  display: grid;
  gap: 10px;
}

.invoice-payment-form {
  display: grid;
  gap: 18px;
}

.invoice-payment-panel {
  display: grid;
  gap: 22px;
  padding: 24px;
}

.invoice-payment-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 18px;
}

.invoice-payment-summary strong {
  display: block;
  margin-top: 4px;
  font-size: 30px;
  line-height: 1.1;
}

.invoice-payment-summary p {
  margin: 8px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.invoice-payment-methods {
  display: grid;
  gap: 14px;
}

.invoice-payment-option-list {
  display: grid;
  gap: 10px;
}

.invoice-payment-option {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  padding: 12px;
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.invoice-payment-option:has(input:checked) {
  border-color: var(--primary);
  background: #f8fafc;
  box-shadow: 0 0 0 1px var(--primary);
}

.invoice-payment-option input {
  inline-size: 16px;
  block-size: 16px;
  margin: 0;
}

.invoice-payment-option-icon {
  display: grid;
  place-items: center;
  inline-size: 38px;
  block-size: 38px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--foreground);
}

.invoice-payment-option-main {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.invoice-payment-option-main strong {
  font-size: 14px;
}

.invoice-payment-option-main small {
  overflow-wrap: anywhere;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 600;
}

.invoice-payment-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px dashed var(--border);
  border-radius: 6px;
  background: #fbfafc;
  padding: 14px;
}

.invoice-payment-empty h3 {
  margin: 0;
  font-size: 14px;
}

.invoice-payment-empty p {
  margin: 3px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.payment-method-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.payment-method-card {
  display: grid;
  gap: 18px;
  padding: 18px;
}

.payment-method-card-header,
.payment-method-actions,
.payment-method-badges {
  display: flex;
  align-items: center;
  gap: 8px;
}

.payment-method-card-header {
  justify-content: space-between;
}

.payment-method-badges,
.payment-method-actions {
  flex-wrap: wrap;
}

.payment-method-card-body h2,
.payment-method-empty h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.payment-method-card-body p,
.payment-method-empty p {
  margin: 6px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.payment-method-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.payment-method-meta div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.payment-method-meta dt {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.payment-method-meta dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 700;
}

.payment-method-actions form {
  margin: 0;
}

.payment-method-empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 18px;
}

.payment-method-default-toggle {
  align-self: end;
  min-height: 44px;
}

.payment-method-default-toggle span {
  display: grid;
  gap: 2px;
  white-space: normal;
}

.payment-method-default-toggle small {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}

.status-disabled,
.status-inactive,
.status-not_connected,
.status-action_required {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #475569;
}

.status-action_required {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}

.status-inactive {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #64748b;
}

.status-trial {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.status-suspended {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.cron-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.cron-subnav-panel .cron-subnav {
  margin-bottom: 0;
}

.status-completed {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.status-started {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1e40af;
}

.status-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.status-sent,
.status-dry_run {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.status-failed {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.send-mail-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.send-mail-mode-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 10px;
  align-items: start;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
  cursor: pointer;
}

.send-mail-mode-card input {
  margin-top: 4px;
}

.send-mail-mode-card span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
}

.send-mail-mode-card small {
  grid-column: 2;
  color: var(--muted-foreground);
  font-size: 12px;
}

.send-mail-mode-card:has(input:checked) {
  border-color: #111827;
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px #111827;
}

.send-mail-vars-editor {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

.send-mail-history-subject {
  max-width: 420px;
}

.send-mail-history-subject strong,
.send-mail-history td strong {
  display: block;
}

.send-mail-history-subject span,
.send-mail-history td span {
  display: block;
  margin-top: 2px;
  color: var(--muted-foreground);
  font-size: 12px;
}

.impersonation-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #bae6fd;
  border-radius: 8px;
  background: #f0f9ff;
  color: #075985;
  padding: 10px 12px;
}

.impersonation-banner strong,
.impersonation-banner span {
  display: block;
}

.impersonation-banner span {
  margin-top: 2px;
  color: #0369a1;
  font-size: 12px;
}

.pagination {
  display: flex;
  gap: 6px;
  padding: 12px 14px;
}

.pagination a {
  display: grid;
  min-width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 800;
}

.pagination a.active {
  background: var(--primary);
  color: var(--primary-foreground);
}

.form-panel {
  max-width: none;
}

.resource-form {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}

.panel-divider {
  height: 1px;
  background: var(--border);
  margin: 4px 0;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.form-field-full {
  grid-column: 1 / -1;
}

.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 10px;
  color: var(--foreground);
  font: inherit;
  font-weight: 500;
}

.form-field select {
  min-height: 34px;
  background: var(--panel);
}

.password-field {
  display: flex;
  width: 100%;
  align-items: stretch;
}

.password-field input {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.password-toggle {
  display: inline-grid;
  flex: 0 0 40px;
  place-items: center;
  width: 40px;
  min-width: 0;
  min-height: 34px;
  margin-left: -1px;
  border-color: var(--border);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding: 0;
  align-self: stretch;
  background: var(--panel);
  color: var(--muted-foreground);
  box-shadow: none;
}

.password-toggle:hover {
  transform: none;
  border-color: var(--ring);
  background: var(--muted);
  color: var(--foreground);
}

.password-field:focus-within .password-toggle {
  border-color: var(--ring);
  box-shadow: 0 0 0 2px rgba(108, 95, 199, .16);
  clip-path: inset(-3px -3px -3px 0);
}

.password-field input:focus {
  position: relative;
  z-index: 1;
}

.password-field input.is-invalid + .password-toggle {
  border-color: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, .1);
  clip-path: inset(-3px -3px -3px 0);
}

.password-toggle .bi {
  color: currentColor;
  font-size: 16px;
  line-height: 1;
}

.form-field textarea {
  resize: vertical;
}

.template-editor {
  min-height: 180px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.55;
}

.checkbox-section {
  display: grid;
  gap: 14px;
  border-top: 1px solid var(--border);
  padding-top: 20px;
}

.checkbox-section h3,
.permission-group h4,
.settings-card h3 {
  margin: 0;
}

.checkbox-section p,
.settings-card p {
  margin: 6px 0 0;
  color: var(--muted-foreground);
}

.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.choice-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  padding: 12px;
}

.choice-card input {
  margin-top: 3px;
}

.choice-card small {
  display: block;
  color: var(--muted-foreground);
  font-size: 12px;
}

.permission-groups {
  display: grid;
  gap: 18px;
}

.permission-group {
  display: grid;
  gap: 10px;
}

.field-error {
  color: #b91c1c;
  font-weight: 700;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.form-actions.card-footer {
  justify-content: flex-end;
  border-top: 1px solid var(--root-panel-border, var(--border));
  background: #fbfafc;
  padding: 13px;
}

.resource-form > .form-actions.card-footer,
.form-panel > form > .form-actions.card-footer {
  margin-top: 0;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.settings-card {
  display: grid;
  min-height: 220px;
  align-content: space-between;
  gap: 18px;
}

.feature-workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.feature-workflow-card {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-muted);
  padding: 12px 14px;
  color: var(--foreground);
  font-weight: 700;
}

.feature-workflow-card i {
  color: #15803d;
  flex: 0 0 auto;
}

.settings-count {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: var(--accent-soft);
  color: #134e4a;
  font-weight: 900;
}

.root-settings-page {
  display: grid;
  gap: 18px;
}

.root-settings-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.root-settings-title h1 {
  margin: 0;
  font-size: 24px;
  line-height: 1.2;
}

.root-settings-title p {
  max-width: 760px;
  margin: 5px 0 0;
  color: var(--muted-foreground);
}

.root-settings-title .eyebrow {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fbfafc;
  padding: 4px 9px;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.root-settings-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.root-settings-nav {
  position: sticky;
  top: 86px;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.root-settings-nav a {
  display: flex;
  min-height: 36px;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid var(--border);
  padding: 8px 11px;
  color: #4f465c;
  font-weight: 700;
}

.root-settings-nav a:last-child {
  border-bottom: 0;
}

.root-settings-nav a:hover {
  background: #fbfafc;
  color: var(--foreground);
}

.root-settings-nav a.active {
  background: var(--accent-soft);
  color: var(--primary);
}

.root-settings-nav i {
  color: currentColor;
}

.root-settings-content,
.root-settings-form {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-section {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.settings-section > h2 {
  margin: 0;
  border-bottom: 1px solid var(--border);
  background: #fbfafc;
  padding: 11px 13px;
  color: #6f6878;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.settings-row {
  display: grid;
  grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  border-top: 1px solid var(--border);
  padding: 14px 13px;
}

.settings-section > h2 + .settings-row,
.settings-section > h2 + .settings-warning + .settings-row {
  border-top: 0;
}

.settings-row-copy h3 {
  margin: 0;
  font-size: 13px;
  line-height: 1.25;
}

.settings-row-copy h3 span {
  color: #dc2626;
}

.settings-row-copy p {
  max-width: 560px;
  margin: 4px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.4;
}

.settings-control {
  width: 100%;
}

.settings-switch {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 9px;
  color: var(--foreground);
  font-weight: 800;
}

.settings-switch input[type="hidden"] {
  display: none;
}

.settings-switch input[type="checkbox"] {
  position: relative;
  width: 34px;
  height: 20px;
  appearance: none;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #eeedf2;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease;
}

.settings-switch input[type="checkbox"]::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(43, 36, 53, .22);
  content: "";
  transition: transform .16s ease;
}

.settings-switch input[type="checkbox"]:checked {
  border-color: var(--primary);
  background: var(--primary);
}

.settings-switch input[type="checkbox"]:checked::after {
  transform: translateX(14px);
}

.settings-switch input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: .62;
}

.settings-warning {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #fde68a;
  background: #fffbeb;
  color: #92400e;
  padding: 12px 13px;
  font-weight: 700;
}

.settings-number {
  grid-template-columns: minmax(90px, 160px) auto;
  align-items: center;
  gap: 8px;
}

.settings-number .sr-only,
.settings-number .field-error {
  grid-column: 1 / -1;
}

.settings-number > span:not(.sr-only) {
  color: var(--muted-foreground);
  font-weight: 700;
}

.settings-save-row {
  display: flex;
  justify-content: flex-end;
}

.tax-simulator-panel .root-settings-form {
  gap: 0;
}

.tax-simulator-intro form {
  justify-self: end;
}

.tax-simulator-panel .settings-control {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel);
  color: var(--foreground);
  font: inherit;
  font-weight: 600;
  padding: 8px 10px;
}

.tax-simulator-panel .settings-control:focus {
  border-color: var(--ring);
  outline: 2px solid rgba(17, 24, 39, .14);
  outline-offset: 1px;
}

.tax-simulator-actions {
  border-top: 1px solid var(--border);
  padding: 13px;
}

.tax-simulation-result {
  display: grid;
  gap: 12px;
  border-top: 1px solid var(--border);
  background: #ffffff;
  padding: 13px;
}

.tax-simulation-result[hidden] {
  display: none;
}

.tax-simulation-context {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tax-simulation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--border);
}

.tax-simulation-summary div {
  display: grid;
  gap: 5px;
  background: var(--panel);
  padding: 11px 13px;
}

.tax-simulation-summary span,
.tax-simulation-line-header span {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.tax-simulation-summary strong {
  color: var(--foreground);
  font-size: 18px;
  line-height: 1.15;
}

.tax-simulation-lines {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.tax-simulation-line {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(80px, .45fr) minmax(120px, .6fr) minmax(90px, .45fr);
  gap: 12px;
  align-items: center;
  border-top: 1px solid var(--border);
  padding: 10px 13px;
  font-size: 13px;
}

.tax-simulation-line:first-child {
  border-top: 0;
}

.tax-simulation-line-header {
  background: #fbfafc;
}

.tax-simulation-line strong {
  display: block;
}

.tax-simulation-line small {
  display: block;
  margin-top: 2px;
  color: var(--muted-foreground);
  font-size: 12px;
}

.tax-simulation-empty {
  padding: 13px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 700;
}

.voipms-overview-page {
  gap: 16px;
}

.voipms-overview-page .root-settings-form {
  gap: 0;
}

.voipms-overview-page .settings-section > .auth-alert {
  margin: 12px 13px 0;
}

.voipms-overview-page .settings-section > h2 + .root-settings-form .settings-row:first-of-type,
.voipms-overview-page .settings-section > .auth-alert + .root-settings-form .settings-row:first-of-type {
  border-top: 0;
}

.voipms-overview-page .settings-save-row {
  border-top: 1px solid var(--border);
  padding: 13px;
}

.voipms-setting-value {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.voipms-setting-value strong {
  color: var(--foreground);
  font-size: 18px;
  line-height: 1.1;
}

.voipms-status-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fbfafc;
  padding: 4px 8px;
  color: #4f465c;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.voipms-ledger-section .table-scroll {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.voipms-ledger-section .data-table {
  border: 0;
}

/* Root admin surfaces: keep every module in the same compact settings language. */
.app-shell {
  --shadow: 0 1px 2px rgba(15, 23, 42, .04);
  --root-subtle: #fbfafc;
  --root-panel-border: #e5e7eb;
}

.app-shell .app-content {
  background: #ffffff;
}

.app-shell .app-page-heading,
.app-shell .page-heading {
  align-items: flex-start;
  border-bottom: 1px solid var(--root-panel-border);
  padding-bottom: 16px;
}

.app-shell .app-page-heading h1,
.app-shell .app-page-heading h2,
.app-shell .page-heading h1,
.app-shell .page-heading h2 {
  margin: 0;
  color: #1f2937;
  font-size: 22px;
  font-weight: 750;
  line-height: 1.25;
}

.app-shell .app-page-heading .eyebrow,
.app-shell .page-heading .eyebrow {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 8px;
  border: 1px solid var(--root-panel-border);
  border-radius: 999px;
  background: var(--root-subtle);
  padding: 4px 9px;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.app-shell .app-page-heading p,
.app-shell .page-heading p {
  max-width: 760px;
  color: #6b7280;
  font-size: 13px;
}

.app-shell .app-stat-grid {
  overflow: hidden;
  gap: 0;
  border: 1px solid var(--root-panel-border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.app-shell .app-stat-card {
  min-height: 0;
  border: 0;
  border-right: 1px solid var(--root-panel-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 12px 13px;
}

.app-shell .app-stat-card:last-child {
  border-right: 0;
}

.app-shell .app-stat-card span {
  color: #6b7280;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.app-shell .app-stat-card strong {
  margin-top: 6px;
  color: #1f2937;
  font-size: 20px;
  font-weight: 750;
  line-height: 1.15;
}

.app-shell .app-stat-card p {
  margin-top: 5px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
}

.app-shell .app-panel-grid,
.app-shell .settings-grid {
  grid-template-columns: 1fr;
}

.app-shell .app-panel,
.app-shell .datatable-controls,
.app-shell .form-panel,
.app-shell .app-table-panel,
.app-shell .notification-panel,
.app-shell .invoice-view-panel {
  overflow: hidden;
  border-color: var(--root-panel-border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.app-shell .app-panel {
  padding: 0;
}

.app-shell .app-panel > h2:first-child,
.app-shell .app-panel > h3:first-child {
  margin: 0;
  border-bottom: 1px solid var(--root-panel-border);
  background: var(--root-subtle);
  padding: 11px 13px;
  color: #6f6878;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.app-shell .app-panel > h2:first-child + p,
.app-shell .app-panel > h3:first-child + p {
  margin: 0;
  padding: 13px;
}

.app-shell .root-provider-filter-panel {
  padding: 16px;
}

.app-shell .root-provider-card {
  gap: 14px;
  padding: 16px;
}

.app-shell .root-provider-card h3,
.app-shell .root-provider-sidebar-header h3,
.app-shell .root-provider-filter-panel h3 {
  border-bottom: 0;
  background: transparent;
  padding: 0;
  color: var(--foreground);
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
}

.app-shell .root-provider-card-footer {
  margin: 0 -16px -16px;
  padding: 13px 16px 16px;
  background: #fbfcfe;
}

.app-shell .panel-heading,
.app-shell .table-meta {
  align-items: flex-start;
  border-bottom: 1px solid var(--root-panel-border);
  background: var(--root-subtle);
  padding: 11px 13px;
}

.app-shell .panel-heading h3,
.app-shell .table-meta strong {
  color: #6f6878;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.app-shell .panel-heading p,
.app-shell .table-meta span {
  max-width: 760px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.app-shell .resource-form,
.app-shell .form-panel form {
  gap: 0;
  margin-top: 0;
}

.app-shell .form-panel .auth-alert {
  margin: 12px 13px 0;
}

.app-shell .form-panel .form-grid {
  grid-template-columns: 1fr;
  gap: 0;
}

.app-shell .form-panel .form-grid > .form-field,
.app-shell .form-panel .form-grid > .choice-card,
.app-shell .form-panel .checkbox-section,
.app-shell .form-panel .panel-divider {
  grid-column: 1 / -1;
  border-top: 1px solid var(--root-panel-border);
}

.app-shell .form-panel .form-grid > .form-field {
  display: grid;
  grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin: 0;
  padding: 13px;
}

.app-shell .form-panel .form-grid > .form-field > .form-label,
.app-shell .form-panel .form-grid > .form-field > span:not(.password-field):not(.input-group):not(.sr-only) {
  align-self: center;
  color: #1f2937;
  font-size: 13px;
  font-weight: 750;
}

.app-shell .form-panel .form-grid > .form-field > input,
.app-shell .form-panel .form-grid > .form-field > select,
.app-shell .form-panel .form-grid > .form-field > textarea,
.app-shell .form-panel .form-grid > .form-field > .password-field,
.app-shell .form-panel .form-grid > .form-field > .input-group {
  grid-column: 2;
}

.app-shell .form-panel .form-grid > .form-field > small,
.app-shell .form-panel .form-grid > .form-field > .field-error,
.app-shell .form-panel .form-grid > .form-field > .form-help {
  grid-column: 2;
}

.app-shell .form-panel .form-grid > .choice-card {
  margin: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  padding: 13px;
}

.app-shell .form-panel .form-actions.card-footer,
.app-shell .panel-action-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--root-panel-border);
  background: #fbfafc;
  padding: 13px;
}

.app-shell .datatable-controls {
  padding: 0;
}

.app-shell .datatable-filter-form {
  gap: 0;
}

.app-shell .datatable-toolbar,
.app-shell .datatable-advanced {
  border-top: 0;
  padding: 13px;
}

.app-shell .datatable-advanced {
  border-top: 1px solid var(--root-panel-border);
  background: #ffffff;
}

.app-shell .datatable-stats {
  border-bottom-color: var(--root-panel-border);
  background: var(--root-panel-border);
}

.app-shell .datatable-state {
  border-bottom-color: var(--root-panel-border);
  background: var(--root-subtle);
}

.app-shell .table-scroll {
  border-radius: 0;
}

.app-shell .data-table th,
.app-shell .data-table td {
  border-top-color: var(--root-panel-border);
  padding: 9px 13px;
}

.app-shell .data-table th {
  background: var(--root-subtle);
  color: #6b7280;
}

.app-shell .notification-stats {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--root-panel-border);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.app-shell .notification-stats .app-stat-card {
  border-right: 1px solid var(--root-panel-border);
}

.settings-shortcut-row {
  grid-template-columns: minmax(220px, 1fr) auto;
}

.settings-shortcut-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.settings-admin-section .settings-count {
  width: auto;
  min-width: 34px;
  height: 28px;
  border-radius: 6px;
  padding: 0 9px;
  background: #f2f0f6;
  color: var(--foreground);
  font-size: 12px;
}

.client-profile-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 14px;
}

.app-shell .client-profile-header {
  padding: 14px;
}

.client-profile-title {
  min-width: 0;
}

.client-profile-back {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--primary);
  font-size: 13px;
  font-weight: 750;
}

.client-profile-name-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.client-profile-name-row h3 {
  margin: 0;
  color: #1f2937;
  font-size: 20px;
  line-height: 1.2;
}

.client-profile-title p {
  margin: 5px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.client-profile-header .page-actions form {
  margin: 0;
}

.client-profile-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.client-profile-form-panel .client-profile-subsection,
.client-profile-form-panel .client-profile-address-grid,
.client-profile-form-panel .client-notes-field {
  border-top: 1px solid var(--root-panel-border, var(--border));
}

.client-profile-subsection {
  display: grid;
  gap: 0;
  padding: 13px;
}

.client-profile-subsection h4 {
  margin: 0;
  color: #1f2937;
  font-size: 13px;
  font-weight: 800;
}

.client-profile-subsection > p {
  margin: 4px 0 12px;
  color: var(--muted-foreground);
  font-size: 12px;
}

.client-phone-list {
  display: grid;
  gap: 8px;
}

.client-phone-row {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid var(--root-panel-border, var(--border));
  border-radius: 6px;
  background: #fbfafc;
  padding: 10px;
}

.client-phone-row .form-field {
  gap: 5px;
}

.client-primary-check {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  color: #1f2937;
  font-size: 13px;
  font-weight: 750;
}

.client-profile-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-profile-address-grid .client-profile-subsection + .client-profile-subsection {
  border-left: 1px solid var(--root-panel-border, var(--border));
}

.client-notes-field {
  margin: 0;
  padding: 13px;
}

.app-shell .client-notes-field {
  display: grid;
  grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.app-shell .client-notes-field textarea,
.app-shell .client-notes-field .field-error {
  grid-column: 2;
}

.client-profile-overview-panel .client-profile-detail-grid {
  margin: 0;
}

.client-profile-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.client-profile-detail-grid div {
  border-top: 1px solid var(--root-panel-border, var(--border));
  padding: 12px 13px;
}

.client-profile-detail-grid dt {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.client-profile-detail-grid dd {
  margin: 5px 0 0;
  color: #1f2937;
  font-size: 13px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.client-profile-workspace {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.client-profile-menu {
  position: sticky;
  top: 88px;
  align-self: start;
  padding: 12px;
}

.client-profile-menu-head {
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 4px 8px 12px;
}

.client-profile-menu-head span {
  display: block;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-profile-menu-head strong {
  display: block;
  margin-top: 4px;
  color: #1f2937;
  font-size: 13px;
  line-height: 1.35;
}

.client-profile-menu-list {
  display: grid;
  gap: 4px;
  padding-top: 10px;
}

.client-profile-menu-item {
  display: flex;
  min-height: 36px;
  align-items: center;
  gap: 9px;
  border-radius: 6px;
  padding: 8px 10px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
}

.client-profile-menu-item:hover {
  background: #f4f2f7;
  color: #1f2937;
}

.client-profile-menu-item.active {
  background: #5f56c6;
  color: #ffffff;
}

.client-profile-menu-item i {
  width: 16px;
  color: inherit;
  font-size: 14px;
  text-align: center;
}

.client-profile-billing-group {
  margin: 8px 0;
  border-top: 1px solid var(--root-panel-border, var(--border));
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 8px 0;
}

.client-profile-menu-group-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  color: #111827;
  font-size: 13px;
  font-weight: 850;
}

.client-profile-billing-links {
  display: grid;
  gap: 3px;
  padding-left: 14px;
}

.client-profile-subitem {
  min-height: 32px;
  font-size: 12px;
  font-weight: 650;
}

.client-profile-subitem.active {
  background: #eef2ff;
  color: #4f46e5;
}

.client-profile-main {
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.client-profile-section {
  display: grid;
  gap: 16px;
  padding: 16px;
}

.client-profile-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  margin: -16px -16px 0;
  padding: 16px;
}

.client-profile-section-heading h3 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  line-height: 1.25;
}

.client-profile-section-heading p {
  margin: 5px 0 0;
  color: var(--muted-foreground);
  font-size: 13px;
}

.client-profile-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.client-profile-kpi {
  display: grid;
  gap: 5px;
  min-height: 112px;
  border: 1px solid var(--root-panel-border, var(--border));
  border-radius: 7px;
  background: #ffffff;
  padding: 14px;
  color: #1f2937;
}

.client-profile-kpi:hover {
  border-color: #c8c1ee;
  background: #fbfaff;
}

.client-profile-kpi span {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.client-profile-kpi strong {
  color: #111827;
  font-size: 22px;
  line-height: 1.15;
}

.client-profile-kpi small {
  color: var(--muted-foreground);
  font-size: 12px;
}

.client-profile-kpi-blue {
  background: #f5f8ff;
  border-color: #dbe7ff;
}

.client-profile-kpi-green {
  background: #f2fbf7;
  border-color: #d7f0e3;
}

.client-profile-kpi-amber {
  background: #fff9ee;
  border-color: #f3dfb5;
}

.client-profile-kpi-violet {
  background: #f8f6ff;
  border-color: #ded7fa;
}

.client-profile-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.client-profile-block {
  min-width: 0;
  border: 1px solid var(--root-panel-border, var(--border));
  border-radius: 7px;
  background: #ffffff;
  overflow: hidden;
}

.client-profile-block-head {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 12px 14px;
}

.client-profile-block-head h4 {
  margin: 0;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
}

.client-profile-block-head a {
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
}

.client-profile-block .client-profile-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-profile-block .client-profile-detail-grid div {
  border-top: 0;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
}

.client-profile-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px;
}

.client-profile-action-row-strong {
  border: 1px solid var(--root-panel-border, var(--border));
  border-radius: 7px;
  background: #fbfafc;
}

.client-profile-mini-list {
  display: grid;
}

.client-profile-mini-row {
  display: grid;
  gap: 3px;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 12px 14px;
}

.client-profile-mini-row:last-child {
  border-bottom: 0;
}

.client-profile-mini-row strong {
  color: #111827;
  font-size: 13px;
}

.client-profile-mini-row span,
.client-profile-empty {
  color: var(--muted-foreground);
  font-size: 12px;
}

.client-profile-empty {
  padding: 18px 14px;
}

.client-profile-edit-form,
.client-profile-billing-form {
  display: grid;
  gap: 16px;
}

.billing-document-form {
  gap: 18px;
}

.billing-document-top {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.billing-party-card,
.billing-line-items-panel {
  border: 1px solid var(--root-panel-border, var(--border));
  border-radius: 7px;
  background: #ffffff;
}

.billing-party-card {
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 14px;
}

.billing-party-card span {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.billing-party-card strong {
  color: #111827;
  font-size: 16px;
  line-height: 1.3;
}

.billing-party-card small {
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.45;
}

.billing-document-header-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.billing-document-header-grid .form-field-full {
  grid-column: 1 / -1;
}

.billing-line-items-panel {
  overflow: hidden;
}

.billing-line-items-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 14px;
}

.billing-line-items-head h4 {
  margin: 0;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
}

.billing-line-items-head p {
  margin: 4px 0 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.billing-line-items {
  display: grid;
}

.billing-line-item {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 64px 96px 76px 96px 34px;
  gap: 10px;
  align-items: end;
  border-bottom: 1px solid var(--root-panel-border, var(--border));
  padding: 12px 14px;
}

.billing-line-item-wide {
  grid-template-columns: minmax(220px, 1.2fr) 64px 96px 76px 96px minmax(120px, .7fr) 96px 34px;
}

.billing-line-item .form-field {
  gap: 5px;
}

.billing-line-total {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: flex-end;
  color: #111827;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.billing-line-remove {
  align-self: end;
  background: #f5f5f7;
  color: #9f1239;
}

.detail-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.detail-card {
  border: 1px solid var(--root-panel-border, var(--border));
  border-radius: 7px;
  background: #ffffff;
  padding: 14px;
}

.detail-card h3 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
}

.detail-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.detail-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #f1f3f5;
  padding-top: 8px;
}

.detail-card dt {
  color: var(--muted-foreground);
  font-size: 12px;
}

.detail-card dd {
  margin: 0;
  color: #111827;
  font-size: 12px;
  font-weight: 750;
  text-align: right;
}

.billing-document-totals {
  display: grid;
  justify-content: end;
  gap: 8px;
  padding: 14px;
}

.billing-document-totals div {
  display: grid;
  grid-template-columns: 120px 130px;
  gap: 12px;
  align-items: center;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 750;
}

.billing-document-totals strong {
  color: #111827;
  font-size: 13px;
  text-align: right;
}

.billing-document-total {
  border-top: 1px solid var(--root-panel-border, var(--border));
  padding-top: 8px;
}

.billing-document-total strong {
  font-size: 18px;
}

.auth-shell {
  display: grid;
  min-height: 100vh;
  place-items: center;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, .86), rgba(255, 255, 255, .96)),
    #f8fafc;
  padding: 32px 16px;
}

.auth-panel {
  width: min(100%, 440px);
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow);
  padding: 28px;
}

.auth-brand {
  margin-bottom: 26px;
}

.auth-panel h1 {
  margin: 14px 0 0;
  font-size: 32px;
  line-height: 1.1;
}

.auth-copy,
.auth-footer {
  color: var(--muted-foreground);
}

.auth-form {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.form-field {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}

.form-field input {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 10px;
  color: var(--foreground);
  font: inherit;
  font-weight: 500;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--ring);
  outline: 2px solid rgba(108, 95, 199, .16);
  outline-offset: 1px;
}

.form-field input.is-invalid,
.form-field select.is-invalid,
.form-field textarea.is-invalid {
  border-color: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, .1);
}

.form-field small {
  color: var(--muted-foreground);
  font-weight: 600;
}

.form-field small.field-error,
.form-field .field-error {
  color: #b91c1c;
  font-weight: 700;
}

.auth-remember {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: var(--foreground);
  font-size: 14px;
  font-weight: 700;
}

.auth-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--foreground);
}

.invalid-feedback {
  margin-top: 6px;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 700;
}

.form-field .password-field input {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.form-field .password-field .password-toggle {
  flex: 0 0 40px;
  width: 40px;
  min-height: 34px;
  margin-left: -1px;
  border-color: var(--border);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  background: #f8f9fa;
}

.form-field .password-field input:focus {
  outline-offset: 0;
  box-shadow: none;
}

.form-field .password-field input.is-invalid {
  border-right-color: #dc2626;
  box-shadow: none;
}

.form-field .password-field input.is-invalid + .password-toggle {
  border-color: #dc2626;
  color: #b91c1c;
  background: #fff7f7;
}

.spinner-border {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  vertical-align: -2px;
  animation: spin .7s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.auth-alert {
  margin-top: 18px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fef2f2;
  color: #991b1b;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 700;
}

.auth-alert-info {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}

.auth-alert-success {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.auth-alert-success span {
  display: block;
  margin-top: 4px;
  font-weight: 600;
}

.security-recovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.security-recovery-grid code {
  display: block;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #fff;
  color: #14532d;
  padding: 8px 10px;
  font-size: 13px;
}

.security-setup-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-top: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
  padding: 14px;
}

.security-setup-box h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 750;
  color: var(--text);
}

.security-setup-box p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.security-setup-box > .form-field {
  grid-column: 1 / -1;
}

.auth-footer {
  margin: 20px 0 0;
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 960px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .app-rail {
    position: static;
    height: auto;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .app-rail-nav {
    grid-template-columns: repeat(7, minmax(0, auto));
    justify-content: end;
    margin-top: 0;
  }

  .app-rail-user {
    display: none;
  }

  .app-rail-brand::before,
  .app-rail-brand::after,
  .app-rail-item::before,
  .app-rail-item::after,
  .app-rail-user::before,
  .app-rail-user::after {
    display: none;
  }

  .app-sidebar {
    position: static;
    height: auto;
    grid-template-rows: auto auto;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .app-sidebar-header {
    position: static;
  }

  .app-sidebar-content {
    overflow: visible;
  }

  .app-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .root-sidebar-nav {
    grid-template-columns: 1fr;
  }

  .root-nav-groups {
    overflow: visible;
  }

  .app-stat-grid,
  .app-panel-grid,
  .settings-grid,
  .client-dashboard-grid,
  .client-onboarding-grid,
  .client-property-card-grid,
  .client-owner-card-grid,
  .client-profile-address-grid,
  .client-profile-detail-grid,
  .notification-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .table-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .datatable-toolbar,
  .datatable-advanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .datatable-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .permission-workspace {
    grid-template-columns: 1fr;
  }

  .root-module-content-grid.has-left-panel {
    grid-template-columns: 1fr;
  }

  .root-settings-layout {
    grid-template-columns: 1fr;
  }

  .root-settings-nav {
    position: static;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .root-settings-nav a {
    justify-content: center;
    border-right: 1px solid var(--border);
    border-bottom: 0;
  }

  .root-settings-nav a:last-child {
    border-right: 0;
  }

  .module-sidebar {
    position: static;
  }

  .module-sidebar-inner {
    max-height: none;
  }

  .module-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .root-module-shell {
    min-height: auto;
  }

  .client-shell {
    grid-template-columns: 1fr;
  }

  .client-sidebar {
    position: static;
    height: auto;
    max-height: none;
  }

  .client-nav {
    grid-template-columns: none;
  }

  .client-nav-groups {
    max-height: 60vh;
  }

  .client-phone-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-document-top,
  .billing-document-header-grid,
  .billing-line-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-line-description,
  .billing-line-total {
    grid-column: 1 / -1;
  }

  .billing-line-total {
    justify-content: flex-start;
  }

  .client-primary-check {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .app-topbar,
  .app-user,
  .app-page-heading {
    align-items: flex-start;
  }

  .app-topbar,
  .app-user,
  .app-page-heading,
  .app-nav,
  .client-property-switcher,
  .client-impersonation-banner,
  .owner-preview-banner {
    display: grid;
  }

  .client-main .app-topbar,
  .client-impersonation-banner,
  .owner-preview-banner {
    grid-template-columns: 1fr;
  }

  .client-impersonation-banner,
  .owner-preview-banner {
    align-items: flex-start;
  }

  .client-property-switcher,
  .client-property-switcher .form-field,
  .owner-property-switcher {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  .app-content,
  .app-topbar {
    padding: 18px;
  }

  .root-module-header-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .root-module-content {
    padding: 18px;
  }

  .root-module-tabs {
    padding-top: 12px;
  }

  .root-module-filter {
    width: 100%;
  }

  .root-module-tab-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .root-module-tab {
    width: 100%;
    justify-content: space-between;
    border: 1px solid var(--border);
    border-radius: 6px;
    transform: none;
  }

  .app-stat-grid,
  .app-panel-grid,
  .table-toolbar,
  .form-grid,
  .checkbox-grid,
  .settings-grid,
  .client-dashboard-grid,
  .client-onboarding-grid,
  .client-property-card-grid,
  .client-property-meta,
  .client-owner-card-grid,
  .client-owner-meta,
  .client-profile-address-grid,
  .client-profile-detail-grid,
  .notification-stats,
  .billing-subscription-meta,
  .payment-method-meta,
  .invoice-payment-option,
  .invoice-view-header,
  .invoice-view-grid,
  .detail-card-grid,
  .forum-check-grid,
  .survey-answer-row,
  .invoice-view-footer {
    grid-template-columns: 1fr;
  }

  .client-profile-header {
    display: grid;
  }

  .client-profile-workspace,
  .client-profile-dashboard-grid,
  .client-profile-kpi-grid,
  .client-profile-block .client-profile-detail-grid {
    grid-template-columns: 1fr;
  }

  .client-profile-menu {
    position: static;
  }

  .client-profile-section-heading {
    display: grid;
  }

  .client-phone-row {
    grid-template-columns: 1fr;
  }

  .client-profile-address-grid .client-profile-subsection + .client-profile-subsection {
    border-left: 0;
  }

  .app-shell .client-notes-field {
    grid-template-columns: 1fr;
  }

  .app-shell .client-notes-field textarea,
  .app-shell .client-notes-field .field-error {
    grid-column: 1;
  }

  .billing-document-top,
  .billing-document-header-grid,
  .billing-line-item,
  .billing-document-totals div {
    grid-template-columns: 1fr;
  }

  .billing-line-items-head {
    display: grid;
  }

  .billing-document-totals {
    justify-content: stretch;
  }

  .billing-document-totals strong {
    text-align: left;
  }

  .invoice-payment-summary,
  .invoice-payment-empty {
    align-items: flex-start;
    flex-direction: column;
  }

  .invoice-view-header .status-badge {
    justify-self: start;
  }

  .notification-item {
    grid-template-columns: 1fr;
  }

  .notification-actions {
    justify-content: stretch;
  }

  .notification-actions .btn,
  .notification-actions form {
    width: 100%;
  }

  .page-actions,
  .page-heading-actions,
  .module-action-row,
  .notification-preference-row {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .page-actions .btn,
  .page-heading-actions .btn,
  .page-heading-actions form .btn,
  .page-heading-actions form,
  .module-action-row .btn,
  .module-action-row form,
  .notification-preference-toggle {
    width: 100%;
    justify-self: stretch;
  }

  .client-owner-filter-form,
  .client-owner-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .root-settings-title,
  .settings-row,
  .tax-simulation-summary,
  .tax-simulation-line,
  .settings-shortcut-row {
    grid-template-columns: 1fr;
  }

  .root-settings-title {
    display: grid;
  }

  .root-settings-nav {
    grid-template-columns: 1fr;
  }

  .root-settings-nav a {
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .settings-row {
    gap: 10px;
  }

  .voipms-setting-value {
    justify-content: flex-start;
    flex-wrap: wrap;
    text-align: left;
  }

  .settings-shortcut-meta {
    justify-content: flex-start;
  }

  .client-owner-filter-actions .btn,
  .client-owner-actions .btn {
    width: 100%;
  }

  .client-next-steps {
    align-items: flex-start;
    flex-direction: column;
  }

  .datatable-toolbar,
  .datatable-advanced {
    grid-template-columns: 1fr;
  }

  .datatable-stats {
    grid-template-columns: 1fr;
  }

  .datatable-state {
    align-items: flex-start;
    flex-direction: column;
  }

  .datatable-filter-actions {
    justify-content: stretch;
  }

.datatable-filter-actions .btn {
    width: 100%;
  }

  .module-list {
    grid-template-columns: 1fr;
  }
}

.owner-inline-form {
  display: grid;
  gap: 12px;
  min-width: 280px;
}

.owner-inline-form .form-field {
  margin: 0;
}

.forum-topic-panel,
.forum-reply-panel {
  display: grid;
  gap: 0;
}

.forum-post-body {
  color: var(--foreground);
  line-height: 1.7;
  white-space: pre-line;
}

.forum-topic-panel .forum-post-body {
  font-size: 15px;
}

.forum-action-row,
.forum-moderation-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.forum-action-row form,
.forum-moderation-bar form {
  margin: 0;
}

.forum-report-menu {
  position: relative;
}

.forum-report-menu summary {
  list-style: none;
  cursor: pointer;
}

.forum-report-menu summary::-webkit-details-marker {
  display: none;
}

.forum-report-menu[open] form {
  position: absolute;
  right: 0;
  z-index: 20;
  width: min(360px, calc(100vw - 48px));
  margin-top: 8px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.forum-moderation-bar {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.owner-forum-replies {
  display: grid;
  gap: 14px;
}

.forum-search-panel {
  padding: 16px;
}

.forum-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
}

.forum-search-form .form-field {
  margin: 0;
}

.forum-search-form .input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.forum-search-form .input-group-text {
  display: inline-grid;
  min-width: 42px;
  place-items: center;
  border: 1px solid var(--border);
  border-right: 0;
  border-radius: var(--radius) 0 0 var(--radius);
  background: var(--muted);
  color: var(--muted-foreground);
}

.forum-search-form input[type="search"] {
  min-width: 0;
  border-radius: 0 var(--radius) var(--radius) 0;
}

.forum-search-results {
  display: grid;
}

.forum-search-result {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-top: 1px solid var(--border);
  color: inherit;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.forum-search-result:first-child {
  border-top: 0;
}

.forum-search-result:hover {
  background: var(--muted);
  color: var(--accent);
}

.forum-search-result strong {
  color: var(--foreground);
  font-size: 14px;
}

.forum-search-result small,
.forum-search-result span:last-child {
  color: var(--muted-foreground);
  font-size: 12px;
}

.forum-search-result .badge {
  width: fit-content;
}

@media (max-width: 700px) {
  .forum-search-form {
    grid-template-columns: 1fr;
  }
}

.survey-answer-list {
  display: grid;
}

.survey-answer-row {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-top: 1px solid var(--border);
}

.survey-answer-row:first-child {
  border-top: 0;
}

.survey-answer-row strong {
  color: var(--foreground);
  font-size: 13px;
}

.survey-answer-row p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 13px;
  line-height: 1.6;
}

.owner-calendar-panel {
  display: grid;
  gap: 16px;
}

.owner-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
}

.owner-calendar-weekday {
  padding: 10px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--muted);
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.owner-calendar-weekday:nth-child(7) {
  border-right: 0;
}

.owner-calendar-day {
  min-height: 118px;
  padding: 10px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--panel);
}

.owner-calendar-day:nth-child(7n) {
  border-right: 0;
}

.owner-calendar-day.is-muted {
  background: #f8fafc;
}

.owner-calendar-day.is-today {
  box-shadow: inset 0 0 0 2px var(--primary);
}

.owner-calendar-day > strong {
  display: inline-grid;
  min-width: 24px;
  min-height: 24px;
  place-items: center;
  color: var(--foreground);
  font-size: 12px;
}

.owner-calendar-day.is-muted > strong {
  color: transparent;
}

.owner-calendar-event {
  display: grid;
  gap: 2px;
  margin-top: 8px;
  padding: 8px;
  border-radius: 6px;
  background: #eef2ff;
  color: #3730a3;
}

.owner-calendar-event span,
.owner-calendar-event small {
  font-size: 11px;
}

.owner-calendar-event b {
  overflow-wrap: anywhere;
  font-size: 12px;
}

.owner-calendar-upcoming {
  display: grid;
  gap: 10px;
}

.owner-calendar-upcoming > strong {
  font-size: 13px;
}

.owner-calendar-upcoming article {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 10px 0;
  border-top: 1px solid var(--border);
}

.owner-calendar-upcoming article > span {
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 750;
}

.owner-calendar-upcoming b {
  display: block;
  color: var(--foreground);
  font-size: 13px;
}

.owner-calendar-upcoming small,
.owner-calendar-upcoming p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 12px;
}

.owner-announcement-detail {
  display: grid;
  gap: 0;
}

.owner-announcement-body {
  padding: 18px 0 0;
  color: var(--foreground);
  font-size: 14px;
  line-height: 1.8;
  white-space: pre-line;
}

.owner-document-detail {
  display: grid;
  gap: 18px;
}

.owner-document-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.owner-document-meta div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--muted);
}

.owner-document-meta dt {
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.owner-document-meta dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 650;
}

.owner-document-notes {
  display: grid;
  gap: 8px;
}

.owner-document-notes h3 {
  margin: 0;
  font-size: 14px;
}

.owner-document-notes p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-line;
}

@media (max-width: 820px) {
  .owner-calendar-grid {
    display: block;
    border: 0;
    background: transparent;
  }

  .owner-calendar-weekday {
    display: none;
  }

  .owner-calendar-day {
    min-height: auto;
    margin-bottom: 8px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
  }

  .owner-calendar-day.is-muted {
    display: none;
  }
}

@media (max-width: 700px) {
  .owner-document-meta {
    grid-template-columns: 1fr;
  }
}

.owner-admin-layout {
  --background: #f8fafc;
  --foreground: #0f172a;
  --muted: #f1f5f9;
  --muted-foreground: #64748b;
  --border: #e2e8f0;
  --panel: #ffffff;
  --primary: #0f766e;
  --primary-foreground: #ffffff;
  --accent: #0f766e;
  --accent-soft: #ecfdf5;
  --ring: #0f766e;
  --shadow: 0 1px 2px rgba(15, 23, 42, .06);
}

.owner-shell {
  display: flex;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  background: var(--background);
}

.owner-shell.has-owner-preview {
  height: calc(100vh - 44px);
  min-height: calc(100vh - 44px);
}

.owner-sidebar {
  display: flex;
  width: 18rem;
  height: 100%;
  flex: 0 0 18rem;
  flex-direction: column;
  border-right: 1px solid var(--border);
  background: #ffffff;
}

.owner-shell.has-owner-preview .owner-sidebar {
  top: 0;
  height: 100%;
}

.owner-sidebar-header {
  display: grid;
  min-height: 64px;
  align-content: center;
  gap: 3px;
  border-bottom: 1px solid var(--border);
  padding: 0 20px;
}

.owner-sidebar-header .brand {
  min-width: 0;
}

.owner-sidebar-header > span {
  overflow: hidden;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-nav {
  flex: 1;
  min-height: 0;
  padding: 12px;
}

.owner-main {
  display: flex;
  min-width: 0;
  height: 100%;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
}

.owner-topbar {
  z-index: 30;
  display: flex;
  min-height: 64px;
  flex-shrink: 0;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--border);
  background: #ffffff;
  padding: 0 16px;
}

.owner-shell-toggle {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #ffffff;
  color: var(--foreground);
  box-shadow: var(--shadow);
}

.owner-breadcrumbs {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--muted-foreground);
  font-size: 13px;
  font-weight: 650;
}

.owner-breadcrumbs a,
.owner-breadcrumbs strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-breadcrumbs a:hover {
  color: var(--foreground);
}

.owner-breadcrumbs i {
  flex: 0 0 auto;
  font-size: 11px;
}

.owner-property-switcher {
  flex: 0 1 260px;
  margin: 0;
}

.owner-property-switcher select {
  height: 36px;
  max-width: 260px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #f8fafc;
  padding: 0 34px 0 10px;
  color: var(--foreground);
  font-size: 13px;
  font-weight: 650;
  outline: none;
}

.owner-property-switcher select:focus {
  border-color: #5eead4;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .14);
}

.owner-account-menu {
  flex: 0 0 auto;
}

.owner-account-trigger {
  color: var(--foreground);
}

.owner-account-trigger[aria-expanded="true"] {
  background: #f1f5f9;
}

.owner-content {
  display: grid;
  min-height: 0;
  flex: 1;
  align-content: start;
  gap: 15px;
  overflow: auto;
  padding: 15px;
  background: #f8fafc;
}

.owner-content > .app-page-heading,
.owner-content > .app-panel,
.owner-content > .app-table-panel,
.owner-content > .form-panel {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.owner-content > .app-page-heading {
  padding: 15px;
}

.owner-content .app-stat-grid {
  gap: 15px;
}

.owner-content .app-stat-card {
  border-color: var(--border);
  box-shadow: var(--shadow);
}

.owner-content .panel-heading,
.owner-content .table-meta {
  border-bottom: 1px solid var(--border);
  padding: 12px 15px;
}

.owner-content .form-grid,
.owner-content .resource-form > .form-field,
.owner-content .resource-form > .form-grid {
  padding: 15px;
}

.owner-content .form-actions {
  border-top: 1px solid var(--border);
  padding: 12px 15px;
}

.owner-content .table-scroll {
  overflow: auto;
}

.owner-content .data-table {
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  font-size: 13px;
  white-space: nowrap;
}

.owner-content .data-table thead th {
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
  padding: 11px 12px;
  color: var(--muted-foreground);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-content .data-table tbody td {
  border-bottom: 1px solid var(--border);
  padding: 10px 12px;
  vertical-align: middle;
}

.owner-content .data-table tbody tr:hover td {
  background: #f8fafc;
}

.owner-content .data-table tbody tr:last-child td {
  border-bottom: 1px solid var(--border);
}

.owner-content .table-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  white-space: nowrap;
}

.owner-content .empty-cell {
  color: var(--muted-foreground);
  font-weight: 650;
  text-align: center;
}

@media (min-width: 1024px) {
  .owner-shell-toggle {
    display: none;
  }
}

@media (max-width: 1023px) {
  .owner-shell {
    display: block;
  }

  .owner-sidebar {
    height: 100vh;
  }

  .owner-main {
    height: 100vh;
  }

  .owner-topbar {
    min-height: 64px;
    padding: 12px;
  }

  .owner-property-switcher {
    display: none;
  }
}

@media (max-width: 680px) {
  .owner-content {
    padding: 12px;
  }

  .owner-content .app-stat-grid {
    grid-template-columns: 1fr;
  }

  .owner-breadcrumbs {
    gap: 6px;
  }

  .owner-breadcrumbs a:first-child {
    max-width: 42vw;
  }

  .owner-breadcrumbs a:nth-of-type(2) {
    display: none;
  }

  .owner-breadcrumbs i:nth-of-type(2) {
    display: none;
  }
}

body.root-admin-layout #headerMain .root-shell-toggle,
body.root-admin-layout #rootSidebarBackdrop {
  display: none !important;
}

@media (max-width: 1023px) {
  body.root-admin-layout #containerMain {
    position: relative;
  }

  body.root-admin-layout #sidebarMain {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 60;
    width: min(18rem, calc(100vw - 3rem));
    max-width: 18rem;
    transform: translateX(-100%);
    transition: transform 180ms ease;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
  }

  body.root-admin-layout.root-sidebar-open #sidebarMain {
    transform: translateX(0);
  }

  body.root-admin-layout #pageContainer {
    width: 100%;
    min-width: 0;
  }

  body.root-admin-layout #headerMain .root-shell-toggle {
    display: inline-flex !important;
  }

  body.root-admin-layout #rootSidebarBackdrop {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: block !important;
    border: 0;
    background: rgba(15, 23, 42, 0.35);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  body.root-admin-layout.root-sidebar-open #rootSidebarBackdrop {
    opacity: 1;
    pointer-events: auto;
  }
}
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where(:not([type])),input:where([type=date]),input:where([type=datetime-local]),input:where([type=email]),input:where([type=month]),input:where([type=number]),input:where([type=password]),input:where([type=search]),input:where([type=tel]),input:where([type=text]),input:where([type=time]),input:where([type=url]),input:where([type=week]),select,select:where([multiple]),textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}input:where(:not([type])):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=email]):focus,input:where([type=month]):focus,input:where([type=number]):focus,input:where([type=password]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=text]):focus,input:where([type=time]):focus,input:where([type=url]):focus,input:where([type=week]):focus,select:focus,select:where([multiple]):focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:focus,input:where([type=checkbox]):checked:hover,input:where([type=radio]):checked:focus,input:where([type=radio]):checked:hover{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:focus,input:where([type=checkbox]):indeterminate:hover{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root{color-scheme:light}body,html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.auth-shell{display:flex;min-height:100vh;align-items:center;justify-content:center;--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1));padding:2.5rem 1rem;--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.auth-panel{width:100%;max-width:28rem;border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem;--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.auth-brand{margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.75rem;text-decoration-line:none}.brand-mark{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:6px;--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;font-weight:900;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.brand-text{font-size:1.125rem;line-height:1.75rem;font-weight:900;--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.auth-panel .eyebrow{margin:0;font-size:.75rem;line-height:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.auth-panel h1{margin-top:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900;letter-spacing:0;--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.auth-copy{margin-top:.75rem;font-size:.875rem;font-weight:600;line-height:1.5rem;--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.auth-form{margin-top:1.5rem}.auth-form>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.auth-panel .form-field{display:block;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.auth-panel .form-field>span:first-child,.auth-panel .form-label{margin-bottom:.375rem;display:block;font-size:.75rem;line-height:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.auth-panel input[type=email],.auth-panel input[type=password],.auth-panel input[type=text]{height:2.5rem;width:100%;border-radius:6px;border-width:1px;--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-panel input[type=email]:focus,.auth-panel input[type=password]:focus,.auth-panel input[type=text]:focus{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.auth-panel .password-field{display:flex;height:2.5rem;overflow:hidden;border-radius:6px;border-width:1px;--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-panel .password-field:focus-within{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.auth-panel .password-field input{height:100%;min-width:0;flex:1 1 0%;border-radius:0;border-width:0;background-color:transparent;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.auth-panel .password-field input:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.auth-panel .password-toggle{display:grid;height:100%;width:2.5rem;flex-shrink:0;place-items:center;border-width:0 0 0 1px;--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-panel .password-toggle:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.auth-remember{display:flex;min-height:1.5rem;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.auth-remember input{height:1rem;width:1rem;border-radius:.25rem;--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.auth-remember input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.auth-panel .btn,.auth-panel button[type=submit]{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:.5rem;border-radius:6px;border-width:1px;border-color:transparent;padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem;font-weight:900;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-panel .btn-primary,.auth-panel button[type=submit]{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.auth-panel .btn-primary:hover,.auth-panel button[type=submit]:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.auth-panel .btn-large,.auth-panel button[type=submit]{width:100%}.auth-alert{margin-top:1rem;border-radius:6px;border-width:1px;border-color:rgb(254 202 202/var(--tw-border-opacity,1));background-color:rgb(254 242 242/var(--tw-bg-opacity,1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:600;color:rgb(185 28 28/var(--tw-text-opacity,1))}.auth-alert,.auth-alert-info{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.auth-alert-info{border-color:rgb(191 219 254/var(--tw-border-opacity,1));background-color:rgb(239 246 255/var(--tw-bg-opacity,1));color:rgb(29 78 216/var(--tw-text-opacity,1))}.field-error{margin-top:.375rem;display:block;font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.app-toast-container{position:fixed;right:1rem;top:1rem;z-index:50;display:grid;width:min(24rem,calc(100vw - 2rem));gap:.5rem}.app-toast{overflow:hidden;border-radius:6px;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(0,0,0,.05)}.app-toast .toast-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom-width:1px;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:900}.app-toast .toast-body{padding:.5rem .75rem;font-weight:600;line-height:1.25rem}.app-toast-title{font-size:.875rem;line-height:1.25rem;font-weight:900}.app-toast .btn-close{height:1.75rem;width:1.75rem;border-radius:6px;border-width:0;background-color:transparent;padding:0;color:currentColor;opacity:.7;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.app-toast .btn-close:hover{background-color:rgba(0,0,0,.1);opacity:1}.app-toast-info{background-color:rgb(239 246 255/var(--tw-bg-opacity,1));color:rgb(23 37 84/var(--tw-text-opacity,1))}.app-toast-info,.app-toast-info .toast-header{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1));--tw-bg-opacity:1;--tw-text-opacity:1}.app-toast-info .toast-header{background-color:rgb(219 234 254/var(--tw-bg-opacity,1));color:rgb(30 58 138/var(--tw-text-opacity,1))}.app-toast-success{background-color:rgb(236 253 245/var(--tw-bg-opacity,1));color:rgb(2 44 34/var(--tw-text-opacity,1))}.app-toast-success,.app-toast-success .toast-header{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1));--tw-bg-opacity:1;--tw-text-opacity:1}.app-toast-success .toast-header{background-color:rgb(209 250 229/var(--tw-bg-opacity,1));color:rgb(6 78 59/var(--tw-text-opacity,1))}.app-toast-warning{background-color:rgb(255 251 235/var(--tw-bg-opacity,1));color:rgb(69 26 3/var(--tw-text-opacity,1))}.app-toast-warning,.app-toast-warning .toast-header{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1));--tw-bg-opacity:1;--tw-text-opacity:1}.app-toast-warning .toast-header{background-color:rgb(254 243 199/var(--tw-bg-opacity,1));color:rgb(120 53 15/var(--tw-text-opacity,1))}.app-toast-error{background-color:rgb(254 242 242/var(--tw-bg-opacity,1));color:rgb(69 10 10/var(--tw-text-opacity,1))}.app-toast-error,.app-toast-error .toast-header{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1));--tw-bg-opacity:1;--tw-text-opacity:1}.app-toast-error .toast-header{background-color:rgb(254 226 226/var(--tw-bg-opacity,1));color:rgb(127 29 29/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-3{top:-.75rem}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-9{top:2.25rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[80\]{z-index:80}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-\[15px\]{margin:15px}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[15px\]{margin-bottom:15px}.me-1{margin-inline-end:.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[15px\]{margin-top:15px}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[305px\]{height:305px}.h-\[520px\]{height:520px}.h-\[calc\(100vh-2\.75rem\)\]{height:calc(100vh - 2.75rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-44{max-height:11rem}.max-h-96{max-height:24rem}.max-h-\[70vh\]{max-height:70vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-16{min-height:4rem}.min-h-20{min-height:5rem}.min-h-28{min-height:7rem}.min-h-32{min-height:8rem}.min-h-40{min-height:10rem}.min-h-48{min-height:12rem}.min-h-5{min-height:1.25rem}.min-h-52{min-height:13rem}.min-h-6{min-height:1.5rem}.min-h-60{min-height:15rem}.min-h-7{min-height:1.75rem}.min-h-72{min-height:18rem}.min-h-8{min-height:2rem}.min-h-80{min-height:20rem}.min-h-9{min-height:2.25rem}.min-h-\[260px\]{min-height:260px}.min-h-\[320px\]{min-height:320px}.min-h-\[360px\]{min-height:360px}.min-h-\[420px\]{min-height:420px}.min-h-\[560px\]{min-height:560px}.min-h-\[64px\]{min-height:64px}.min-h-\[72px\]{min-height:72px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[560px\]{width:560px}.w-\[min\(24rem\2c calc\(100vw-2rem\)\)\]{width:min(24rem,calc(100vw - 2rem))}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-36{min-width:9rem}.min-w-48{min-width:12rem}.min-w-5{min-width:1.25rem}.min-w-56{min-width:14rem}.min-w-7{min-width:1.75rem}.min-w-\[320px\]{min-width:320px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-40{max-width:10rem}.max-w-4xl{max-width:56rem}.max-w-56{max-width:14rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[360px\]{max-width:360px}.max-w-\[380px\]{max-width:380px}.max-w-\[420px\]{max-width:420px}.max-w-\[480px\]{max-width:480px}.max-w-\[720px\]{max-width:720px}.max-w-\[calc\(100vw-4rem\)\]{max-width:calc(100vw - 4rem)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.scroll-mt-4{scroll-margin-top:1rem}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[minmax\(0\2c 1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[15px\]{gap:15px}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.space-y-\[15px\]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15px*var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px*var(--tw-divide-x-reverse));border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl,.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}.rounded-md{border-radius:6px}.rounded-xl{border-radius:.75rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-md{border-top-right-radius:6px;border-bottom-right-radius:6px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-background{--tw-bg-opacity:1;background-color:hsl(0 0% 100%/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:hsl(222.2 47.4% 11.2%/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/60{background-color:rgba(240,249,255,.6)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-100\/70{background-color:rgba(241,245,249,.7)}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-slate-950\/30{background-color:rgba(2,6,23,.3)}.bg-slate-950\/40{background-color:rgba(2,6,23,.4)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/75{background-color:hsla(0,0%,100%,.75)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/85{background-color:hsla(0,0%,100%,.85)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[15px\]{padding:15px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[15px\]{padding-left:15px;padding-right:15px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-\[15px\]{padding-right:15px}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-\[15px\]{padding-top:15px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:hsl(210 40% 98%/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.decoration-sky-300{text-decoration-color:#7dd3fc}.decoration-slate-300{text-decoration-color:#cbd5e1}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[-10px_0_18px_-16px_rgba\(15\2c 23\2c 42\2c 0\.45\)\]{--tw-shadow:-10px 0 18px -16px rgba(15,23,42,.45);--tw-shadow-colored:-10px 0 18px -16px var(--tw-shadow-color)}.shadow-\[-10px_0_18px_-16px_rgba\(15\2c 23\2c 42\2c 0\.45\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.ring-emerald-200{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.ring-orange-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.ring-slate-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.last\:border-r-0:last-child{border-right-width:0}.open\:shadow-md[open]{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:border-slate-500:focus-within{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus-within\:ring-slate-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-primary\/90:hover{background-color:rgba(15,23,42,.9)}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-sky-100:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-slate-950:hover{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-slate-950:hover{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:border-slate-500:focus{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.focus\:ring-slate-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.focus\:ring-slate-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity,1))}.focus\:ring-slate-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(222.2 84% 4.9%/var(--tw-ring-opacity,1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.has-\[\:checked\]\:border-slate-950:has(:checked){--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.has-\[\:checked\]\:bg-slate-50:has(:checked){--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-\[330px\]{height:330px}.sm\:w-80{width:20rem}.sm\:w-auto{width:auto}.sm\:max-w-none{max-width:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\2c 1fr\)_110px\]{grid-template-columns:minmax(0,1fr) 110px}.sm\:grid-cols-\[minmax\(0\2c 1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px*var(--tw-divide-x-reverse));border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))}.sm\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px*var(--tw-divide-y-reverse))}.sm\:border-l{border-left-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:max-w-sm{max-width:24rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[180px_180px_auto\]{grid-template-columns:180px 180px auto}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.md\:grid-cols-\[minmax\(0\2c 1fr\)_160px_160px_auto\]{grid-template-columns:minmax(0,1fr) 160px 160px auto}.md\:grid-cols-\[minmax\(0\2c 1fr\)_170px_220px_auto\]{grid-template-columns:minmax(0,1fr) 170px 220px auto}.md\:grid-cols-\[minmax\(0\2c 1fr\)_180px\]{grid-template-columns:minmax(0,1fr) 180px}.md\:grid-cols-\[minmax\(0\2c 1fr\)_180px_150px_auto\]{grid-template-columns:minmax(0,1fr) 180px 150px auto}.md\:grid-cols-\[minmax\(0\2c 1fr\)_180px_150px_auto_auto\]{grid-template-columns:minmax(0,1fr) 180px 150px auto auto}.md\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.md\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(16rem\2c 2fr\)\]{grid-template-columns:minmax(0,1fr) minmax(16rem,2fr)}.md\:grid-cols-\[minmax\(220px\2c 1fr\)_90px_120px_110px_120px_36px\]{grid-template-columns:minmax(220px,1fr) 90px 120px 110px 120px 36px}.md\:grid-cols-\[minmax\(240px\2c 1fr\)_auto\]{grid-template-columns:minmax(240px,1fr) auto}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px*var(--tw-divide-x-reverse));border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px*var(--tw-divide-y-reverse))}.md\:border-b-0{border-bottom-width:0}.md\:p-12{padding:3rem}.md\:p-8{padding:2rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_12rem_10rem_3rem\]{grid-template-columns:minmax(0,1fr) 12rem 10rem 3rem}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_160px\]{grid-template-columns:minmax(0,1fr) 160px}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_180px_auto\]{grid-template-columns:minmax(0,1fr) 180px auto}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_220px\]{grid-template-columns:minmax(0,1fr) 220px}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(220px\2c 320px\)\]{grid-template-columns:minmax(0,1fr) minmax(220px,320px)}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(260px\2c 360px\)\]{grid-template-columns:minmax(0,1fr) minmax(260px,360px)}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(260px\2c 420px\)\]{grid-template-columns:minmax(0,1fr) minmax(260px,420px)}.lg\:grid-cols-\[minmax\(190px\2c 1fr\)_minmax\(170px\2c 0\.85fr\)_minmax\(190px\2c 0\.9fr\)_auto\]{grid-template-columns:minmax(190px,1fr) minmax(170px,.85fr) minmax(190px,.9fr) auto}.lg\:grid-cols-\[minmax\(240px\2c 320px\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(260px\2c 1fr\)_auto\]{grid-template-columns:minmax(260px,1fr) auto}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-stretch{align-items:stretch}.lg\:justify-end{justify-content:flex-end}.lg\:self-center{align-self:center}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l{border-left-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:p-6{padding:1.5rem}}@media (min-width:1280px){.xl\:sticky{position:sticky}.xl\:top-\[15px\]{top:15px}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:flex{display:flex}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[280px_minmax\(0\2c 1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\2c 1\.4fr\)_minmax\(360px\2c 0\.8fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr)}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_150px_160px_130px_220px_220px_150px_auto\]{grid-template-columns:minmax(0,1fr) 150px 160px 130px 220px 220px 150px auto}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_160px_220px_220px_150px_auto\]{grid-template-columns:minmax(0,1fr) 160px 220px 220px 150px auto}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_22rem\]{grid-template-columns:minmax(0,1fr) 22rem}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_100px_150px_150px_150px_150px_auto\]{grid-template-columns:minmax(220px,1fr) 100px 150px 150px 150px 150px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_100px_150px_150px_160px_150px_180px_180px_auto\]{grid-template-columns:minmax(220px,1fr) 100px 150px 150px 160px 150px 180px 180px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_100px_160px_150px_150px_150px_auto\]{grid-template-columns:minmax(220px,1fr) 100px 160px 150px 150px 150px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_110px_150px_150px_130px_150px_140px_auto\]{grid-template-columns:minmax(220px,1fr) 110px 150px 150px 130px 150px 140px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_110px_150px_150px_150px_auto\]{grid-template-columns:minmax(220px,1fr) 110px 150px 150px 150px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_110px_160px_170px_170px_140px_140px_auto\]{grid-template-columns:minmax(220px,1fr) 110px 160px 170px 170px 140px 140px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_110px_220px_150px_auto\]{grid-template-columns:minmax(220px,1fr) 110px 220px 150px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_130px_150px_150px_170px_120px_auto\]{grid-template-columns:minmax(220px,1fr) 130px 150px 150px 170px 120px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_130px_150px_170px_170px_auto\]{grid-template-columns:minmax(220px,1fr) 130px 150px 170px 170px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_130px_160px_160px_170px_auto\]{grid-template-columns:minmax(220px,1fr) 130px 160px 160px 170px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_130px_minmax\(220px\2c 320px\)_150px_auto\]{grid-template-columns:minmax(220px,1fr) 130px minmax(220px,320px) 150px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_140px_140px_140px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 140px 140px 140px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_170px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 170px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_170px_150px_170px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 170px 150px 170px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_170px_170px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 170px 170px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_170px_170px_170px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 170px 170px 170px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_190px_160px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 190px 160px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_200px_170px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 200px 170px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_220px_180px_160px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 220px 180px 160px 130px auto}.xl\:grid-cols-\[minmax\(220px\2c 1fr\)_80px_110px_100px_100px_130px_120px_36px\]{grid-template-columns:minmax(220px,1fr) 80px 110px 100px 100px 130px 120px 36px}.xl\:grid-cols-\[minmax\(240px\2c 1fr\)_110px_150px_200px_200px_auto\]{grid-template-columns:minmax(240px,1fr) 110px 150px 200px 200px auto}.xl\:grid-cols-\[minmax\(240px\2c 1fr\)_110px_160px_180px_auto\]{grid-template-columns:minmax(240px,1fr) 110px 160px 180px auto}.xl\:grid-cols-\[minmax\(240px\2c 1fr\)_110px_180px_180px_auto\]{grid-template-columns:minmax(240px,1fr) 110px 180px 180px auto}.xl\:grid-cols-\[minmax\(240px\2c 1fr\)_110px_180px_220px_auto\]{grid-template-columns:minmax(240px,1fr) 110px 180px 220px auto}.xl\:grid-cols-\[minmax\(240px\2c 1fr\)_110px_180px_auto\]{grid-template-columns:minmax(240px,1fr) 110px 180px auto}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:justify-end{justify-content:flex-end}.xl\:self-start{align-self:flex-start}}@media (min-width:1536px){.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}.\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_420px\]{grid-template-columns:minmax(0,1fr) 420px}.\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_440px\]{grid-template-columns:minmax(0,1fr) 440px}.\32xl\:grid-cols-\[minmax\(220px\2c 1fr\)_220px_150px_150px_150px_130px_auto\]{grid-template-columns:minmax(220px,1fr) 220px 150px 150px 150px 130px auto}.\32xl\:grid-cols-\[minmax\(340px\2c 420px\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(340px,420px) minmax(0,1fr)}.\32xl\:items-end{align-items:flex-end}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\>tr\:last-child\>td\]\:border-b>tr:last-child>td{border-bottom-width:1px}.\[\&\>tr\:last-child\>td\]\:border-slate-200>tr:last-child>td{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.\[\&\>tr\:last-child\]\:border-b>tr:last-child{border-bottom-width:1px}.\[\&\>tr\:last-child\]\:border-slate-100>tr:last-child{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}