:root {
  --martins-font: Arial, Helvetica, sans-serif;
  --martins-bg: #f7f8fb;
  --martins-surface: #ffffff;
  --martins-surface-soft: #f8fafc;
  --martins-sidebar: #6B4AA0;
  --martins-sidebar-strong: #583b88;
  --martins-primary: #6B4AA0;
  --martins-primary-strong: #583b88;
  --martins-accent: #8f73bd;
  --martins-text: #18202a;
  --martins-muted: #64707d;
  --martins-border: #dce2e8;
  --martins-success: #20795a;
  --martins-danger: #b43b47;
  --martins-warning: #a66a14;
  --martins-radius: 12px;
  --martins-shadow: 0 10px 26px rgba(24, 32, 42, 0.08);
  --bg: var(--martins-bg);
  --panel: var(--martins-surface);
  --panel-strong: var(--martins-surface);
  --panel-2: var(--martins-surface-soft);
  --text: var(--martins-text);
  --muted: var(--martins-muted);
  --line: var(--martins-border);
  --border: var(--martins-border);
  --primary: var(--martins-primary);
  --primary-strong: var(--martins-primary-strong);
  --brand: var(--martins-primary);
  --brand-dark: var(--martins-primary-strong);
  --lilac: var(--martins-primary);
  --lilac-strong: var(--martins-primary-strong);
  --shadow: var(--martins-shadow);
}

html, body {
  font-family: var(--martins-font) !important;
  color: var(--martins-text);
  background: var(--martins-bg) !important;
  letter-spacing: 0;
}

body::before {
  display: none !important;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--martins-text);
  letter-spacing: 0 !important;
  font-weight: 700;
}

a {
  color: var(--martins-primary-strong);
}

.sidebar, .app-sidebar, .executive-sidebar {
  background: var(--martins-sidebar) !important;
  color: #fff !important;
  border-radius: 0 !important;
  box-shadow: 4px 0 18px rgba(24, 32, 42, 0.16) !important;
}

.sidebar a, .app-sidebar a, .executive-sidebar a,
.side-link, .side-toggle, .sidebar-brand, .sidebar-logo {
  color: #fff !important;
  border-radius: var(--martins-radius) !important;
}

.sidebar a:hover, .app-sidebar a:hover, .side-link:hover, .side-toggle:hover,
.side-link.active, .tab-button.active {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

.sidebar-subnav, .side-submenu {
  background: var(--martins-sidebar-strong) !important;
  border-radius: var(--martins-radius) !important;
}

.sidebar-subnav a, .side-submenu a {
  color: #eef2f6 !important;
}

.topbar, .mobile-topbar, .executive-topbar, .mobile-app-header {
  background: var(--martins-surface) !important;
  color: var(--martins-text) !important;
  border: 1px solid var(--martins-border) !important;
  border-radius: var(--martins-radius) !important;
  box-shadow: var(--martins-shadow) !important;
}

.card, .glass-card, .form-card, .panel, .hero-panel, .status-panel,
.today-card, .metric, .workspace-card, .exec-card, .dashboard-kpi,
.security-checklist, .stat-card, .pipeline-card, .pipeline-column {
  background: var(--martins-surface) !important;
  border: 1px solid var(--martins-border) !important;
  border-radius: var(--martins-radius) !important;
  box-shadow: var(--martins-shadow) !important;
  backdrop-filter: none !important;
}

button, .btn, .glass-button, .tab-button, .back-btn,
.actions a, .top-toolbar a, .top-toolbar button,
input[type="submit"], button[type="submit"] {
  border-radius: var(--martins-radius) !important;
  font-weight: 700;
  box-shadow: none !important;
}

button, .btn-primary, .glass-button, button[type="submit"],
input[type="submit"], .actions a:first-child {
  background: var(--martins-primary) !important;
  border-color: var(--martins-primary) !important;
  color: #fff !important;
}

button:hover, .btn-primary:hover, .glass-button:hover {
  background: var(--martins-primary-strong) !important;
  border-color: var(--martins-primary-strong) !important;
  transform: none !important;
}

input, select, textarea, .form-control, .form-select {
  border: 1px solid var(--martins-border) !important;
  border-radius: var(--martins-radius) !important;
  background: #fff !important;
  color: var(--martins-text) !important;
}

input:focus, select:focus, textarea:focus,
.form-control:focus, .form-select:focus {
  border-color: var(--martins-primary) !important;
  box-shadow: 0 0 0 3px rgba(107, 74, 160, 0.18) !important;
  outline: none !important;
}

.eyebrow, .nav-group-title, th, .muted, small {
  letter-spacing: 0 !important;
}

th {
  background: var(--martins-surface-soft) !important;
  color: var(--martins-muted) !important;
}

.alert, .flash {
  border-radius: var(--martins-radius) !important;
  border: 1px solid var(--martins-border) !important;
}

.login-card, .auth-card, .form-card {
  max-width: 560px;
  margin-inline: auto;
}

.login-logo, .sidebar-logo img, .sidebar-brand img {
  object-fit: contain;
}

.sidebar-brand,
.martins-brand,
.executive-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 8px !important;
}

.sidebar-logo,
.martins-brand-logo,
.sidebar-brand img,
.executive-brand img {
  width: 118px !important;
  height: 64px !important;
  object-fit: contain !important;
}

.sidebar-brand-text,
.martins-brand-title,
.executive-brand h1 {
  display: block !important;
  width: 100%;
}

.sidebar-brand strong,
.martins-brand-title,
.executive-brand h1 {
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.sidebar-brand .eyebrow,
.martins-brand-module,
.mobile-app-header-module,
.executive-brand p {
  display: block !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.login-brand-copy,
.martins-login-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 4px !important;
  margin: 0 0 18px !important;
}

.login-brand-copy strong,
.martins-login-header strong {
  color: var(--martins-text) !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.login-brand-copy span,
.martins-login-header span {
  color: var(--martins-muted) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}

body.bg-light,
body.auth-body,
.login-page-bg,
.main--auth,
.app-shell--auth {
  background: #f7f8fb !important;
}

.martins-login-card,
.auth-wrap > .auth-card,
.center-page .login-card,
.main--auth .content > .card,
.container .card.shadow {
  width: min(1140px, calc(100vw - 32px)) !important;
  max-width: 1140px !important;
  margin: 56px auto !important;
  border: 1px solid #dde3ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(16,24,40,.14) !important;
  overflow: hidden !important;
}

.martins-login-header,
.card-header.martins-login-header {
  min-height: 58px !important;
  padding: 14px 20px !important;
  background: #6B4AA0 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.martins-login-header img {
  display: none !important;
}

.martins-login-header strong {
  font-size: 18px !important;
  color: #fff !important;
}

.martins-login-header span {
  color: rgba(255,255,255,.78) !important;
}

.martins-auth-brand {
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  padding: 34px 24px 10px !important;
  text-align: center !important;
}

.martins-auth-brand img,
.login-logo,
.auth-branding__logo {
  width: 220px !important;
  height: 100px !important;
  max-height: 100px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

.martins-auth-brand strong,
.login-brand-copy strong,
.auth-branding__copy h1 {
  font-size: 24px !important;
  line-height: 1.15 !important;
  color: #101828 !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.martins-auth-brand span,
.login-brand-copy span,
.auth-branding__copy p {
  font-size: 14px !important;
  color: #667085 !important;
  margin: 0 !important;
}

.martins-login-body,
.card-body,
.auth-panel,
.login-card form,
.main--auth .card form {
  padding: 28px 32px !important;
}

.martins-login-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 32px !important;
}

.martins-login-grid > * + * {
  border-left: 1px solid #dde3ea !important;
  padding-left: 32px !important;
}

.martins-login-card label,
.auth-panel label,
.login-card label,
.main--auth .card label,
.card-body label {
  display: block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #101828 !important;
  margin-bottom: 6px !important;
}

.martins-login-card input,
.auth-panel input,
.login-card input,
.main--auth .card input,
.card-body input {
  min-height: 42px !important;
  border: 1px solid #dde3ea !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.martins-login-card .btn,
.martins-login-card button,
.auth-panel button,
.login-card button[type="submit"],
.main--auth .card button[type="submit"],
.card-body button {
  min-height: 44px !important;
  border-radius: 6px !important;
  background: #6B4AA0 !important;
  border-color: #6B4AA0 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.martins-login-card .btn-outline-primary,
.card-body .btn-outline-primary {
  background: #fff !important;
  color: #6B4AA0 !important;
  border-color: #6B4AA0 !important;
}

@media (max-width: 820px) {
  .martins-login-grid { grid-template-columns: 1fr !important; }
  .martins-login-grid > * + * { border-left: 0 !important; border-top: 1px solid #dde3ea !important; padding-left: 0 !important; padding-top: 24px !important; }
  .martins-login-card, .auth-wrap > .auth-card, .center-page .login-card, .main--auth .content > .card, .container .card.shadow { margin: 18px auto !important; }
}

.sidebar,
.app-sidebar,
.executive-sidebar {
  background: #6B4AA0 !important;
  color: #fff !important;
}

.sidebar *,
.app-sidebar *,
.executive-sidebar * {
  color: inherit;
}

.sidebar a,
.sidebar button,
.sidebar .nav-link,
.sidebar .tab-button,
.app-sidebar a,
.app-sidebar button,
.side-link,
.side-toggle {
  background: transparent !important;
  color: #fff !important;
  border-color: transparent !important;
}

.sidebar a:hover,
.sidebar button:hover,
.sidebar .nav-link:hover,
.sidebar .nav-link.is-active,
.sidebar .tab-button:hover,
.sidebar .tab-button.active,
.app-sidebar a:hover,
.app-sidebar button:hover,
.side-link:hover,
.side-link.active,
.side-toggle:hover,
.side-group[open] > .side-toggle {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

.side-submenu,
.sidebar-subnav {
  background: #fff !important;
  color: #101828 !important;
}

.side-submenu a,
.sidebar-subnav a {
  color: #101828 !important;
}

.side-submenu a:hover,
.sidebar-subnav a:hover {
  background: #f0eafa !important;
  color: #6B4AA0 !important;
}

html,
body,
input,
select,
textarea,
button {
  font-family: Arial, Helvetica, sans-serif !important;
}

body,
p,
td,
input,
select,
textarea,
.muted,
.small {
  font-weight: 400 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
label,
th,
button,
.btn,
.sidebar-brand,
.side-link,
.side-toggle,
.nav-link,
.tab-button,
.martins-login-header strong,
.martins-auth-brand strong {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

/* Login pages: Claims-style canonical layout */
.flash-stack.auth-flash-stack,
.main--auth .flashwrap,
.app-shell--auth .flashwrap,
.main--auth .messages,
.app-shell--auth .messages,
.auth-shell .flashwrap,
.auth-shell .messages,
.martins-login-card .alert:not(.alert-danger):not(.danger),
.martins-login-card .flash:not(.danger) {
  display: none !important;
}

.auth-shell,
.center-page,
.main--auth,
.app-shell--auth,
body.bg-light {
  min-height: 100vh !important;
  display: grid !important;
  align-items: start !important;
  justify-items: center !important;
  padding: 0 !important;
  background: #f7f8fb !important;
}

.martins-login-card,
.auth-wrap > .auth-card,
.center-page .login-card,
.main--auth .content > .card,
.container .card.shadow {
  width: min(1400px, calc(100vw - 32px)) !important;
  max-width: 1400px !important;
  min-height: 0 !important;
  margin: 76px auto !important;
  padding: 0 !important;
  border: 1px solid #dde3ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(16,24,40,.14) !important;
  overflow: hidden !important;
}

.martins-login-header,
.card-header.martins-login-header {
  width: 100% !important;
  min-height: 74px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 3px !important;
  padding: 16px 24px !important;
  margin: 0 !important;
  background: #6B4AA0 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: left !important;
}

.martins-login-header strong {
  display: block !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.martins-login-header span {
  display: block !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.martins-auth-brand {
  width: 100% !important;
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  padding: 44px 24px 32px !important;
  text-align: center !important;
}

.martins-auth-brand img,
.login-logo,
.auth-branding__logo {
  width: 220px !important;
  height: 100px !important;
  max-width: 220px !important;
  max-height: 100px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

.martins-login-body,
.card-body,
.auth-panel,
.login-card form,
.main--auth .card form,
.auth-body {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 34px 40px 44px !important;
}

.martins-login-body h1,
.auth-body h1,
.main--auth .card h1 {
  margin: 0 0 24px !important;
  font-size: 30px !important;
}

.martins-login-card input,
.auth-panel input,
.login-card input,
.main--auth .card input,
.card-body input,
.auth-body input {
  width: 100% !important;
  min-height: 52px !important;
}

.martins-login-card button,
.martins-login-card .btn,
.auth-panel button,
.login-card button,
.main--auth .card button,
.auth-body .btn {
  min-height: 52px !important;
}

/* Canonical login shell: keep every Martins module visually identical. */
body.martins-auth-page,
body.bg-light,
.auth-shell,
.center-page,
.main--auth,
.app-shell--auth {
  min-height: 100vh !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 72px 16px 32px !important;
  background: #f7f8fb !important;
}

.martins-auth-shell,
body.bg-light > .container,
.auth-wrap,
.center-page,
.main--auth .content {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.martins-login-card,
.auth-wrap > .auth-card,
.center-page .login-card,
.main--auth .content > .card,
.container .card.shadow {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.martins-auth-brand {
  min-height: 260px !important;
  padding: 44px 24px 34px !important;
}

.martins-login-body,
.card-body.martins-login-body,
.auth-panel,
.login-card form,
.main--auth .card form,
.auth-body {
  padding: 36px 40px 44px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.martins-login-body form,
.auth-panel form,
.login-card form,
.main--auth .card form {
  max-width: none !important;
}

.martins-login-body .muted:first-child,
.martins-login-body > p:first-child {
  display: none !important;
}

body.app-body > .nav {
  display: none !important;
}

@media (max-width: 820px) {
  body.martins-auth-page,
  body.bg-light,
  .auth-shell,
  .center-page,
  .main--auth,
  .app-shell--auth {
    padding: 16px !important;
  }

  .martins-auth-brand {
    min-height: 220px !important;
  }

  .martins-login-body,
  .card-body.martins-login-body,
  .auth-panel,
  .login-card form,
  .main--auth .card form,
  .auth-body {
    padding: 28px 24px 34px !important;
  }
}

/* Martins Telesales standard: final local overrides */
html,
body,
input,
select,
textarea,
button,
.btn {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

body,
p,
td,
input,
select,
textarea,
.muted,
.small,
small {
  color: var(--martins-text);
  font-weight: 400 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
label,
th,
button,
.btn,
.sidebar a,
.sidebar button,
.sidebar-brand,
.sidebar-brand strong,
.sidebar-brand .eyebrow,
.tab-button,
.nav-link,
.martins-login-header strong,
.martins-login-header span,
.martins-auth-brand strong,
.martins-auth-brand span {
  font-weight: 700 !important;
}

body.auth-body {
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 16px !important;
  background: #f7f8fb !important;
}

.auth-wrap {
  width: 100% !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 72px 0 32px !important;
}

.martins-login-card,
.auth-wrap > .auth-card {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #dce2e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.14) !important;
  overflow: hidden !important;
}

.martins-login-header {
  width: 100% !important;
  min-height: 74px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 4px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  background: #6B4AA0 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: left !important;
}

.martins-login-header strong {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
}

.martins-login-header span {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.martins-auth-brand {
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 34px 24px 16px !important;
  text-align: center !important;
}

.martins-auth-brand img,
.login-logo {
  width: 220px !important;
  height: 100px !important;
  max-width: 220px !important;
  max-height: 100px !important;
  object-fit: contain !important;
}

.martins-auth-brand strong {
  margin: 0 !important;
  color: #18202a !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
}

.martins-auth-brand span {
  margin: 0 !important;
  color: #64707d !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.martins-login-body {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  padding: 24px 32px 40px !important;
}

.martins-login-card label {
  display: block !important;
  margin: 0 0 14px !important;
  color: #18202a !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.martins-login-card input,
input,
select,
textarea {
  min-height: 52px !important;
  border: 1px solid #dce2e8 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #18202a !important;
  box-shadow: none !important;
}

.martins-login-card input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: #6B4AA0 !important;
  box-shadow: 0 0 0 3px rgba(107, 74, 160, 0.18) !important;
  outline: none !important;
}

.martins-login-card button,
.martins-login-card .btn,
.martins-login-submit,
button[type="submit"],
input[type="submit"] {
  min-height: 52px !important;
  border-radius: 6px !important;
  background: #6B4AA0 !important;
  border: 1px solid #6B4AA0 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.martins-login-card button:hover,
.martins-login-card .btn:hover,
.martins-login-submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: #583b88 !important;
  border-color: #583b88 !important;
}

.sidebar,
.app-sidebar,
.executive-sidebar {
  background: #6B4AA0 !important;
}

.sidebar a:hover,
.sidebar button:hover,
.sidebar .nav-link:hover,
.sidebar .nav-link.is-active,
.sidebar .tab-button:hover,
.sidebar .tab-button.active,
.sidebar-admin-group:hover > .sidebar-admin-link {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fff !important;
}

.sidebar-subnav,
.side-submenu {
  background: #fff !important;
  color: #18202a !important;
  border: 1px solid #dce2e8 !important;
}

.sidebar-subnav a,
.side-submenu a {
  color: #18202a !important;
}

.sidebar-subnav a:hover,
.side-submenu a:hover {
  background: rgba(107, 74, 160, 0.12) !important;
  color: #583b88 !important;
}

.card,
.glass-card,
.form-card,
.panel,
.hero-panel,
.status-panel,
.today-card,
.metric,
.workspace-card,
.exec-card,
.dashboard-kpi,
.security-checklist,
.stat-card,
.pipeline-card,
.pipeline-column,
.charts-page-panel,
.chart-toolbar,
table {
  background: #fff !important;
  border-color: #dce2e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(24, 32, 42, 0.08) !important;
}

@media (max-width: 820px) {
  body.auth-body {
    padding: 0 16px !important;
  }

  .auth-wrap {
    padding: 16px 0 24px !important;
  }

  .martins-login-card,
  .auth-wrap > .auth-card {
    max-width: 100% !important;
  }

  .martins-login-body {
    padding: 22px 20px 28px !important;
  }
}

/* Style-only Martins reference layer. No wording, routes, or flow changes. */
:root {
  --dm-bg: #f7f8fb;
  --dm-card: #ffffff;
  --dm-text: #18202a;
  --dm-heading: #101828;
  --dm-muted: #64707d;
  --dm-soft: #8793a1;
  --dm-border: #dce2e8;
  --dm-purple: #6B4AA0;
  --dm-purple-dark: #583b88;
  --dm-purple-soft: #8f73bd;
  --dm-sidebar-w: 326px;
  --dm-shadow: 0 18px 38px rgba(24, 32, 42, 0.08);
}

html,
body {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  color: var(--dm-text) !important;
  background: var(--dm-bg) !important;
}

body,
.app-layout,
.main-content,
.shell,
.dashboard-wrap,
.charts-page-wrap,
.dashboard-top-fixed,
.dashboard-scroll-content {
  background: var(--dm-bg) !important;
}

.sidebar {
  width: var(--dm-sidebar-w) !important;
  padding: 18px 14px 22px !important;
  gap: 20px !important;
  background: var(--dm-purple) !important;
  border-right: 0 !important;
  color: #ffffff !important;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.12) !important;
  scrollbar-color: rgba(255, 255, 255, 0.38) rgba(255, 255, 255, 0.10) !important;
}

.sidebar::-webkit-scrollbar {
  width: 10px !important;
}

.sidebar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.10) !important;
  border-radius: 999px !important;
}

.sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.38) !important;
  border-radius: 999px !important;
}

.main-content {
  margin-left: var(--dm-sidebar-w) !important;
  padding: 0 !important;
  min-height: 100vh !important;
}

.mobile-app-header {
  height: 104px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 20px 32px 18px !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--dm-border) !important;
}

.mobile-app-header-logo {
  width: 132px !important;
  height: 58px !important;
  object-fit: contain !important;
}

.mobile-app-header-title {
  color: var(--dm-heading) !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

.mobile-app-header-module {
  color: var(--dm-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 38px 36px 54px !important;
}

.sidebar-brand {
  min-height: 140px !important;
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 15px 14px 13px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  text-align: center !important;
}

.sidebar-logo {
  width: 170px !important;
  height: 72px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 8px 14px rgba(30, 16, 54, 0.22)) !important;
}

.sidebar-brand-text {
  display: grid !important;
  gap: 4px !important;
}

.sidebar-brand .eyebrow {
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  order: 2 !important;
}

.sidebar-brand strong {
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
}

.sidebar-nav {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
}

.sidebar-nav > a,
.sidebar-admin-link {
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.sidebar-nav > a:hover,
.sidebar-admin-link:hover,
.sidebar-admin-group:hover > .sidebar-admin-link {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}

.sidebar-subnav,
.sidebar-actions {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 14px 12px !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 34px rgba(38, 22, 68, 0.12) !important;
}

.sidebar-subnav a,
.sidebar-text-link {
  min-height: 0 !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: var(--dm-heading) !important;
  font-size: 14px !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.sidebar-subnav a:first-child,
.sidebar-subnav a:hover,
.sidebar-text-link:hover {
  background: #f3f0f8 !important;
  color: var(--dm-purple) !important;
}

.dashboard-wrap,
.charts-page-wrap {
  display: grid !important;
  gap: 26px !important;
  margin: 0 !important;
}

.mobile-page-tabs {
  display: none !important;
}

.stats-grid {
  gap: 20px !important;
  margin: 0 0 24px !important;
}

.stat-card,
.panel,
.analytics-panel,
.charts-page-panel,
.map-panel,
.chart-block,
.table-wrap,
.records-table-wrap {
  background: var(--dm-card) !important;
  border: 1px solid var(--dm-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--dm-shadow) !important;
}

.stat-card {
  min-height: 132px !important;
  padding: 26px !important;
}

.stat-card span,
label,
.filters label,
.chart-toolbar label {
  color: var(--dm-muted) !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

.stat-card strong {
  color: var(--dm-heading) !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

.panel,
.analytics-panel,
.charts-page-panel,
.map-panel {
  padding: 26px !important;
}

.panel-head {
  margin: 0 0 30px !important;
  align-items: flex-start !important;
}

.panel-head h2,
h1,
h2 {
  color: var(--dm-heading) !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.panel-head p,
.muted,
p {
  color: var(--dm-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}

.filters,
.chart-toolbar {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 15px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

input,
select,
textarea {
  height: 53px !important;
  min-height: 53px !important;
  padding: 0 18px !important;
  border: 1px solid var(--dm-border) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: var(--dm-text) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

textarea {
  height: auto !important;
  min-height: 110px !important;
  padding-top: 14px !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--dm-purple) !important;
  box-shadow: 0 0 0 3px rgba(107, 74, 160, 0.18) !important;
  outline: none !important;
}

button,
.primary-btn,
.ghost-btn,
.map-toggle button {
  min-height: 54px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.primary-btn,
button[type="submit"],
.panel button:not(.ghost-btn),
.map-toggle button {
  background: var(--dm-purple) !important;
  border-color: var(--dm-purple) !important;
  color: #ffffff !important;
}

.primary-btn:hover,
button[type="submit"]:hover,
.panel button:not(.ghost-btn):hover,
.map-toggle button:hover {
  background: var(--dm-purple-dark) !important;
  border-color: var(--dm-purple-dark) !important;
}

.ghost-btn {
  color: var(--dm-purple) !important;
  background: #ffffff !important;
  border: 1px solid var(--dm-border) !important;
}

@media (max-width: 980px) {
  .main-content {
    margin-left: 0 !important;
  }

  .shell {
    padding: 18px 14px 32px !important;
  }

  .mobile-page-tabs {
    display: flex !important;
  }
}

/* Sidebar compact professional fix */
.sidebar {
  width: 300px !important;
  padding: 16px 14px 18px !important;
  gap: 14px !important;
  overflow-y: auto !important;
}

.main-content {
  margin-left: 300px !important;
}

.sidebar-brand {
  min-height: 150px !important;
  padding: 16px 14px 14px !important;
  margin: 0 0 6px !important;
  gap: 8px !important;
  border-radius: 12px !important;
}

.sidebar-logo {
  width: 178px !important;
  height: 76px !important;
}

.sidebar-brand strong {
  font-size: 18px !important;
  line-height: 1.12 !important;
}

.sidebar-brand .eyebrow {
  font-size: 14px !important;
  line-height: 1.15 !important;
}

.sidebar-nav {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
}

.sidebar-nav > a,
.sidebar-admin-link {
  min-height: 44px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
}

.sidebar-admin-group {
  gap: 8px !important;
}

.sidebar-subnav {
  gap: 4px !important;
  padding: 10px !important;
  border-radius: 12px !important;
}

.sidebar-subnav a {
  min-height: 38px !important;
  padding: 9px 10px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}

.sidebar-nav > a:last-child {
  margin-top: 4px !important;
  background: transparent !important;
  color: #ffffff !important;
}

.sidebar-actions {
  gap: 4px !important;
  margin: 4px 0 0 !important;
  padding: 10px !important;
  border-radius: 12px !important;
}

.sidebar-text-link {
  min-height: 36px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}

@media (max-width: 980px) {
  .main-content {
    margin-left: 0 !important;
  }
}

/* Final sidebar readability fix */
.sidebar {
  width: 280px !important;
  padding: 14px 12px 16px !important;
  gap: 12px !important;
  background: #6B4AA0 !important;
}

.main-content {
  margin-left: 280px !important;
}

.sidebar-brand {
  min-height: 118px !important;
  padding: 12px !important;
  margin: 0 0 4px !important;
  gap: 6px !important;
  border-radius: 10px !important;
}

.sidebar-logo {
  width: 145px !important;
  height: 58px !important;
}

.sidebar-brand strong {
  font-size: 15px !important;
  line-height: 1.1 !important;
}

.sidebar-brand .eyebrow {
  font-size: 12px !important;
  line-height: 1.15 !important;
}

.sidebar-nav {
  gap: 7px !important;
}

.sidebar-nav > a,
.sidebar-admin-link {
  min-height: 38px !important;
  justify-content: flex-start !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

.sidebar-admin-link {
  background: rgba(255, 255, 255, 0.16) !important;
}

.sidebar-admin-group {
  gap: 7px !important;
}

.sidebar-subnav {
  gap: 3px !important;
  padding: 8px !important;
  border-radius: 10px !important;
}

.sidebar-subnav a {
  min-height: 32px !important;
  justify-content: flex-start !important;
  padding: 7px 9px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

.sidebar-nav > a:last-child {
  min-height: 38px !important;
  margin-top: 2px !important;
  justify-content: flex-start !important;
}

.sidebar-actions {
  gap: 3px !important;
  margin: 2px 0 0 !important;
  padding: 8px !important;
  border-radius: 10px !important;
}

.sidebar-text-link {
  min-height: 30px !important;
  justify-content: flex-start !important;
  padding: 7px 9px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

@media (max-width: 980px) {
  .main-content {
    margin-left: 0 !important;
  }
}
