
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
*, *::before, *::after {
  box-sizing: border-box;
}

body { font-family: Arial, sans-serif; background: #f5f7fb; margin: 0; color: #1f2937; }

.admin-utility-nav { padding:10px 0; display:flex; gap:12px; flex-wrap:wrap; }
.admin-utility-nav a { color:#1d4ed8; }
.admin-mobile-menu-bar { display:none; padding:12px 14px 0; }
.admin-mobile-menu-toggle { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:14px; background:#fff; color:#0f172a; border:1px solid #dbe3ef; font-weight:800; box-shadow:0 10px 24px rgba(15,23,42,.08); }
.admin-mobile-menu-toggle-icon { font-size:18px; line-height:1; }
.admin-mobile-menu-panel { position:sticky; top:0; z-index:1150; padding:10px 14px 0; }
.admin-mobile-menu-card { background:#0f172a; color:#fff; border-radius:22px; padding:14px; box-shadow:0 20px 40px rgba(15,23,42,.24); }
.admin-mobile-menu-title { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#93c5fd; margin-bottom:10px; }
.admin-mobile-menu-links { display:grid; gap:8px; }
.admin-mobile-menu-links a { color:#fff; text-decoration:none; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); font-weight:700; }
.admin-mobile-menu-logout { margin-top:10px; }
.admin-mobile-menu-logout button { width:100%; }

.admin-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.admin-sidebar { background: #0f172a; padding: 24px; display: grid; gap: 12px; align-content: start; }
.admin-sidebar a, .admin-sidebar button { color: #fff; text-decoration: none; background: transparent; border: 0; text-align: left; padding: 10px 0; cursor: pointer; }
.admin-main { padding: 32px; }
.stats-grid, .crm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.crm-grid { grid-template-columns: repeat(3, 1fr); }
.stat-card, .crm-card, .auth-card, form, table { background: #fff; border-radius: 16px; padding: 18px; box-shadow: 0 10px 30px rgba(2,6,23,.06); }
.auth-card { width: min(420px, calc(100% - 32px)); margin: 48px auto; }
label { display: grid; gap: 6px; margin-bottom: 12px; }
input, button { padding: 10px 12px; border-radius: 10px; border: 1px solid #cbd5e1; }
button { background: #0f766e; color: #fff; border-color: #0f766e; cursor: pointer; }
.table { width: 100%; border-collapse: collapse; }
.table td, .table th { padding: 12px; border-bottom: 1px solid #e2e8f0; text-align: left; }
.flash-success { padding: 14px 16px; background: #ecfdf5; color: #166534; border-radius: 12px; margin-bottom: 16px; }
@media (max-width: 980px) {
  .admin-shell, .stats-grid, .crm-grid { grid-template-columns: 1fr; }
  .admin-mobile-menu-bar { display:block; }
  .admin-utility-nav, .admin-sidebar { display:none; }
  .admin-main { padding: 18px 14px 24px; }
}

.admin-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:16px; }
.admin-topbar-title { font-size: 1.05rem; }
.admin-topbar-actions { display:flex; align-items:center; gap:12px; }
.admin-notification-bell { position: relative; }
.admin-bell-button { position: relative; background:#fff; color:#0f172a; border:1px solid #dbe3ef; min-width:48px; height:48px; border-radius:999px; box-shadow:0 10px 24px rgba(2,6,23,.08); }
.admin-bell-icon { font-size: 1.2rem; line-height:1; }
.admin-bell-badge { position:absolute; top:-4px; right:-4px; background:#dc2626; color:#fff; border-radius:999px; min-width:22px; height:22px; display:grid; place-items:center; font-size:.75rem; padding:0 6px; }
.admin-bell-dropdown { position:absolute; top:56px; right:0; width:min(420px, calc(100vw - 40px)); background:#fff; border:1px solid #dbe3ef; border-radius:18px; box-shadow:0 20px 40px rgba(2,6,23,.12); overflow:hidden; z-index:1000; }
.admin-bell-header,.admin-bell-footer { padding:14px 16px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #eef2f7; }
.admin-bell-footer { border-bottom:0; border-top:1px solid #eef2f7; }
.admin-bell-list { max-height:420px; overflow:auto; }
.admin-bell-item { padding:14px 16px; border-bottom:1px solid #eef2f7; display:grid; gap:8px; }
.admin-bell-item:last-child { border-bottom:0; }
.admin-bell-item.is-unread { background:#f8fafc; }
.admin-bell-item-head { display:flex; justify-content:space-between; gap:12px; font-size:.88rem; }
.admin-bell-item p { margin:0; color:#475569; }
.admin-bell-item-actions { display:flex; align-items:center; gap:10px; }
.admin-bell-link,.admin-bell-mark-all,.admin-bell-inline,.admin-bell-read { font-size:.85rem; }
.admin-bell-link { color:#0f766e; text-decoration:none; }
.admin-bell-mark-all,.admin-bell-inline { background:none; border:0; color:#0f766e; padding:0; }
.admin-bell-empty { padding:18px 16px; color:#64748b; }
.notification-list { display:grid; gap:14px; }
.notification-card { background:#fff; border-radius:18px; padding:18px; box-shadow:0 10px 30px rgba(2,6,23,.06); }
.notification-card--unread { border-left:4px solid #0f766e; }
.notification-card header { display:flex; justify-content:space-between; gap:16px; margin-bottom:8px; }
.notification-actions { display:flex; gap:12px; align-items:center; }

.admin-pwa-install {
  position: sticky;
  top: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: linear-gradient(135deg, #0f766e, #115e59);
  color: #fff;
}
.admin-pwa-install p { margin: 4px 0 0; color: rgba(255,255,255,.86); font-size: .92rem; }
.admin-pwa-install-actions { display:flex; gap:10px; flex-wrap:wrap; }
.admin-pwa-install-actions button { border-color: rgba(255,255,255,.2); }
.admin-pwa-install-dismiss { background: transparent; color:#fff; }
.is-standalone .admin-sidebar,
.is-standalone .admin-utility-nav { display:none; }
.is-standalone .admin-main { padding-top: max(20px, env(safe-area-inset-top)); }
.is-standalone .admin-topbar { position: sticky; top: 0; z-index: 1000; background:#f5f7fb; padding-top: 6px; }

@media (max-width: 980px) {
  .admin-pwa-install { align-items:flex-start; flex-direction:column; }
  .is-standalone .admin-main { padding: 18px 14px 24px; }
}


.admin-body--crm-inbox .flash-success { display:none; }
.crm-inbox-screen { display:grid; gap:12px; }
.crm-inbox-appbar { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.crm-inbox-appbar-kicker { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0f766e; }
.crm-inbox-appbar-badge { display:grid; gap:2px; justify-items:end; padding:10px 12px; border-radius:16px; background:linear-gradient(180deg,#ecfeff 0%,#ffffff 100%); border:1px solid #bae6fd; min-width:88px; }
.crm-inbox-appbar-badge span { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#0369a1; }
.crm-inbox-appbar-badge strong { font-size:24px; line-height:1; color:#0f172a; }
.crm-inbox-standalone-dock { display:none; }

.is-standalone.admin-body--crm-inbox .admin-pwa-install,
.is-standalone.admin-body--crm-inbox .admin-topbar { display:none; }
.is-standalone.admin-body--crm-inbox .admin-main { padding-top: max(14px, env(safe-area-inset-top)); padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
.is-standalone.admin-body--crm-inbox .crm-inbox-page-title { font-size: 1.55rem; }
.is-standalone.admin-body--crm-inbox .crm-inbox-page-subtitle { display:none; }
.is-standalone.admin-body--crm-inbox .crm-inbox-scopebar { top: max(0px, env(safe-area-inset-top)); margin-left:-4px; margin-right:-4px; padding-left:4px; padding-right:4px; border-radius:18px; box-shadow:0 10px 24px rgba(15,23,42,.06); }
.is-standalone.admin-body--crm-inbox .crm-inbox-stats-grid { display:none !important; }
.is-standalone.admin-body--crm-inbox .crm-inbox-main-grid { grid-template-columns: 1fr !important; }
.is-standalone.admin-body--crm-inbox .crm-inbox-standalone-dock { position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:1200; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:10px; border-radius:22px; background:rgba(255,255,255,.96); border:1px solid #dbe3ef; box-shadow:0 20px 40px rgba(15,23,42,.16); backdrop-filter: blur(14px); }
.is-standalone.admin-body--crm-inbox .crm-inbox-standalone-dock a { text-decoration:none; text-align:center; padding:10px 8px; border-radius:16px; color:#0f172a; font-size:12px; font-weight:800; }
.is-standalone.admin-body--crm-inbox .crm-inbox-standalone-dock a.is-current { background:#111827; color:#fff; }

@media (max-width: 980px) {
  .crm-inbox-appbar { align-items:flex-start; }
}

@media (max-width: 720px) {
  .crm-inbox-appbar { gap:10px; }
  .crm-inbox-page-title { font-size:1.6rem; }
  .crm-inbox-main-grid { grid-template-columns:1fr !important; }
  .crm-inbox-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .crm-inbox-standalone-dock a { padding:9px 6px; }
}


.crm-inbox-offline-banner { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:12px 14px; margin:0 0 12px; border-radius:16px; border:1px solid #bfdbfe; background:#eff6ff; color:#1d4ed8; }
.crm-inbox-offline-banner[data-state="offline"] { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; }
.crm-inbox-offline-banner[data-state="queued"] { border-color:#fde68a; background:#fffbeb; color:#92400e; }
.crm-inbox-offline-banner[data-state="syncing"] { border-color:#99f6e4; background:#ecfeff; color:#0f766e; }
.crm-inbox-offline-banner__kicker { font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; opacity:.82; }
.crm-inbox-offline-banner__text { margin-top:3px; font-size:14px; font-weight:700; }
.crm-inbox-offline-banner__actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.crm-inbox-offline-banner__count { min-width:28px; height:28px; display:grid; place-items:center; padding:0 8px; border-radius:999px; background:#fff; color:inherit; font-size:12px; font-weight:800; border:1px solid rgba(15,23,42,.08); }
.crm-inbox-offline-banner__button { padding:8px 10px; border-radius:999px; font-size:12px; font-weight:800; }
.crm-inbox-offline-banner__button.is-ghost { background:transparent; color:inherit; border-color:currentColor; }
.crm-inbox-card--queued { position:relative; outline:2px dashed #f59e0b; outline-offset:3px; }
.crm-inbox-offline-chip { margin:0 0 10px; display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:#fffbeb; color:#92400e; border:1px solid #fde68a; font-size:11px; font-weight:800; letter-spacing:.02em; }

@media (max-width: 720px) {
  .crm-inbox-offline-banner { align-items:flex-start; flex-direction:column; }
}

.crm-inbox-offline-summary { margin:-2px 0 12px; padding:10px 12px; border-radius:14px; border:1px solid #dbeafe; background:#f8fbff; color:#1d4ed8; }
.crm-inbox-offline-summary[data-tone="success"] { border-color:#bbf7d0; background:#ecfdf5; color:#166534; }
.crm-inbox-offline-summary[data-tone="warm"] { border-color:#fde68a; background:#fffbeb; color:#92400e; }
.crm-inbox-offline-summary[data-tone="info"] { border-color:#bfdbfe; background:#eff6ff; color:#1d4ed8; }
.crm-inbox-offline-summary__label { font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; opacity:.82; }
.crm-inbox-offline-summary__text { margin-top:4px; font-size:14px; font-weight:800; }

.crm-inbox-offline-banner[data-state="conflict"] { border-color:#fecaca; background:#fef2f2; color:#991b1b; }
.crm-inbox-offline-chip--conflict { background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.crm-inbox-offline-summary[data-tone="danger"], .crm-inbox-offline-summary[data-tone="conflict"] { border-color:#fecaca; background:#fef2f2; color:#991b1b; }
.crm-inbox-card--conflict { border-color:#fca5a5 !important; box-shadow:0 0 0 3px rgba(252,165,165,.18); }

.crm-inbox-conflict-review { margin:0 0 14px; padding:12px; border-radius:16px; border:1px solid #fecaca; background:#fff7f7; color:#7f1d1d; }
.crm-inbox-conflict-review__head { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.crm-inbox-conflict-review__kicker { font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; opacity:.82; }
.crm-inbox-conflict-review__title { margin-top:3px; font-size:16px; font-weight:800; }
.crm-inbox-conflict-review__count { min-width:28px; height:28px; display:grid; place-items:center; padding:0 8px; border-radius:999px; background:#fff; color:#991b1b; font-size:12px; font-weight:800; border:1px solid #fecaca; }
.crm-inbox-conflict-review__list { margin-top:12px; display:grid; gap:10px; }
.crm-inbox-conflict-item { padding:12px; border-radius:14px; border:1px solid #fecaca; background:#fff; }
.crm-inbox-conflict-item__title { font-size:14px; font-weight:800; color:#7f1d1d; }
.crm-inbox-conflict-item__text { margin-top:5px; font-size:13px; color:#991b1b; line-height:1.45; }
.crm-inbox-conflict-item__actions { margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.crm-inbox-conflict-item__button { display:inline-flex; align-items:center; justify-content:center; padding:8px 10px; border-radius:999px; border:1px solid #fecaca; background:#fff; color:#991b1b; font-size:12px; font-weight:800; text-decoration:none; }
.crm-inbox-conflict-item__button--primary { background:#991b1b; border-color:#991b1b; color:#fff; }
.crm-inbox-conflict-item__button--ghost { background:#fff7f7; }
@media (max-width: 768px) { .crm-inbox-conflict-item__actions { display:grid; grid-template-columns:1fr; } .crm-inbox-conflict-item__button { width:100%; } }

.crm-inbox-bulk-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:0 0 12px; padding:12px 14px; border-radius:16px; border:1px solid #e5e7eb; background:#fff; }
.crm-inbox-bulk-toolbar__title { font-size:13px; font-weight:800; color:#111827; }
.crm-inbox-bulk-toolbar__text { margin-top:3px; font-size:12px; color:#6b7280; }
.crm-inbox-bulk-toolbar__toggle { padding:10px 14px; border-radius:999px; border:1px solid #d1d5db; background:#fff; color:#111827; font-size:12px; font-weight:800; }
.crm-inbox-bulk-toolbar[data-active="1"] .crm-inbox-bulk-toolbar__toggle { background:#111827; border-color:#111827; color:#fff; }

.crm-inbox-bulk-check { position:absolute; top:12px; right:12px; z-index:5; display:none; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; border:1px solid #d1d5db; background:#fff; color:#111827; font-size:11px; font-weight:800; box-shadow:0 8px 18px rgba(15,23,42,.08); }
.crm-inbox-bulk-check input { margin:0; }
.crm-inbox-bulk-mode .crm-inbox-bulk-check { display:inline-flex; }
.crm-inbox-bulk-mode .inbox-swipe-card { padding-top:48px !important; }
.crm-inbox-card--bulk-selected { border-color:#93c5fd !important; box-shadow:0 0 0 3px rgba(59,130,246,.14); }

.crm-inbox-bulkbar { position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:1300; display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px; border-radius:20px; border:1px solid #dbe3ef; background:rgba(255,255,255,.98); box-shadow:0 20px 40px rgba(15,23,42,.18); backdrop-filter:blur(16px); }
.crm-inbox-bulkbar__meta { min-width:0; }
.crm-inbox-bulkbar__title { font-size:13px; font-weight:800; color:#111827; }
.crm-inbox-bulkbar__hint { margin-top:3px; font-size:12px; color:#6b7280; }
.crm-inbox-bulkbar__actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.crm-inbox-bulkbar__ghost, .crm-inbox-bulkbar__action { border:none; border-radius:999px; padding:10px 12px; font-size:12px; font-weight:800; }
.crm-inbox-bulkbar__ghost { background:#f3f4f6; color:#111827; }
.crm-inbox-bulkbar__action.is-info { background:#eff6ff; color:#1d4ed8; }
.crm-inbox-bulkbar__action.is-warm { background:#fef3c7; color:#92400e; }
.crm-inbox-bulkbar__action.is-success { background:#dcfce7; color:#166534; }

@media (max-width: 720px) {
  .crm-inbox-bulk-toolbar { align-items:flex-start; }
  .crm-inbox-bulkbar { flex-direction:column; align-items:stretch; }
  .crm-inbox-bulkbar__actions { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
  .crm-inbox-bulkbar__action.is-success { grid-column:1 / -1; }
}

.admin-body--crm-inbox-app {
  margin: 0;
  background: #f4f6f8;
  color: #0f172a;
  min-height: 100vh;
  min-height: 100dvh;
}
.crm-mobile-flash {
  margin: 12px 12px 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: #ecfdf5;
  color: #166534;
  font-weight: 700;
}
.crm-mobile-app {
  width: min(100%, 760px);
  max-width: 760px;
  margin: 0 auto;
  padding: max(16px, env(safe-area-inset-top)) 16px calc(112px + env(safe-area-inset-bottom));
  display: grid;
  gap: 14px;
}
.crm-mobile-header,
.crm-mobile-summary,
.crm-mobile-card,
.crm-mobile-empty,
.crm-mobile-tail {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}
.crm-mobile-header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.crm-mobile-kicker {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #0f766e;
}
.crm-mobile-header h1 {
  margin: 8px 0 6px;
  font-size: 28px;
  line-height: 1.1;
}
.crm-mobile-header p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
}
.crm-mobile-header > * {
  min-width: 0;
}
.crm-mobile-header small {
  display: block;
  margin-top: 8px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 700;
}
.crm-mobile-profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  color: #0f172a;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}
.crm-mobile-summary {
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.crm-mobile-scope-switcher {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.crm-mobile-scope-switcher__item {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #d7dee7;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}
.crm-mobile-scope-switcher__item span {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}
.crm-mobile-scope-switcher__item.is-active {
  border-color: #0f766e;
  background: #f0fdfa;
}
.crm-mobile-scope-switcher__item.is-active span {
  background: #ccfbf1;
  color: #0f766e;
}
.crm-mobile-summary__item {
  min-height: 82px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  color: #0f172a;
  display: grid;
  gap: 6px;
  align-content: center;
}
.crm-mobile-summary__item.is-active {
  border-color: #0f766e;
  background: #f0fdfa;
}
.crm-mobile-summary__item strong {
  font-size: 26px;
  line-height: 1;
}
.crm-mobile-summary__item span {
  font-size: 14px;
  color: #475569;
}
.crm-mobile-card {
  padding: 18px;
  display: grid;
  gap: 16px;
}
.crm-mobile-card__topline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.crm-mobile-chip {
  padding: 7px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 13px;
  font-weight: 700;
}
.crm-mobile-card__body h2 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.15;
}
.crm-mobile-meta {
  color: #475569;
  font-size: 15px;
}
.crm-mobile-request {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
}
.crm-mobile-note {
  margin: 10px 0 0;
  color: #475569;
  line-height: 1.5;
}
.crm-mobile-next-step,
.crm-mobile-risk,
.crm-mobile-tail,
.crm-mobile-empty {
  padding: 16px;
}
.crm-mobile-next-step {
  display: grid;
  gap: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
}
.crm-mobile-next-step strong,
.crm-mobile-tail strong,
.crm-mobile-empty strong {
  font-size: 17px;
}
.crm-mobile-next-step span,
.crm-mobile-tail span,
.crm-mobile-empty span {
  color: #475569;
  line-height: 1.45;
}
.crm-mobile-risk {
  border-radius: 18px;
  background: #fff7ed;
  border: 1px solid #fdba74;
  color: #9a3412;
  font-weight: 700;
}
.crm-mobile-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.crm-mobile-actions form { margin: 0; padding: 0; background: transparent; box-shadow: none; }
.crm-mobile-btn {
  width: 100%;
  min-height: 56px;
  border-radius: 18px;
  font-size: 17px;
  font-weight: 800;
}
.crm-mobile-btn--ghost { background: #fff; color: #0f172a; border-color: #cbd5e1; }
.crm-mobile-btn--accent { background: #0f766e; color: #fff; border-color: #0f766e; }
.crm-mobile-btn--dark { background: #111827; color: #fff; border-color: #111827; }
.crm-mobile-tail--done { background: #ecfdf5; border-color: #bbf7d0; }
.crm-mobile-empty { display: grid; gap: 8px; }
.crm-mobile-empty__actions { display: grid; gap: 10px; margin-top: 4px; }
.crm-mobile-empty__link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid #d7dee7;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  font-weight: 700;
}
.crm-mobile-nav {
  position: fixed;
  left: 12px;
  right: 12px;
  max-width: 760px;
  margin: 0 auto;
  bottom: calc(12px + env(safe-area-inset-bottom));
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 8px;
  border-radius: 22px;
  background: rgba(15, 23, 42, .92);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .26);
}
.crm-mobile-nav a {
  min-height: 48px;
  padding: 10px 8px;
  border-radius: 16px;
  color: rgba(255,255,255,.76);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  display: grid;
  place-items: center;
  text-align: center;
}
.crm-mobile-nav a.is-active {
  background: #fff;
  color: #0f172a;
}
@media (min-width: 768px) {
  .crm-mobile-actions {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 640px) {
  .crm-mobile-app {
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
  .crm-mobile-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .crm-mobile-profile-link {
    display: flex;
    width: 100%;
    max-width: 100%;
  }
  .crm-mobile-nav {
    left: 8px;
    right: 8px;
    gap: 6px;
    padding: 6px;
  }
}
@media (max-width: 480px) {
  .crm-mobile-header h1 { font-size: 24px; }
  .crm-mobile-card__body h2 { font-size: 22px; }
  .crm-mobile-scope-switcher { grid-template-columns: 1fr; }
  .crm-mobile-scope-switcher__item {
    padding-inline: 12px;
    font-size: 13px;
  }
  .crm-mobile-nav a {
    min-height: 44px;
    padding: 8px 6px;
    font-size: 12px;
  }
}
@media (max-width: 390px) {
  .crm-mobile-header {
    padding: 16px;
  }
  .crm-mobile-profile-link {
    min-height: 48px;
    border-radius: 18px;
  }
  .crm-mobile-scope-switcher__item {
    min-height: 48px;
  }
}


.admin-auth {
  min-height: 100vh;
  min-height: 100dvh;
  background: linear-gradient(180deg, #ecfeff 0%, #f8fafc 48%, #eef2ff 100%);
}
.auth-screen {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));
}
.auth-card--mobile {
  width: min(100%, 460px);
  margin: 0;
  padding: 24px;
  border-radius: 28px;
  box-shadow: 0 22px 50px rgba(15, 23, 42, .12);
}
.auth-card__head h1 {
  margin: 8px 0 10px;
  font-size: clamp(1.9rem, 6vw, 2.4rem);
  line-height: 1.05;
}
.auth-card__head p {
  margin: 0;
  color: #475569;
  font-size: 1rem;
  line-height: 1.5;
}
.auth-card__eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #0f766e;
}
.auth-form {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.auth-form label span {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
}
.auth-form input {
  min-height: 56px;
  padding: 16px 18px;
  font-size: 16px;
  border-radius: 16px;
}
.auth-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.auth-check input {
  width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
}
.auth-submit {
  min-height: 56px;
  border-radius: 18px;
  font-size: 17px;
  font-weight: 800;
}
.auth-alert {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 700;
}
.auth-alert--error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}
@media (max-width: 640px) {
  .auth-card--mobile {
    padding: 20px 18px;
    border-radius: 24px;
  }
}


/* v134 inbox mobile cleanup overrides */
.crm-mobile-empty__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #0f766e; }
.crm-mobile-empty__link--primary { background: #0f766e; border-color: #0f766e; color: #fff; }
.crm-mobile-nav {
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  max-width: 560px;
  border: 1px solid rgba(255,255,255,.12);
}
.crm-mobile-nav a {
  padding: 8px 6px;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .01em;
}
@media (max-width: 480px) {
  .crm-mobile-nav { left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); }
  .crm-mobile-nav a { min-height: 46px; font-size: 11px; }
}


@media (max-width: 980px) {
  .admin-topbar { align-items:flex-start; flex-direction:column; }
  .admin-topbar > * { width:100%; }
  .admin-topbar-actions { width:100%; justify-content:flex-end; }
  .admin-bell-dropdown { right:0; left:auto; width:min(420px, calc(100vw - 28px)); }
  .admin-mobile-menu-panel { position:fixed; inset:0; padding:14px; background:rgba(15,23,42,.28); backdrop-filter: blur(2px); }
  .admin-mobile-menu-card { max-width:420px; margin:0 auto; }
  .stats-grid, .crm-grid { gap:12px; }
  .stat-card, .crm-card, .auth-card, form, table { border-radius:18px; padding:16px; }
  input, button, select, textarea { min-height:46px; font-size:16px; }
  .table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

.admin-auth { min-height:100vh; background:linear-gradient(180deg,#f5f7fb 0%,#eef6f5 100%); }
.auth-screen { min-height:100vh; display:grid; place-items:center; padding:20px 14px; }
.auth-card--mobile { width:min(460px, 100%); margin:0; padding:22px; }
.auth-card__head { display:grid; gap:8px; margin-bottom:16px; }
.auth-card__eyebrow { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0f766e; }
.auth-card__head h1 { margin:0; font-size:clamp(1.7rem, 7vw, 2.2rem); line-height:1.05; }
.auth-card__head p { margin:0; color:#475569; }
.auth-form { display:grid; gap:12px; box-shadow:none; padding:0; background:transparent; }
.auth-form label { margin:0; }
.auth-form span { font-size:.95rem; font-weight:700; }
.auth-form input { min-height:52px; padding:14px 16px; border-radius:14px; }
.auth-check { display:flex; align-items:center; gap:10px; }
.auth-check input { min-height:auto; width:18px; height:18px; }
.auth-submit { min-height:54px; border-radius:16px; font-size:1rem; font-weight:800; }
.auth-alert { margin-bottom:14px; padding:14px 16px; border-radius:14px; }
.auth-alert--error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

@media (max-width: 420px) {
  .admin-mobile-menu-toggle { width:100%; justify-content:center; }
  .auth-card--mobile { padding:18px; border-radius:20px; }
}


/* v151 mobile cleanup */
@media (max-width: 980px) {
  body.admin-body { overflow-x:hidden; }
  .admin-mobile-menu-panel { overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .admin-mobile-menu-card { max-height:calc(100dvh - 28px); overflow:auto; }
}

.crm-tag-checklist {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:12px 14px;
  margin-top:10px;
}
.crm-tag-checklist label {
  display:flex !important;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  margin:0 !important;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  line-height:1.4;
}
.crm-tag-checklist input[type="checkbox"] {
  width:20px;
  height:20px;
  min-height:auto;
  margin:2px 0 0;
  flex:0 0 20px;
}

.crm-page {
  display:grid;
  gap:16px;
}
.crm-page__header h1 { margin:0 0 8px; font-size:clamp(1.9rem, 6vw, 2.4rem); }
.crm-page__links, .crm-page__exports, .crm-page__scopes {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.crm-page__links a, .crm-page__exports a, .crm-page__scopes a {
  text-decoration:none;
}
.crm-page__stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.crm-page__filters, .crm-bulk__controls { display:grid; gap:10px; }
.crm-page__filters-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
.crm-page__filters-actions, .crm-bulk__row { display:flex; gap:8px; flex-wrap:wrap; align-items:end; }
.crm-page__panels { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.crm-table-wrap { overflow:auto; }
@media (max-width: 980px) {
  .crm-page__stats, .crm-page__panels, .crm-page__filters-grid { grid-template-columns:1fr; }
  .crm-page__links a, .crm-page__exports a, .crm-page__scopes a,
  .crm-page__filters-actions a, .crm-page__filters-actions button,
  .crm-bulk__row button { min-height:46px; display:inline-flex; align-items:center; }
}


.admin-dashboard-intro {
  margin: 0 0 18px;
  color: #51627b;
  font-size: 15px;
  line-height: 1.5;
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.admin-dashboard-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  text-decoration: none;
  color: #0f172a;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}
.admin-dashboard-card__eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0f766e;
}
.admin-dashboard-card__value {
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
}
.admin-dashboard-card__hint {
  color: #51627b;
  font-size: 14px;
  line-height: 1.5;
}
.admin-dashboard-card__cta {
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
}
.admin-dashboard-card:hover,
.admin-dashboard-card:focus-visible {
  transform: translateY(-1px);
  border-color: #9fd8d0;
  box-shadow: 0 16px 36px rgba(15, 118, 110, 0.10);
}
@media (max-width: 720px) {
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .admin-dashboard-card {
    padding: 16px;
    border-radius: 20px;
  }
  .admin-dashboard-card__value {
    font-size: 30px;
  }
}
