

 :root {
  /* =========================================================
   * CAPA 1 · TOKENS / THEME SOURCE OF TRUTH
   * ======================================================= */
  /* Base premium dark (shared across all presets) */
  --ax-app-bg: #050a16;
  --ax-shell-tint-a: rgba(93, 121, 255, 0.16);
  --ax-shell-tint-b: rgba(42, 155, 255, 0.12);
  --ax-shell-base-bg: var(--ax-app-bg);
  --ax-shell-bg-custom-image: none;
  --ax-shell-bg-image: radial-gradient(circle at 14% 10%, var(--ax-shell-tint-a), transparent 36%), radial-gradient(circle at 88% 4%, var(--ax-shell-tint-b), transparent 42%), radial-gradient(circle at 48% 115%, rgba(33, 64, 126, 0.18), transparent 52%), linear-gradient(156deg, #050a16 0%, #0a1329 56%, #101d38 100%);
  --ax-shell-bg-image-size: cover, cover, cover, cover;
  --ax-shell-bg-image-position: center center, center center, center center, center center;
  --ax-shell-bg-image-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  --ax-shell-bg: rgba(7, 13, 27, 0.62);
  --ax-content-bg: rgba(9, 16, 32, 0.82);
  --ax-content-surface: linear-gradient(180deg, color-mix(in srgb, var(--ax-surface-base) 74%, transparent), color-mix(in srgb, var(--ax-content-bg) 95%, transparent));
  --ax-page-header-bg: linear-gradient(180deg, color-mix(in srgb, var(--ax-surface-base) 52%, transparent), color-mix(in srgb, var(--ax-content-bg) 82%, transparent));
  --ax-page-header-border: color-mix(in srgb, var(--ax-card-border) 64%, transparent);
  --ax-surface: linear-gradient(180deg, rgba(20, 31, 59, 0.9), rgba(13, 23, 45, 0.93));
  --ax-sidebar-bg: linear-gradient(180deg, rgba(8, 16, 33, 0.98) 0%, rgba(9, 17, 35, 0.96) 100%);
  --ax-sidebar-hover: rgba(146, 170, 236, 0.1);
  --ax-sidebar-active: rgba(95, 117, 255, 0.3);
  --ax-topbar-bg: linear-gradient(180deg, rgba(14, 23, 44, 0.9), rgba(11, 19, 37, 0.9));
  --ax-card-bg: rgba(18, 30, 55, 0.92);
  --ax-card-border: rgba(140, 161, 214, 0.24);
  --ax-shell-frame-bg: color-mix(in srgb, var(--ax-shell-bg) 94%, transparent);
  --ax-shell-panel-border: color-mix(in srgb, var(--ax-border) 78%, transparent);
  --ax-shell-panel-shadow: var(--ax-shadow-soft);
  --ax-shell-sidebar-rail: linear-gradient(180deg, color-mix(in srgb, var(--ax-accent) 20%, transparent) 0%, color-mix(in srgb, var(--ax-accent) 76%, transparent) 50%, color-mix(in srgb, var(--ax-accent) 16%, transparent) 100%);
  --ax-shell-sidebar-rail-glow: 0 0 8px color-mix(in srgb, var(--ax-accent) 34%, transparent);
  --ax-shell-sidebar-rail-glow-hover: 0 0 15px color-mix(in srgb, var(--ax-accent) 48%, transparent);
  --ax-shell-backdrop: rgba(2, 8, 20, .55);
  --ax-shell-content-border: color-mix(in srgb, var(--ax-border) 88%, transparent);

  /* Accent system (overridden per theme) */
  --ax-accent: #6176ff;
  --ax-accent-hover: #7a8cff;
  --ax-accent-soft: rgba(97, 118, 255, 0.22);
  --ax-accent-border: rgba(119, 141, 255, 0.48);
  --ax-accent-focus: rgba(97, 118, 255, 0.34);
  --ax-accent-glow: rgba(78, 156, 255, 0.22);
  --ax-accent-cta: #40a0ff;
  --ax-tab-active-bg: color-mix(in srgb, var(--ax-accent) 26%, transparent);
  --ax-tab-active-border: color-mix(in srgb, var(--ax-accent-border) 82%, transparent);
  --ax-switch-on-bg: color-mix(in srgb, var(--ax-accent) 74%, #1d2e57 26%);
  --ax-focus-ring: 0 0 0 3px var(--ax-accent-focus);

  --ax-primary: var(--ax-accent);
  --ax-primary-hover: var(--ax-accent-hover);
  --ax-secondary: var(--ax-accent-cta);
  --ax-secondary-btn: rgba(20, 35, 62, 0.92);
  --ax-text: #eef3ff;
  --ax-text-secondary: #ccd9f6;
  --ax-muted: #99abcf;
  --ax-link: #a3bfff;
  --ax-link-hover: #c6d8ff;
  --ax-border: rgba(135, 157, 209, 0.24);
  --ax-field-bg: rgba(10, 22, 43, 0.96);
  --ax-field-border: rgba(136, 157, 210, 0.32);
  --ax-focus: var(--ax-accent-focus);
  --ax-modal-bg: rgba(9, 17, 34, 0.97);
  --ax-dropdown-bg: rgba(8, 16, 31, 0.98);
  --ax-success: #38c796;
  --ax-warning: #f0b35e;
  --ax-danger: #e36e7c;
  --ax-chart-1: var(--ax-accent);
  --ax-chart-2: var(--ax-accent-cta);
  --ax-chart-3: #2fbf8a;
  --ax-chart-4: #f5b74d;
  --ax-chart-5: #8ea4ff;
  --ax-glass-overlay: rgba(194, 211, 255, 0.1);
  --ax-placeholder: rgba(211, 223, 246, 0.62);
  --ax-scrollbar: rgba(130, 154, 209, 0.5);
  --ax-scrollbar-track: rgba(9, 17, 34, 0.5);
  --ax-field-radius: 12px;
  --ax-field-padding-x: .78rem;
  --ax-field-height: 42px;
  --ax-sidebar-width: 264px;
  --ax-sidebar-collapse: 82px;
  --ax-sidebar-expand: 264px;
  --ax-shell-gap: 12px;
  --ax-shell-padding: 12px;
  --ax-topbar-height: 72px;
  --ax-content-max-width: 1720px;
  --ax-content-padding-x: 1.4rem;
  --ax-content-padding-y: 1.15rem;
  --ax-nav-active-ring: 0 0 0 1px color-mix(in srgb, var(--ax-accent-border) 88%, transparent);
  --ax-radius-lg: 20px;
  --ax-radius-md: 14px;
  --ax-radius-sm: 11px;
  --ax-shadow-base: 0 18px 42px rgba(2, 7, 20, 0.46);
  --ax-shadow-soft: 0 12px 26px rgba(3, 9, 22, 0.34);
  --ax-control-font-size: .9rem;
  --ax-control-font-weight: 600;
  --ax-control-height-sm: 34px;
  --ax-control-height-md: 42px;
  --ax-control-height-lg: 48px;
  --ax-control-padding-x-sm: .68rem;
  --ax-control-padding-x-md: .9rem;
  --ax-control-padding-x-lg: 1.05rem;
  --ax-table-row-height: 48px;
  --ax-space-1: .25rem;
  --ax-space-2: .5rem;
  --ax-space-3: .75rem;
  --ax-space-4: 1rem;
  --ax-space-5: 1.3rem;
  --ax-space-6: 1.65rem;
  --ax-space-7: 2rem;
  --ax-text-page-title: clamp(1.42rem, 1.14rem + .84vw, 1.9rem);
  --ax-text-page-subtitle: .97rem;
  --ax-text-section-title: 1.1rem;
  --ax-text-card-title: .94rem;
  --ax-text-label: .82rem;
  --ax-text-body: .9rem;
  --ax-text-secondary-size: .82rem;
  --ax-text-kpi: clamp(1.54rem, 1.2rem + 1.05vw, 2.22rem);
  --ax-lh-tight: 1.16;
  --ax-lh-normal: 1.42;
  --ax-lh-relaxed: 1.5;
  --ax-z-overlay: 950;
  --ax-z-modal: 980;
  --ax-surface-base: rgba(11, 20, 38, 0.78);
  --ax-surface-raised: rgba(16, 28, 52, 0.94);
  --ax-surface-interactive: rgba(20, 34, 61, 0.95);
  --ax-surface-modal: rgba(9, 17, 34, 0.98);
  --ax-overlay: rgba(5, 11, 24, 0.66);
  --ax-border-strong: rgba(151, 173, 228, 0.36);
  --ax-shadow-hover: 0 16px 32px rgba(3, 9, 22, 0.38);
  --ax-shadow-elevated: 0 22px 46px rgba(2, 8, 20, 0.5);
  --ax-shadow-modal: 0 30px 64px rgba(2, 8, 20, 0.62);
  --ax-density-compact: .72rem;
  --ax-density-regular: .9rem;
  --ax-density-comfy: 1.18rem;
  --ax-state-hover: color-mix(in srgb, var(--ax-accent) 14%, transparent);
  --ax-state-active: color-mix(in srgb, var(--ax-accent) 26%, transparent);
  --ax-state-selected: color-mix(in srgb, var(--ax-accent) 34%, transparent);
  --ax-state-disabled: rgba(133, 151, 190, 0.38);
  --ax-info: #4da9ff;
  --ax-color-scheme: dark;
  --ax-table-head-bg: color-mix(in srgb, var(--ax-card-bg) 88%, #fff 12%);
  --ax-table-row-bg: color-mix(in srgb, var(--ax-surface-base) 66%, transparent);
  --ax-table-row-alt-bg: color-mix(in srgb, var(--ax-surface-base) 58%, transparent);
  --ax-table-row-hover-bg: color-mix(in srgb, var(--ax-primary) 14%, transparent);
  --ax-card-contrast: color-mix(in srgb, var(--ax-surface-raised) 84%, var(--ax-card-bg) 16%);
}

/* Default corporativo (tema oficial) */
body[data-ax-theme='default'],
body[data-ax-theme='axolux-theme'],
body[data-ax-theme='electric-cyan'],
body[data-ax-theme='neon-violet'] {
  --ax-shell-tint-a: rgba(93, 121, 255, 0.14);
  --ax-shell-tint-b: rgba(42, 155, 255, 0.11);
  --ax-shell-bg-image: radial-gradient(circle at 14% 10%, var(--ax-shell-tint-a), transparent 36%), radial-gradient(circle at 88% 4%, var(--ax-shell-tint-b), transparent 42%), radial-gradient(circle at 50% 112%, rgba(32, 67, 135, 0.16), transparent 54%), linear-gradient(158deg, #060b17 0%, #0c1730 54%, #121f3d 100%);
  --ax-sidebar-bg: rgba(21, 34, 71, 0.10);
  --ax-topbar-bg: linear-gradient(180deg, rgba(17, 27, 51, 0.9), rgba(11, 21, 41, 0.92));
  --ax-content-bg: rgba(10, 18, 35, 0.82);
  --ax-content-surface: linear-gradient(180deg, rgba(19, 31, 55, 0.6), rgba(11, 20, 39, 0.82));
  --ax-page-header-bg: linear-gradient(180deg, rgba(22, 35, 62, 0.52), rgba(15, 27, 50, 0.32));
  --ax-page-header-border: rgba(136, 162, 223, 0.24);
  --ax-card-bg: rgba(18, 32, 60, 0.9);
  --ax-card-border: rgba(144, 170, 232, 0.3);
  --ax-field-bg: rgba(9, 21, 41, 0.96);
  --ax-field-border: rgba(134, 158, 216, 0.36);
  --ax-shadow-soft: 0 14px 30px rgba(3, 9, 24, 0.38);
  --ax-shadow-hover: 0 18px 34px rgba(3, 9, 24, 0.42);
  --ax-card-contrast: color-mix(in srgb, #223762 58%, var(--ax-card-bg) 42%);
}

/* Oscuro sobrio (incluye aliases legacy para compatibilidad) */
body[data-ax-theme='oscuro'],
body[data-ax-theme='obsidian-glass'],
body[data-ax-theme='crimson-noir'],
body[data-ax-theme='axolux-dark'] {
  --ax-app-bg: #070c18;
  --ax-shell-tint-a: rgba(86, 112, 148, 0.11);
  --ax-shell-tint-b: rgba(56, 84, 122, 0.09);
  --ax-shell-bg-image: radial-gradient(circle at 14% 10%, var(--ax-shell-tint-a), transparent 36%), radial-gradient(circle at 88% 4%, var(--ax-shell-tint-b), transparent 42%), linear-gradient(156deg, #070c18 0%, #0d1627 56%, #121f34 100%);
  --ax-shell-bg: rgba(8, 14, 27, 0.72);
  --ax-content-bg: rgba(12, 19, 33, 0.88);
  --ax-surface: linear-gradient(180deg, rgba(18, 29, 50, 0.9), rgba(13, 22, 39, 0.95));
  --ax-sidebar-bg: linear-gradient(180deg, rgba(10, 17, 31, 0.98) 0%, rgba(12, 20, 34, 0.96) 100%);
  --ax-topbar-bg: linear-gradient(180deg, rgba(15, 24, 41, 0.92), rgba(11, 19, 33, 0.92));
  --ax-card-bg: rgba(17, 27, 44, 0.94);
  --ax-accent: #8ea7c8;
  --ax-accent-hover: #a8bdd9;
  --ax-accent-soft: rgba(142, 167, 200, 0.16);
  --ax-accent-border: rgba(142, 167, 200, 0.36);
  --ax-accent-focus: rgba(142, 167, 200, 0.26);
  --ax-accent-glow: rgba(124, 152, 187, 0.16);
  --ax-accent-cta: #789abd;
  --ax-link: #bed1e8;
  --ax-link-hover: #d6e3f3;
  --ax-glass-overlay: rgba(151, 172, 201, 0.06);
  --ax-card-border: rgba(118, 138, 170, 0.24);
  --ax-field-bg: rgba(12, 22, 36, 0.95);
  --ax-field-border: rgba(124, 145, 178, 0.38);
  --ax-shadow-soft: 0 12px 26px rgba(3, 8, 18, 0.42);
  --ax-shadow-hover: 0 16px 32px rgba(3, 8, 18, 0.46);
  --ax-chart-2: #789abd;
  --ax-chart-5: #93b1cf;
}

/* Blanco limpio y profesional */
body[data-ax-theme='blanco'] {
  --ax-app-bg: #eef3fb;
  --ax-shell-base-bg: #ffffff;
  --ax-shell-tint-a: rgba(68, 110, 210, 0.14);
  --ax-shell-tint-b: rgba(33, 132, 198, 0.1);
  --ax-shell-bg-image: radial-gradient(circle at 14% 10%, var(--ax-shell-tint-a), transparent 40%), radial-gradient(circle at 88% 4%, var(--ax-shell-tint-b), transparent 42%), linear-gradient(160deg, #f7faff 0%, #e9f0fb 62%, #e2ebf8 100%);
  --ax-shell-bg: rgba(248, 252, 255, 0.9);
  --ax-content-bg: rgba(244, 249, 255, 0.9);
  --ax-content-surface: rgba(255, 255, 255, 0.4);
  --ax-page-header-bg: rgba(255, 255, 255, 0.4);
  --ax-page-header-border: rgba(112, 142, 186, 0.3);
  --ax-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.95));
  --ax-sidebar-bg: linear-gradient(180deg, rgba(247, 251, 255, 0.98) 0%, rgba(236, 244, 255, 0.97) 100%);
  --ax-sidebar-hover: rgba(53, 109, 223, 0.1);
  --ax-sidebar-active: rgba(53, 109, 223, 0.18);
  --ax-topbar-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(241, 247, 255, 0.95));
  --ax-card-bg: rgba(255, 255, 255, 0.95);
  --ax-card-border: rgba(128, 154, 196, 0.26);
  --ax-accent: #345fc5;
  --ax-accent-hover: #4671d5;
  --ax-accent-soft: rgba(52, 95, 197, 0.16);
  --ax-accent-border: rgba(52, 95, 197, 0.3);
  --ax-accent-focus: rgba(52, 95, 197, 0.2);
  --ax-accent-glow: rgba(52, 95, 197, 0.15);
  --ax-accent-cta: #2f82c4;
  --ax-text: #0f223f;
  --ax-text-secondary: #2f466a;
  --ax-muted: #4e6488;
  --ax-link: #284ea7;
  --ax-link-hover: #345fc5;
  --ax-border: rgba(118, 146, 187, 0.3);
  --ax-field-bg: rgba(255, 255, 255, 0.97);
  --ax-field-border: rgba(119, 148, 192, 0.48);
  --ax-modal-bg: rgba(250, 253, 255, 0.98);
  --ax-dropdown-bg: rgba(255, 255, 255, 0.99);
  --ax-glass-overlay: rgba(170, 193, 230, 0.1);
  --ax-placeholder: rgba(78, 100, 136, 0.62);
  --ax-scrollbar: rgba(89, 120, 170, 0.45);
  --ax-scrollbar-track: rgba(221, 231, 245, 0.8);
  --ax-shadow-base: 0 16px 36px rgba(30, 62, 112, 0.14);
  --ax-shadow-soft: 0 10px 24px rgba(34, 66, 118, 0.1);
  --ax-surface-base: rgba(246, 251, 255, 0.96);
  --ax-surface-raised: rgba(255, 255, 255, 0.98);
  --ax-surface-interactive: rgba(244, 249, 255, 0.98);
  --ax-surface-modal: rgba(252, 254, 255, 0.99);
  --ax-overlay: rgba(39, 67, 105, 0.22);
  --ax-border-strong: rgba(90, 123, 173, 0.44);
  --ax-shadow-hover: 0 14px 30px rgba(31, 66, 117, 0.16);
  --ax-shadow-elevated: 0 20px 42px rgba(28, 59, 105, 0.19);
  --ax-shadow-modal: 0 26px 56px rgba(30, 59, 102, 0.24);
  --ax-state-disabled: rgba(130, 149, 179, 0.44);
  --ax-color-scheme: light;
  --ax-table-head-bg: color-mix(in srgb, #f5f9ff 78%, white 22%);
  --ax-table-row-bg: color-mix(in srgb, #f8fbff 80%, transparent);
  --ax-table-row-alt-bg: color-mix(in srgb, #f2f7ff 85%, transparent);
  --ax-table-row-hover-bg: color-mix(in srgb, var(--ax-primary) 11%, white 89%);
}


/* Shared accent derivations (keeps surfaces stable across all presets) */


/* Safe fallback when theme key is missing/invalid at runtime */
body:not([data-ax-theme]),
body[data-ax-theme=''],
body[data-ax-theme-fallback='1'],
body[data-ax-theme]:not([data-ax-theme='default']):not([data-ax-theme='blanco']):not([data-ax-theme='oscuro']) {
  --ax-app-bg: #050a16;
  --ax-shell-tint-a: rgba(93, 121, 255, 0.16);
  --ax-shell-tint-b: rgba(42, 155, 255, 0.12);
  --ax-shell-bg-image: radial-gradient(circle at 14% 10%, var(--ax-shell-tint-a), transparent 36%), radial-gradient(circle at 88% 4%, var(--ax-shell-tint-b), transparent 42%), linear-gradient(156deg, #050a16 0%, #0a1329 56%, #101d38 100%);
  --ax-shell-bg: rgba(7, 13, 27, 0.62);
  --ax-content-bg: rgba(9, 16, 32, 0.82);
  --ax-surface: linear-gradient(180deg, rgba(20, 31, 59, 0.9), rgba(13, 23, 45, 0.93));
  --ax-topbar-bg: linear-gradient(180deg, rgba(14, 23, 44, 0.9), rgba(11, 19, 37, 0.9));
  --ax-card-bg: rgba(18, 30, 55, 0.92);
  --ax-card-border: rgba(140, 161, 214, 0.24);
  --ax-text: #eef3ff;
  --ax-text-secondary: #ccd9f6;
  --ax-muted: #99abcf;
  --ax-border: rgba(135, 157, 209, 0.24);
  --ax-field-bg: rgba(10, 22, 43, 0.96);
  --ax-field-border: rgba(136, 157, 210, 0.32);
  --ax-color-scheme: dark;
}
body[data-ax-theme] {
  --ax-primary: var(--ax-accent);
  --ax-primary-hover: var(--ax-accent-hover);
  --ax-secondary: var(--ax-accent-cta);
  --ax-sidebar-active: color-mix(in srgb, var(--ax-accent) 28%, transparent);
  --ax-focus: var(--ax-accent-focus);
  --ax-nav-active-ring: 0 0 0 1px color-mix(in srgb, var(--ax-accent-border) 84%, transparent);
  --ax-state-hover: color-mix(in srgb, var(--ax-accent) 12%, transparent);
  --ax-state-active: color-mix(in srgb, var(--ax-accent) 22%, transparent);
  --ax-state-selected: color-mix(in srgb, var(--ax-accent) 30%, transparent);
  --ax-tab-active-bg: color-mix(in srgb, var(--ax-accent) 24%, transparent);
  --ax-tab-active-border: color-mix(in srgb, var(--ax-accent-border) 82%, transparent);
  --ax-switch-on-bg: color-mix(in srgb, var(--ax-accent) 72%, #1d2e57 28%);
  --ax-focus-ring: 0 0 0 3px var(--ax-accent-focus);
  --ax-chart-1: var(--ax-accent);
  --ax-chart-2: var(--ax-accent-cta);
}

body[data-ax-shell-bg='aurora'] { --ax-shell-bg-image: radial-gradient(circle at 5% 10%, rgba(74, 135, 255, 0.24), transparent 35%), radial-gradient(circle at 88% 0%, rgba(130, 90, 210, 0.2), transparent 40%), linear-gradient(145deg, #070b1b 0%, #101935 55%, #171f3c 100%); }
body[data-ax-shell-bg='nocturne'] { --ax-shell-bg-image: radial-gradient(circle at 10% 10%, rgba(150, 80, 190, 0.2), transparent 34%), radial-gradient(circle at 90% 5%, rgba(75, 95, 180, 0.18), transparent 38%), linear-gradient(150deg, #090b1b 0%, #130f2b 58%, #191537 100%); }
body[data-ax-shell-bg='deep-grid'] { --ax-shell-bg-image: linear-gradient(rgba(12,20,38,.8), rgba(12,20,38,.9)), linear-gradient(90deg, rgba(96,126,209,.12) 1px, transparent 1px), linear-gradient(0deg, rgba(96,126,209,.08) 1px, transparent 1px), linear-gradient(140deg, #0a1021 0%, #0f1a31 100%); --ax-shell-bg-image-size: auto, 36px 36px, 36px 36px, auto; --ax-shell-bg-image-repeat: no-repeat, repeat, repeat, no-repeat; }

/* =========================================================
 * CAPA 2 · AUTH SHELL STRUCTURE (sidebar/topbar/content/backdrop)
 * ======================================================= */
* { box-sizing: border-box; }
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
body {
  margin: 0;
  font-family: Inter, system-ui, Arial, sans-serif;
  color: var(--ax-text);
  background-image: var(--ax-shell-bg-custom-image), var(--ax-shell-bg-image);
  background-attachment: fixed, fixed, fixed, fixed, fixed;
  background-size: cover, var(--ax-shell-bg-image-size);
  background-position: center center, var(--ax-shell-bg-image-position);
  background-repeat: no-repeat, var(--ax-shell-bg-image-repeat);
  background-color: var(--ax-shell-base-bg);
  color-scheme: var(--ax-color-scheme);
}
.ax-shell { min-height: 100vh; display: flex; gap: var(--ax-shell-gap); padding: var(--ax-shell-padding); align-items: stretch; }
.ax-sidebar-backdrop,
.ax-mobile-menu-toggle {
  display: none;
}
.ax-glass {
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  box-shadow: var(--ax-shadow-base), inset 0 1px 0 var(--ax-glass-overlay);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
}

.ax-sidebar {
  position: sticky;
  top: var(--ax-shell-padding);
  width: var(--ax-sidebar-collapse);
  flex: 0 0 var(--ax-sidebar-collapse);
  height: calc(100vh - (var(--ax-shell-padding) * 2));
  align-self: flex-start;
  transition: width .28s ease, flex-basis .28s ease;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: hidden;
  border-radius: 20px;
  background: var(--ax-sidebar-bg);
}
.ax-sidebar::after {
  content: '';
  position: absolute;
  top: .75rem;
  right: 0;
  width: 2px;
  height: calc(100% - 1.5rem);
  border-radius: 99px;
  background: var(--ax-shell-sidebar-rail);
  box-shadow: var(--ax-shell-sidebar-rail-glow);
  opacity: .45;
  transition: opacity .24s ease, box-shadow .24s ease;
}
.ax-sidebar:hover::after {
  opacity: .95;
  box-shadow: var(--ax-shell-sidebar-rail-glow-hover);
}

.ax-sidebar:hover,
.ax-sidebar:focus-within {
  width: var(--ax-sidebar-expand);
  flex-basis: var(--ax-sidebar-expand);
}

.ax-sidebar-toggle {
  margin: .55rem .55rem 0;
  border: 1px solid var(--ax-border);
  background: color-mix(in srgb, var(--ax-surface) 40%, transparent);
  color: var(--ax-text-secondary);
  border-radius: 12px;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .55rem .72rem;
  cursor: pointer;
}
.ax-sidebar-toggle:hover { background: var(--ax-sidebar-hover); color: var(--ax-text); }
.ax-sidebar .ax-label,
.ax-sidebar .ax-user-meta,
.ax-sidebar .ax-brand-block small,
.ax-sidebar .ax-brand-block strong {
  opacity: 1;
  width: auto;
  overflow: visible;
  pointer-events: auto;
  transition: opacity .2s ease, width .2s ease;
}
.ax-sidebar:not(:hover):not(:focus-within) .ax-label,
.ax-sidebar:not(:hover):not(:focus-within) .ax-user-meta,
.ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block small,
.ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block strong {
  opacity: 0;
  width: 0;
  overflow: hidden;
  pointer-events: none;
}
.ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block,
.ax-sidebar:not(:hover):not(:focus-within) .ax-nav-item,
.ax-sidebar:not(:hover):not(:focus-within) .ax-sidebar-toggle {
  justify-content: center;
}
.ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block {
  padding-inline: .85rem;
}
.ax-sidebar:not(:hover):not(:focus-within) .ax-brand-meta {
  display: none;
}
.ax-sidebar:not(:hover):not(:focus-within) .ax-icon { min-width: 0; }
.ax-sidebar:not(:hover):not(:focus-within) .ax-nav,
.ax-sidebar:not(:hover):not(:focus-within) .ax-nav-footer { padding-inline: .35rem; }


.ax-brand-block-link {
  color: inherit;
  text-decoration: none;
}
.ax-brand-block-link:hover {
  background: rgba(255,255,255,.04);
}
.ax-brand-block-disabled {
  opacity: .68;
  cursor: not-allowed;
}
.ax-brand-block-disabled:hover {
  background: transparent;
}

.ax-brand-block {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .85rem .95rem;
  border-bottom: 1px solid rgba(255,255,255,.12);
  min-height: 64px;
  flex-shrink: 0;
}
.ax-brand-logo,
.ax-brand-fallback {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  flex: 0 0 36px;
}
.ax-brand-logo { object-fit: contain; }
.ax-brand-fallback {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--ax-primary) 35%, #101a31);
  font-size: .8rem;
  font-weight: 700;
}
.ax-brand-meta {
  min-width: 0;
  flex: 1 1 auto;
}
.ax-brand-meta strong,
.ax-brand-meta small {
  display: block;
  white-space: nowrap;
}
.ax-brand-block small { display:block; color:var(--ax-muted); font-size:.72rem; }
.ax-user {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .95rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.ax-avatar {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, rgba(90, 126, 191, 0.55), rgba(43, 67, 108, 0.5));
  border: 1px solid rgba(181, 214, 255, 0.36);
  box-shadow: 0 5px 14px rgba(10, 15, 30, .45);
  font-weight: 700;
}

.ax-user-meta,
.ax-label {
  opacity: 1;
  transform: translateX(0);
  transition: opacity .24s ease, transform .24s ease;
  white-space: nowrap;
  pointer-events: auto;
}
.ax-user-meta span { display: block; color: var(--ax-muted); font-size: .8rem; }

.ax-user {
  color: inherit;
  text-decoration: none;
}
.ax-user:hover { background: rgba(255,255,255,.04); }
.ax-avatar-image {
  object-fit: cover;
}

.ax-nav {
  display: flex;
  flex-direction: column;
  padding: .72rem .58rem;
  gap: clamp(.28rem, .36vh, .45rem);
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.ax-nav-footer {
  margin-top: auto;
  padding: .52rem .58rem;
  border-top: 1px solid rgba(255, 255, 255, .12);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  background: color-mix(in srgb, var(--ax-sidebar-bg) 95%, rgba(0, 0, 0, 0.2));
}
.ax-nav-form { margin: 0; }
.ax-nav-item {
  width: 100%;
  text-decoration: none;
  color: inherit;
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .74rem;
  border-radius: 13px;
  padding: clamp(.52rem, .62vh, .68rem) .76rem;
  min-height: clamp(40px, 4.35vh, 46px);
  font-size: .93rem;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.ax-nav-btn {
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
}
.ax-nav-btn:hover,
.ax-nav-item:hover,
.ax-nav-btn.is-active,
.ax-nav-item.active {
  transform: translateY(-1px);
  background: var(--ax-sidebar-hover);
}
.ax-nav-btn.is-active,
.ax-nav-item.active {
  background: var(--ax-sidebar-active);
  border-color: color-mix(in srgb, var(--ax-primary) 55%, white 10%);
  box-shadow: var(--ax-nav-active-ring);
  color: var(--ax-text);
}
.ax-nav-btn svg,
.ax-nav-btn i {
  color: rgba(255, 255, 255, 0.92);
  fill: rgba(255, 255, 255, 0.92);
}
.ax-nav-logout {
  min-height: 58px;
  padding-block: .92rem;
}
.ax-nav-logout .ax-icon { font-size: 1.16rem; }
.ax-nav-logout:hover {
  background: linear-gradient(160deg, rgba(255, 204, 212, 0.32), rgba(204, 72, 95, 0.27));
  border-color: rgba(247, 158, 174, 0.58);
  color: #ffe6ea;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 8px 18px rgba(158, 52, 76, 0.28);
}
.ax-icon { min-width: 28px; text-align: center; font-size: 1rem; }
.ax-sidebar-submenu {
  margin: 0 .5rem .55rem;
  padding: .45rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--ax-border) 85%, transparent);
  background: color-mix(in srgb, var(--ax-surface-elevated) 28%, transparent);
}
.ax-submenu-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ax-text-secondary);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .76rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: .25rem .25rem .45rem;
  cursor: pointer;
}
.ax-submenu-items { display: flex; flex-direction: column; gap: .2rem; }
.ax-submenu-item,
.ax-submenu-child {
  display: block;
  text-decoration: none;
  color: var(--ax-muted);
  border-radius: 9px;
  padding: .45rem .55rem;
}
.ax-submenu-item:hover,
.ax-submenu-child:hover { background: var(--ax-sidebar-hover); color: var(--ax-text); }
.ax-submenu-item.active,
.ax-submenu-child.active {
  background: var(--ax-sidebar-active);
  color: var(--ax-text);
}
.ax-submenu-children {
  margin: .15rem 0 .25rem .75rem;
  padding-left: .45rem;
  border-left: 1px solid color-mix(in srgb, var(--ax-border) 80%, transparent);
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.ax-submenu-group.has-children[data-submenu-open='false'] .ax-submenu-children { display: none; }
.ax-submenu-group.has-children[data-submenu-open='true'] > .ax-submenu-item { color: var(--ax-text-secondary); }
.ax-sidebar-submenu[data-collapsed='true'] .ax-submenu-items { display: none; }


@media (max-width: 900px) {
  .ax-sidebar {
    overflow-y: auto;
  }
}

@media (max-height: 760px) and (min-width: 1280px) {
  .ax-sidebar {
    overflow-y: auto;
  }

  .ax-nav {
    overflow-y: auto;
  }
}


@media (hover: none), (pointer: coarse) {
  .ax-sidebar {
    width: var(--ax-sidebar-expand);
    flex-basis: var(--ax-sidebar-expand);
  }

  .ax-sidebar .ax-label,
  .ax-sidebar .ax-user-meta,
  .ax-sidebar .ax-brand-block small,
  .ax-sidebar .ax-brand-block strong {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }

  .ax-sidebar .ax-brand-block,
  .ax-sidebar .ax-nav-item,
  .ax-sidebar .ax-sidebar-toggle {
    justify-content: flex-start;
  }

  .ax-sidebar:not(:hover):not(:focus-within) .ax-label,
  .ax-sidebar:not(:hover):not(:focus-within) .ax-user-meta,
  .ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block small,
  .ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block strong {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }

  .ax-sidebar:not(:hover):not(:focus-within) .ax-brand-block,
  .ax-sidebar:not(:hover):not(:focus-within) .ax-nav-item,
  .ax-sidebar:not(:hover):not(:focus-within) .ax-sidebar-toggle {
    justify-content: flex-start;
  }

  .ax-sidebar:not(:hover):not(:focus-within) .ax-brand-meta {
    display: block;
  }

  .ax-sidebar:not(:hover):not(:focus-within) .ax-icon {
    min-width: 28px;
  }

  .ax-sidebar:not(:hover):not(:focus-within) .ax-nav,
  .ax-sidebar:not(:hover):not(:focus-within) .ax-nav-footer {
    padding-inline: .5rem;
  }
}

.ax-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ax-shell-gap);
  margin: 0;
  padding: 0;
  position: relative;
  overflow: visible;
}
.ax-header {
  min-height: var(--ax-topbar-height);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .58rem 1.1rem;
  border-radius: 20px;
  position: relative;
  overflow: visible;
  z-index: 1000;
}
.ax-topbar {
  background: var(--ax-topbar-bg);
  border: 1px solid color-mix(in srgb, var(--ax-border) 86%, transparent);
  box-shadow:
    0 14px 30px rgba(7, 14, 31, 0.28),
    inset 0 1px 0 color-mix(in srgb, var(--ax-glass-overlay) 88%, transparent),
    inset 0 -1px 0 color-mix(in srgb, var(--ax-border) 52%, transparent);
}
.ax-topbar--immersive {
  min-height: 60px;
  padding-block: .34rem;
}
.ax-header-left { display:flex; align-items:center; gap:.65rem; min-width:0; }
.ax-header-brand { min-height: 1px; font-weight: 620; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ax-topbar--workspace {
  border-color: color-mix(in srgb, var(--ax-border) 70%, transparent);
}
.ax-topbar--workspace .ax-header-brand {
  opacity: .86;
}
.ax-topbar--workspace .ax-header-actions {
  padding-left: .72rem;
}
.ax-topnav {
  display: flex;
  justify-content: flex-start;
  gap: .42rem;
  overflow: visible;
  min-width: 0;
}
.ax-topnav-services {
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media (max-width: 1100px) {
  .ax-topnav-services {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .2rem;
  }
}
.ax-services-subnav { justify-content: flex-start; margin: .4rem 0 1rem; }
.ax-tab {
  color: color-mix(in srgb, var(--ax-muted) 85%, var(--ax-text-secondary));
  text-decoration: none;
  font-size: .82rem;
  font-weight: 620;
  line-height: 1.2;
  padding: .46rem .84rem;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .18s ease;
  white-space: nowrap;
}
.ax-tab:hover {
  background: color-mix(in srgb, var(--ax-tab-active-bg) 62%, transparent);
  color: var(--ax-text);
  border-color: color-mix(in srgb, var(--ax-tab-active-border) 66%, transparent);
  transform: translateY(-1px);
}
.ax-tab.active {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-tab-active-bg) 98%, rgba(255, 255, 255, 0.08)), color-mix(in srgb, var(--ax-tab-active-bg) 88%, transparent));
  color: var(--ax-text);
  border-color: var(--ax-tab-active-border);
  box-shadow: var(--ax-nav-active-ring), inset 0 1px 0 color-mix(in srgb, var(--ax-glass-overlay) 76%, transparent);
}
.ax-tab-dropdown { position: relative; }
.ax-topnav-dropbtn {
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.ax-topnav-dropbtn__label {
  display: inline-block;
}
.ax-topnav-dropbtn__chevron {
  width: .42rem;
  height: .42rem;
  border-right: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: .78;
  transition: transform .16s ease, opacity .16s ease;
  margin-top: -2px;
}
.ax-tab-dropdown.open .ax-topnav-dropbtn__chevron {
  transform: rotate(-135deg) translateY(-1px);
  opacity: 1;
}
.ax-dropdown-menu {
  display: none;
  min-width: 180px;
  padding: .35rem;
  border-radius: .6rem;
  background: var(--ax-dropdown-bg);
  border: 1px solid var(--ax-border);
  box-shadow: 0 12px 24px rgba(0,0,0,.35);
  z-index: 999999;
}
.ax-dropdown-menu.is-open,
.ax-dropdown-menu[data-dropdown-open='true'] {
  display: block;
}
.ax-tab-menu-item { display: block; color: var(--ax-muted); text-decoration: none; font-size: .85rem; padding: .45rem .5rem; border-radius: .45rem; }
.ax-tab-menu-item:hover, .ax-tab-menu-item.active { background: var(--ax-tab-active-bg); color: var(--ax-text); }
.ax-header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: .52rem;
  padding: .24rem .35rem .24rem .86rem;
  border-left: 1px solid color-mix(in srgb, var(--ax-border) 68%, transparent);
  min-width: 0;
  flex-wrap: nowrap;
  border-radius: 12px;
  background: color-mix(in srgb, var(--ax-surface-base) 20%, transparent);
}
.ax-user-chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: rgba(19, 31, 48, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.ax-user-chip-link {
  color: inherit;
  text-decoration: none;
}
.ax-user-chip-link:hover {
  background: rgba(29, 45, 68, 0.9);
}
.ax-user-chip-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(181, 214, 255, 0.36);
}
.ax-user-chip-avatar-fallback {
  display: grid;
  place-items: center;
  font-size: .72rem;
  font-weight: 700;
  color: var(--ax-text);
  background: linear-gradient(160deg, rgba(90, 126, 191, 0.55), rgba(43, 67, 108, 0.5));
}
.ax-user-chip-name {
  font-size: .78rem;
  color: var(--ax-text-secondary);
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ax-department-badge {
  font-size: .7rem;
  color: var(--ax-text);
  background: color-mix(in srgb, var(--ax-primary) 22%, transparent);
  border: 1px solid color-mix(in srgb, var(--ax-primary) 45%, white 8%);
  border-radius: 999px;
  padding: .14rem .45rem;
  white-space: nowrap;
}
.ax-build-chip {
  font-size: .66rem;
  color: var(--ax-text-secondary);
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid color-mix(in srgb, var(--ax-primary) 32%, var(--ax-border));
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-primary) 16%, transparent), color-mix(in srgb, var(--ax-primary) 8%, transparent));
  border-radius: 999px;
  padding: .28rem .62rem;
  white-space: nowrap;
  line-height: 1.2;
  min-width: max-content;
  flex: 0 0 auto;
}
.ax-topbar-search {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  width: min(100%, 250px);
  max-width: 250px;
  flex: 0 1 250px;
}
.ax-topbar-search__form {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  height: 35px;
  min-width: 0;
  width: 100%;
  max-width: 250px;
  padding: .24rem .58rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-field-bg) 92%, transparent), color-mix(in srgb, var(--ax-field-bg) 82%, transparent));
  border: 1px solid color-mix(in srgb, var(--ax-field-border) 80%, transparent);
  border-radius: 12px;
  color: var(--ax-text-secondary);
  font-size: .78rem;
  line-height: 1;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--ax-glass-overlay) 66%, transparent);
}
.ax-topbar-search__form::before {
  content: '⌕';
  font-size: .78rem;
  opacity: .78;
  line-height: 1;
}
.ax-topbar-search__form:focus-within {
  border-color: color-mix(in srgb, var(--ax-primary) 44%, var(--ax-field-border));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ax-primary) 30%, transparent), 0 7px 18px color-mix(in srgb, var(--ax-primary) 18%, transparent);
}
.ax-topbar-search__form input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ax-text);
  font-size: .78rem;
}
.ax-topbar-search__form input::placeholder {
  color: color-mix(in srgb, var(--ax-muted) 74%, var(--ax-text-secondary));
}
.ax-topbar-search__form input:focus-visible {
  outline: none;
}
.ax-topbar-search-results {
  position: absolute;
  top: calc(100% + .45rem);
  right: 0;
  width: min(92vw, 460px);
  max-height: min(62vh, 480px);
  overflow: auto;
  padding: .55rem;
  border-radius: 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-surface-base) 88%, transparent), color-mix(in srgb, var(--ax-card-bg) 95%, transparent));
  border: 1px solid color-mix(in srgb, var(--ax-border) 92%, transparent);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.42);
  z-index: 2205;
}
.ax-topbar-search-results__group + .ax-topbar-search-results__group {
  margin-top: .55rem;
}
.ax-topbar-search-results__group h4 {
  margin: .25rem 0 .4rem;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ax-muted);
}
.ax-topbar-search-results__item {
  display: grid;
  gap: .15rem;
  text-decoration: none;
  padding: .42rem .5rem;
  border-radius: 10px;
  color: var(--ax-text);
}
.ax-topbar-search-results__item:hover,
.ax-topbar-search-results__item.is-active {
  background: color-mix(in srgb, var(--ax-primary) 16%, transparent);
  outline: none;
}
.ax-topbar-search-results__title {
  font-size: .79rem;
  color: var(--ax-text);
}
.ax-topbar-search-results__meta {
  font-size: .71rem;
  color: var(--ax-text-secondary);
}
.ax-topbar-search-results__empty {
  font-size: .78rem;
  color: var(--ax-text-secondary);
  padding: .6rem .5rem;
}
/* =========================================================
 * AJUSTES POR MÓDULO / PANTALLA (settings, security, etc.)
 * ======================================================= */
.ax-security-card {
  padding: 1rem;
  display: grid;
  gap: .9rem;
  max-width: 1100px;
  min-width: 0;
}
.ax-security-card__head {
  display: grid;
  gap: .25rem;
}
.ax-security-card__head h2 {
  margin: 0;
}
.ax-security-card__head p {
  margin: 0;
}
.ax-security-block-stack {
  display: grid;
  gap: .9rem;
  min-width: 0;
}
.ax-security-block {
  display: grid;
  gap: .6rem;
  min-width: 0;
}
.ax-security-block-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem .9rem;
  min-width: 0;
}
.ax-security-block-row--single {
  grid-template-columns: minmax(0, 1fr);
}
.ax-security-block-col {
  border: 1px solid color-mix(in srgb, var(--ax-border, rgba(122, 147, 207, 0.32)) 76%, transparent);
  border-radius: 11px;
  padding: .75rem;
  display: grid;
  gap: .55rem;
  min-width: 0;
  background: color-mix(in srgb, var(--ax-surface, #111b33) 94%, rgba(147, 176, 236, 0.06));
}
.ax-security-block-col label {
  display: grid;
  gap: .32rem;
  min-width: 0;
}
.ax-security-block-col label span {
  font-size: .85rem;
  color: color-mix(in srgb, var(--ax-text, #e6ecff) 85%, #c5d8ff);
}
.ax-security-block-col .ax-input {
  min-width: 0;
  width: 100%;
}
.ax-security-block-col--full {
  width: 100%;
}
.ax-security-field-help {
  margin: .12rem 0 0;
  font-size: .78rem;
  line-height: 1.35;
}
.ax-security-issues {
  margin: 0;
  padding-left: 1.2rem;
}
.ax-security-toggles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem .75rem;
}
.ax-security-toggles--single {
  grid-template-columns: minmax(0, 1fr);
}
.ax-security-toggles label {
  display: inline-flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .55rem .65rem;
  border: 1px solid color-mix(in srgb, var(--ax-border, rgba(122, 147, 207, 0.32)) 78%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--ax-surface, #111b33) 92%, rgba(147, 176, 236, 0.08));
}
.ax-security-toggles label input[type="checkbox"] {
  margin-top: .14rem;
}
.ax-security-toggle-spacer {
  min-height: 0;
}
.ax-security-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: .35rem;
}
.ax-security-actions--spaced {
  margin-top: .95rem;
}
.ax-security-inline-note {
  margin: 0;
}

@media (max-width: 980px) {
  .ax-security-block-row {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  .ax-security-toggles {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  }
}

@media (max-width: 760px) {
  .ax-security-block-row,
  .ax-security-toggles {
    grid-template-columns: 1fr;
  }
  .ax-security-actions {
    justify-content: stretch;
  }
  .ax-security-actions .ax-btn {
    width: 100%;
  }
}

.ax-content {
  padding: var(--ax-content-padding-y) var(--ax-content-padding-x) calc(var(--ax-content-padding-y) + .1rem);
  margin-top: 0;
  border-radius: 20px;
  background: var(--ax-content-bg);
  border: 1px solid var(--ax-border);
  position: relative;
  min-height: 0;
  width: 100%;
  max-width: var(--ax-content-max-width);
  margin-inline: auto;
}

/* =========================================================
 * CAPA 3 · COMPONENTES BASE REUTILIZABLES
 * panel maestro · encabezados · cards · forms · tablas · nav secundaria
 * ======================================================= */
.ax-shell {
  background: var(--ax-shell-frame-bg);
}
.ax-sidebar,
.ax-topbar,
.ax-content,
.ax-card,
.ax-panel,
.ax-table-wrap,
.ax-chat-panel,
.ax-chat-thread,
.ax-chat-list,
.ax-modal,
dialog,
.rrhh-modal {
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}
.ax-content {
  background: rgba(21, 34, 71, 0.10);
  border-color: var(--ax-shell-content-border);
  box-shadow: inset 0 1px 0 rgba(206, 220, 255, 0.09), 0 18px 42px rgba(3, 9, 22, 0.28), var(--ax-shadow-soft);
}
.ax-card:not(.ax-kpi-card):not([class*='kpi']),
.ax-panel:not(.ax-kpi-card):not([class*='kpi']) {
  background: rgba(21, 34, 71, 0.40);
  border-color: color-mix(in srgb, var(--ax-card-border) 92%, transparent);
  border-radius: var(--ax-radius-md);
  box-shadow: 0 10px 24px rgba(3, 9, 22, 0.18), inset 0 1px 0 rgba(214, 227, 255, 0.08);
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.ax-chat-thread,
.ax-chat-list,
.ax-chat-panel {
  background: linear-gradient(180deg, var(--ax-card-contrast), color-mix(in srgb, var(--ax-card-bg) 98%, transparent));
  border-color: color-mix(in srgb, var(--ax-card-border) 92%, transparent);
  border-radius: var(--ax-radius-md);
  box-shadow: 0 10px 24px rgba(3, 9, 22, 0.18), inset 0 1px 0 rgba(214, 227, 255, 0.08);
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.ax-kpi-card {
  background: linear-gradient(160deg, color-mix(in srgb, var(--ax-primary) 18%, var(--ax-surface-interactive)), color-mix(in srgb, var(--ax-secondary) 12%, var(--ax-card-bg)));
  border: 1px solid color-mix(in srgb, var(--ax-primary) 30%, var(--ax-border));
  box-shadow: var(--ax-shadow-soft), inset 0 1px 0 rgba(218, 228, 255, 0.08);
}
.ax-table-wrap,
.ax-chat-messages,
.ax-empty-state {
  background: color-mix(in srgb, var(--ax-surface-base) 62%, transparent);
  border-radius: var(--ax-radius-md);
}
.ax-table tbody tr:hover,
.ax-chat-item:hover .ax-chat-item-link,
.ax-nav-item:hover,
.ax-submenu-child:hover,
.ax-btn-ghost:hover {
  background: var(--ax-state-hover);
}
.ax-table tbody tr:active,
.ax-chat-item.is-active .ax-chat-item-link,
.ax-nav-item.active,
.ax-submenu-child.active {
  background: var(--ax-state-selected);
}
.ax-card:hover,
.ax-panel:hover,
.ax-chat-bubble:hover,
.ax-chat-thread-head:hover {
  box-shadow: var(--ax-shadow-hover), inset 0 1px 0 rgba(218, 230, 255, 0.1);
  transform: translateY(-1px);
}
.ax-btn,
.crm-btn,
button,
.ax-input,
.ax-select,
.ax-textarea,
.ax-chat-compose-field,
.ax-chat-action-btn {
  border-radius: var(--ax-radius-sm);
}
.ax-btn:active,
.crm-btn:active,
button:active {
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.06);
}
.ax-btn:disabled,
.crm-btn:disabled,
button:disabled,
.ax-input:disabled,
.ax-select:disabled,
.ax-textarea:disabled {
  opacity: .56;
  border-color: color-mix(in srgb, var(--ax-state-disabled) 80%, transparent);
}
.ax-badge,
.ax-pill,
.ax-chat-type-chip,
.ax-chat-presence-chip {
  border-radius: 999px;
  border-color: color-mix(in srgb, var(--ax-border-strong) 72%, transparent);
}
.ax-modal,
dialog,
.rrhh-modal {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-surface-modal) 93%, transparent), color-mix(in srgb, var(--ax-modal-bg) 98%, transparent));
  box-shadow: var(--ax-shadow-modal);
}
dialog::backdrop,
.ax-modal::backdrop,
.rrhh-modal::backdrop {
  background: var(--ax-overlay);
}
.ax-sidebar,
.ax-topbar {
  border-color: var(--ax-shell-panel-border);
  box-shadow: var(--ax-shell-panel-shadow);
}
.ax-chat-bubble {
  border-radius: var(--ax-radius-md);
  border: 1px solid color-mix(in srgb, var(--ax-border) 74%, transparent);
  background: color-mix(in srgb, var(--ax-surface-interactive) 82%, transparent);
}
.ax-chat-bubble.mine {
  background: color-mix(in srgb, var(--ax-primary) 28%, var(--ax-surface-interactive));
  border-color: color-mix(in srgb, var(--ax-primary) 48%, var(--ax-border));
}
.ax-form,
.crm-filter-row,
.billing-filters-form,
.ax-toolbar,
.ax-filterbar {
  gap: var(--ax-density-compact);
}
.ax-card,
.ax-panel,
.ax-empty-state,
.ax-modal__body,
.ax-chat-messages,
.ax-chat-composer {
  padding: var(--ax-density-regular);
}
@media (max-width: 1024px) {
  .ax-content {
    --ax-content-padding-x: 1rem;
    --ax-content-padding-y: .92rem;
  }
  .ax-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }
}
.ax-content-body {
  display: grid;
  gap: var(--ax-space-4);
}
.ax-content-body--webmail {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  gap: 0;
}
.ax-page {
  display: grid;
  gap: var(--ax-space-5);
}
.ax-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  background: var(--ax-page-header-bg);
  border: 1px solid var(--ax-page-header-border);
  border-radius: var(--ax-radius-md);
  padding: var(--ax-space-4) var(--ax-space-5);
  box-shadow: inset 0 1px 0 rgba(223, 234, 255, 0.08);
}
.ax-page-header > div:first-child {
  display: grid;
  gap: .28rem;
}
.ax-page-eyebrow {
  margin: 0;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: color-mix(in srgb, var(--ax-muted) 80%, #dbe7ff);
}
.ax-page-title {
  margin: 0;
  font-size: var(--ax-text-page-title);
  line-height: 1.14;
  font-weight: 760;
  letter-spacing: .004em;
}
.ax-page-subtitle {
  margin: var(--ax-space-1) 0 0;
  color: color-mix(in srgb, var(--ax-text-secondary) 82%, #edf4ff 18%);
  font-size: var(--ax-text-page-subtitle);
  line-height: 1.5;
  max-width: 84ch;
  font-weight: 500;
}
.ax-page-meta {
  display: grid;
  gap: .28rem;
  font-size: var(--ax-text-secondary-size);
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, #d7e5ff 12%);
  line-height: 1.4;
}
.ax-toolbar,
.ax-filterbar {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: .7rem;
  align-items: end;
}
.ax-filterbar > label,
.ax-toolbar > label {
  display: grid;
  gap: var(--ax-space-2);
  color: var(--ax-muted);
  font-size: var(--ax-text-label);
  line-height: var(--ax-lh-normal);
  font-weight: 640;
  min-width: 0;
}
.ax-filterbar__actions {
  display: flex;
  gap: .5rem;
  align-items: center;
  flex-wrap: wrap;
}
.ax-filterbar .span-2 { grid-column: span 2; }
.ax-filterbar .span-3 { grid-column: span 3; }
.ax-filterbar .span-4 { grid-column: span 4; }
.ax-filterbar .span-6 { grid-column: span 6; }
.ax-card,
.ax-panel {
  position: relative;
  z-index: 1;
  background: var(--ax-card-bg);
  border: 1px solid var(--ax-card-border);
  border-radius: 14px;
  padding: var(--ax-space-5);
  box-shadow: var(--ax-shadow-soft), inset 0 1px 0 var(--ax-glass-overlay);
}
.ax-card h1, .ax-card h2, .ax-card h3,
.ax-panel h1, .ax-panel h2, .ax-panel h3 {
  margin-top: 0;
  line-height: var(--ax-lh-tight);
}
.ax-card h1, .ax-panel h1 { font-size: var(--ax-text-section-title); font-weight: 730; margin-bottom: var(--ax-space-2); letter-spacing: .01em; }
.ax-card h2, .ax-panel h2 { font-size: var(--ax-text-card-title); font-weight: 670; margin-bottom: var(--ax-space-2); line-height: 1.28; }
.ax-card h3, .ax-panel h3 { font-size: .82rem; font-weight: 670; margin-bottom: .32rem; color: color-mix(in srgb, var(--ax-text-secondary) 84%, #dbe7ff 16%); text-transform: uppercase; letter-spacing: .04em; }
.ax-card p, .ax-panel p {
  font-size: var(--ax-text-body);
  line-height: var(--ax-lh-normal);
}
.ax-kpi-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.ax-kpi-card {
  min-height: 112px;
  display: grid;
  gap: .35rem;
  align-content: space-between;
}
.ax-kpi-label {
  margin: 0;
  color: color-mix(in srgb, var(--ax-text-secondary) 84%, #dbe8ff 16%);
  font-size: .75rem;
  font-weight: 670;
  line-height: 1.28;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ax-kpi-value {
  margin: 0;
  font-size: var(--ax-text-kpi);
  font-weight: 790;
  line-height: 1.02;
  letter-spacing: -.01em;
  color: var(--ax-text);
}
.ax-kpi-trend {
  margin: .22rem 0 0;
  font-size: .78rem;
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, #dae8ff 12%);
  line-height: 1.34;
}
.ax-section-grid {
  display: grid;
  gap: .9rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.ax-col-12 { grid-column: span 12; }
.ax-col-8 { grid-column: span 8; }
.ax-col-7 { grid-column: span 7; }
.ax-col-6 { grid-column: span 6; }
.ax-col-5 { grid-column: span 5; }
.ax-col-4 { grid-column: span 4; }
.ax-form {
  display: grid;
  gap: var(--ax-space-4);
  margin-top: var(--ax-space-4);
  max-width: 520px;
}
.ax-form--wide { max-width: 100%; }
.ax-form-grid {
  --ax-form-grid-columns: 12;
  display: grid;
  gap: var(--ax-space-4);
  grid-template-columns: repeat(var(--ax-form-grid-columns), minmax(0, 1fr));
}
.ax-form-grid > * { grid-column: span 12; min-width: 0; }
.ax-form-grid .ax-span-2 { grid-column: span 2; }
.ax-form-grid .ax-span-3 { grid-column: span 3; }
.ax-form-grid .ax-span-4 { grid-column: span 4; }
.ax-form-grid .ax-span-6 { grid-column: span 6; }
.ax-form-grid .ax-span-8 { grid-column: span 8; }
.ax-form-grid .ax-span-12 { grid-column: span 12; }
.ax-platform-settings-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.ax-platform-settings-grid > .ax-span-4 {
  grid-column: span 1;
  min-width: 0;
}
.ax-platform-settings-grid > .ax-span-6 { grid-column: span 1; }
.ax-platform-settings-grid > .ax-span-12 { grid-column: 1 / -1; }
.ax-platform-help {
  display: block;
  margin-top: .3rem;
}
.ax-platform-slot {
  min-height: 0;
  pointer-events: none;
}
.ax-platform-controls {
  display: grid;
  gap: .75rem;
  border-top: 1px solid color-mix(in srgb, var(--ax-border) 75%, transparent);
  padding-top: .9rem;
}
.ax-platform-toggles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem 1rem;
}
.ax-platform-actions {
  justify-content: flex-end;
  margin-top: .1rem;
}
.ax-form-actions {
  display: flex;
  gap: var(--ax-space-3);
  align-items: center;
  flex-wrap: wrap;
}
.ax-table-wrap { width: 100%; overflow-x: auto; border: 1px solid color-mix(in srgb, var(--ax-border) 90%, transparent); border-radius: 12px; margin-top: var(--ax-space-3); background: color-mix(in srgb, var(--ax-card-bg) 36%, transparent); }
.ax-table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 0; min-width: 680px; }
.ax-table th {
  text-align: left;
  font-size: .71rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--ax-muted) 88%, #d8e5ff 12%);
  border-bottom: 1px solid rgba(148,168,216,.32);
  padding: .72rem .82rem;
  background: var(--ax-table-head-bg);
  position: sticky;
  top: 0;
  z-index: 2;
}
.ax-table td {
  text-align: left;
  min-height: var(--ax-table-row-height);
  padding: .68rem .82rem;
  border-bottom: 1px solid rgba(148,168,216,.2);
  color: var(--ax-text);
  font-size: var(--ax-text-body);
  line-height: var(--ax-lh-normal);
  vertical-align: middle;
}
.ax-table tbody tr { background: var(--ax-table-row-bg); }
.ax-table tbody tr:nth-child(even) { background: var(--ax-table-row-alt-bg); }
.ax-table tbody tr:hover { background: color-mix(in srgb, var(--ax-table-row-hover-bg) 88%, #6f92dc 12%); }
.ax-empty-state {
  margin-top: var(--ax-space-4);
  padding: calc(var(--ax-space-5) - .08rem) var(--ax-space-5);
  border: 1px dashed color-mix(in srgb, var(--ax-border) 64%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--ax-card-bg) 74%, transparent);
}
.ax-empty-state h3 { margin: 0 0 .32rem; font-size: .98rem; line-height: 1.26; font-weight: 700; }
.ax-empty-state p { margin: 0; color: color-mix(in srgb, var(--ax-text-secondary) 84%, #dce8ff 16%); font-size: .87rem; line-height: 1.5; max-width: 65ch; }
.ax-badge,
.ax-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .28rem;
  border-radius: 999px;
  padding: .16rem .58rem;
  min-height: 22px;
  font-size: .69rem;
  font-weight: 680;
  line-height: 1;
  letter-spacing: .01em;
  border: 1px solid color-mix(in srgb, var(--ax-primary) 36%, white 6%);
  background: color-mix(in srgb, var(--ax-primary) 24%, transparent);
  color: color-mix(in srgb, var(--ax-text) 94%, #fff 6%);
}
.ax-badge-success { background: color-mix(in srgb, var(--ax-success) 20%, transparent); border-color: color-mix(in srgb, var(--ax-success) 56%, white 8%); color: color-mix(in srgb, var(--ax-success) 82%, #fff 18%); }
.ax-badge-danger { background: color-mix(in srgb, var(--ax-danger) 20%, transparent); border-color: color-mix(in srgb, var(--ax-danger) 56%, white 8%); color: color-mix(in srgb, var(--ax-danger) 82%, #fff 18%); }
.ax-badge-warning { background: color-mix(in srgb, var(--ax-warning) 26%, transparent); border-color: color-mix(in srgb, var(--ax-warning) 62%, white 10%); color: color-mix(in srgb, var(--ax-warning) 86%, #fff 14%); }
.ax-badge-muted { background: color-mix(in srgb, var(--ax-muted) 16%, transparent); border-color: color-mix(in srgb, var(--ax-muted) 52%, white 8%); color: color-mix(in srgb, var(--ax-text-secondary) 85%, #fff 15%); }

.ax-shell--webmail {
  min-height: 100dvh;
}
.ax-main--webmail {
  height: calc(100dvh - (var(--ax-shell-padding) * 2));
  min-height: calc(100dvh - (var(--ax-shell-padding) * 2));
  margin: 0;
  padding: 0;
  gap: 0;
  overflow: hidden;
}
.ax-content.ax-content--webmail {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: .55rem;
}
.ax-content.ax-content--webmail > .ax-content-body {
  flex: 1 1 auto;
  min-height: 0;
}
.ax-shell--immersive .ax-content {
  --ax-content-padding-x: .95rem;
  --ax-content-padding-y: .85rem;
}
.ax-breadcrumbs {
  font-size: .71rem;
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, var(--ax-text) 12%);
  margin-bottom: var(--ax-space-4);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .26rem;
  border-bottom: 1px solid color-mix(in srgb, var(--ax-border) 72%, transparent);
  padding-bottom: .5rem;
  letter-spacing: .02em;
}
.ax-breadcrumbs a {
  color: color-mix(in srgb, var(--ax-text-secondary) 92%, var(--ax-text) 8%);
  text-decoration: none;
}
.ax-breadcrumbs a:hover {
  color: var(--ax-text);
  text-decoration: none;
}
.ax-breadcrumbs span[aria-current='page'] {
  color: color-mix(in srgb, var(--ax-text-secondary) 66%, var(--ax-text) 34%);
}
.ax-bc-sep {
  opacity: .38;
  margin: 0 7px;
  font-size: .68rem;
  color: rgba(145, 165, 196, .68);
}
.ax-panel {
  position: relative;
  z-index: 1;
  background: var(--ax-card-bg);
  border: 1px solid var(--ax-border);
  border-radius: 14px;
  padding: var(--ax-space-5);
  box-shadow: var(--ax-shadow-soft), inset 0 1px 0 var(--ax-glass-overlay);
}
.ax-panel h1 { margin: 0 0 var(--ax-space-2); font-size: var(--ax-text-section-title); font-weight: 730; letter-spacing: .01em; }
.ax-panel p { margin: 0; color: color-mix(in srgb, var(--ax-text-secondary) 84%, #dce8ff 16%); line-height: 1.46; }
.ax-content > .ax-panel + .ax-panel { margin-top: var(--ax-space-4); }
.ax-dashboard-top--plain {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ax-panel.ax-dashboard-top--plain,
.ax-card.ax-dashboard-top--plain {
  border: 0;
}
.ax-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin-bottom: 1rem; }
.ax-grid-4 .ax-panel h3 { margin: 0 0 .35rem; font-size: .95rem; }
.ax-grid-4 .ax-panel p { color: var(--ax-text); font-weight: 600; }
.ax-settings-quick-links {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.ax-settings-cards-grid {
  margin-top: 1.1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.ax-manuals-header {
  display: grid;
  gap: .35rem;
  margin-bottom: .8rem;
}
.ax-manuals-title {
  margin: 0;
}
.ax-manuals-intro {
  margin: 0;
}
.ax-manuals-base-path {
  margin: 0 0 .75rem;
}
.ax-manuals-groups {
  display: grid;
  gap: .8rem;
}
.ax-manuals-card {
  padding: 1rem;
  display: grid;
  gap: .65rem;
}
.ax-manuals-card-title {
  margin: 0;
}
.ax-manuals-card-path {
  margin: .25rem 0 0;
}
.ax-manuals-file-meta {
  font-size: .8rem;
  margin-top: .25rem;
}
.ax-settings-card {
  min-height: 208px;
  padding: 1.1rem;
  display: flex;
  flex-direction: column;
}
.ax-settings-card h2 {
  margin-top: 0;
  margin-bottom: .45rem;
  font-size: .9rem;
  font-weight: 680;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--ax-text-secondary) 84%, #e1ecff 16%);
}
.ax-settings-card p {
  margin: 0;
  color: color-mix(in srgb, var(--ax-text-secondary) 84%, #dbe8ff 16%);
  line-height: 1.44;
}
.ax-settings-card__actions {
  margin-top: auto;
  padding-top: .95rem;
}
.ax-admin-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 2.45rem;
  padding: .58rem 1rem;
  border-radius: 11px;
  font-weight: 620;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .16s ease;
  border: 1px solid color-mix(in srgb, var(--ax-border) 82%, transparent);
  background: color-mix(in srgb, var(--ax-surface-interactive) 80%, transparent);
  color: var(--ax-text);
}

.ax-admin-action:hover {
  text-decoration: none;
  background: color-mix(in srgb, var(--ax-primary) 12%, var(--ax-surface-interactive));
  border-color: color-mix(in srgb, var(--ax-primary) 46%, var(--ax-border));
}
.ax-admin-action:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ax-focus) 92%, transparent), 0 0 0 1px color-mix(in srgb, var(--ax-primary) 45%, #fff 8%);
}
.ax-admin-action:active {
  transform: translateY(0);
}
.ax-admin-action--sm {
  min-height: 2.05rem;
  padding: .4rem .78rem;
  border-radius: 10px;
  font-size: .78rem;
}
.ax-settings-card__actions .ax-admin-action,
.ax-security-actions .ax-admin-action {
  margin-top: .2rem;
}
.ax-branding-form {
  max-width: 100%;
  gap: 1.15rem;
}
.ax-branding-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
.ax-branding-card {
  padding: 1rem;
  border-radius: 14px;
  display: grid;
  gap: .85rem;
  height: 100%;
}
.ax-branding-card__header {
  display: grid;
  gap: .3rem;
}
.ax-branding-card__header h2 {
  margin: 0;
  font-size: 1rem;
}
.ax-branding-card__fields {
  gap: .75rem;
}
.ax-branding-card__fields label {
  display: grid;
  gap: .38rem;
  align-content: start;
}
.ax-branding-help {
  display: block;
  margin-top: .08rem;
  line-height: 1.35;
}
.ax-branding-check-group {
  display: grid;
  gap: .35rem;
}
.ax-branding-check-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem .75rem;
}
.ax-branding-preview {
  padding: .7rem .78rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .08);
}
.ax-branding-preview strong {
  display: block;
  margin-bottom: .4rem;
}
.ax-branding-preview ul {
  margin: 0;
  padding-left: 1rem;
  display: grid;
  gap: .35rem;
}
.ax-branding-asset-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.ax-branding-asset {
  padding: .7rem .75rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--ax-border) 84%, transparent);
  background: color-mix(in srgb, var(--ax-card-bg) 90%, transparent);
}
.ax-branding-asset__content {
  margin-top: .45rem;
  min-height: 34px;
  display: flex;
  align-items: center;
}
.ax-branding-actions {
  justify-content: flex-end;
  padding-top: .15rem;
}


.ax-superdashboard-compact-row {
  display: grid;
  grid-template-columns: minmax(260px, .95fr) minmax(360px, 1.35fr);
  gap: .9rem;
  margin-bottom: 1rem;
}
.ax-superdashboard-compact-row .ax-panel + .ax-panel {
  margin-top: 0;
}
.ax-superdashboard-portal-card,
.ax-superdashboard-addons-card {
  padding: .95rem 1rem;
}
.ax-superdashboard-portal-card h2,
.ax-superdashboard-addons-card h2 {
  margin: 0 0 .35rem;
  font-size: .92rem;
  font-weight: 680;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--ax-text-secondary) 82%, #deebff 18%);
}
.ax-superdashboard-portal-card p {
  margin: 0;
  color: color-mix(in srgb, var(--ax-text-secondary) 86%, #dce9ff 14%);
  line-height: 1.44;
}
.ax-superdashboard-portal-actions {
  margin-top: .65rem;
}
.ax-superdashboard-migrations-card {
  min-width: 0;
}
.ax-superdashboard-migrations-value {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ax-superdashboard-addon-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: .42rem;
  margin: .2rem 0 0;
  padding: 0;
}
.ax-superdashboard-addon-chip {
  border: 1px solid color-mix(in srgb, var(--ax-border) 86%, transparent);
  border-radius: 999px;
  padding: .28rem .56rem;
  background: color-mix(in srgb, var(--ax-card-bg) 88%, transparent);
  color: var(--ax-text-secondary);
  font-size: .78rem;
  line-height: 1.22;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ax-superdashboard-connections-pagination {
  margin-top: .65rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
}
.ax-superdashboard-connections-pagination-status {
  font-size: .8rem;
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, #d8e6ff 12%);
}
.ax-superdashboard-connections-pagination-count {
  margin-right: auto;
  font-size: .78rem;
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, #d8e6ff 12%);
}
.ax-superdashboard-connections-pagination .ax-tab.disabled {
  opacity: .55;
  pointer-events: none;
  cursor: default;
}
.ax-form label { display: grid; gap: .35rem; color: var(--ax-muted); }
.ax-rbac-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.ax-users-panel__actions { margin: 0 0 var(--ax-space-3); }
.ax-users-panel__table-wrap,
.ax-rbac-card__table-wrap { margin-top: 0; max-width: 100%; }
.ax-users-table,
.ax-rbac-table { table-layout: fixed; width: 100%; }
.ax-users-table th, .ax-users-table td,
.ax-rbac-table th, .ax-rbac-table td { word-break: break-word; overflow-wrap: anywhere; }
.ax-rbac-table th:nth-child(1),
.ax-rbac-table td:nth-child(1) { width: 22%; }
.ax-rbac-table th:nth-child(2),
.ax-rbac-table td:nth-child(2) { width: 20%; }
.ax-rbac-table th:nth-child(3),
.ax-rbac-table td:nth-child(3) { width: 10%; }
.ax-rbac-table th:nth-child(4),
.ax-rbac-table td:nth-child(4) { width: 48%; }
.ax-flash-success { color: #94f2c5 !important; margin-bottom: .6rem !important; }
.ax-error { color: #ffb5be !important; margin-bottom: .35rem !important; }

.ax-assets-category-panel {
  width: 100%;
}

.ax-form.ax-assets-category-form {
  max-width: none;
  width: 100%;
}

.ax-assets-category-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.ax-assets-category-table {
  width: 100%;
  table-layout: fixed;
}

.ax-assets-category-table th,
.ax-assets-category-table td {
  vertical-align: middle;
}

.ax-assets-category-table th:nth-child(1),
.ax-assets-category-table td:nth-child(1) {
  width: 22%;
}

.ax-assets-category-table th:nth-child(2),
.ax-assets-category-table td:nth-child(2),
.ax-assets-category-table th:nth-child(3),
.ax-assets-category-table td:nth-child(3),
.ax-assets-category-table th:nth-child(6),
.ax-assets-category-table td:nth-child(6) {
  width: 16%;
}

.ax-assets-category-table th:nth-child(4),
.ax-assets-category-table td:nth-child(4),
.ax-assets-category-table th:nth-child(5),
.ax-assets-category-table td:nth-child(5),
.ax-assets-category-table th:nth-child(7),
.ax-assets-category-table td:nth-child(7) {
  width: 10%;
}

.ax-assets-category-table input,
.ax-assets-category-table select,
.ax-assets-category-table [data-options-wrapper] {
  width: 100%;
}

.ax-assets-category-table .ax-field-key-duplicate {
  border-color: #ff8f9c;
  box-shadow: 0 0 0 1px rgba(255, 143, 156, .35);
}

.ax-assets-category-table .ax-assets-required-cell {
  text-align: center;
}

.ax-assets-category-table .ax-assets-required-cell input[type='checkbox'] {
  width: auto;
}

.ax-assets-category-actions {
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

.ax-assets-category-actions button {
  width: auto;
  min-width: 180px;
}

.ax-inline-form { margin: 0; }
.ax-inline-form[action="/a/chat/contacts/start"] .ax-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--ax-control-height-sm);
  padding-inline: var(--ax-control-padding-x-sm);
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .01em;
  text-decoration: none;
  white-space: nowrap;
}
.ax-inline-form[action="/a/chat/contacts/start"] .ax-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--ax-primary) 58%, #e4eeff);
  outline-offset: 1px;
}
.ax-switch {
  position: relative;
  display: inline-flex;
  width: 50px;
  height: 28px;
}
.ax-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.ax-switch-slider {
  position: absolute;
  inset: 0;
  cursor: pointer;
  background: rgba(130, 145, 169, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  transition: .2s ease;
}
.ax-switch-slider::before {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #fff;
  transition: .2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.ax-switch input:checked + .ax-switch-slider {
  background: var(--ax-switch-on-bg);
}
.ax-switch input:checked + .ax-switch-slider::before {
  transform: translateX(22px);
}

.ax-kanban {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .8rem;
  margin-top: .8rem;
}
.ax-kanban-column h3 { margin-top: 0; }
.ax-kanban-list {
  min-height: 220px;
  display: grid;
  gap: .55rem;
  align-content: start;
}
.ax-kanban-list.is-over {
  outline: 1px dashed rgba(125, 178, 255, 0.7);
  border-radius: 10px;
}
.ax-kanban-card {
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(22, 36, 54, 0.66);
  display: grid;
  gap: .35rem;
}
.ax-kanban-move-form label { display: grid; gap: .2rem; font-size: .8rem; color: var(--ax-muted); }
.ax-kanban-move-form select { width: 100%; }
.ax-kanban-card.is-dragging { opacity: .55; }
.ax-kanban-card small { color: var(--ax-muted); }

.crm-clients-page {
  display: grid;
  gap: 1rem;
}
.crm-clients-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.crm-clients-head h1 {
  margin: 0;
  font-size: 1.5rem;
}
.crm-form-subtitle {
  margin-top: .35rem;
  font-size: .84rem;
  color: var(--ax-muted);
}
.crm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  border-radius: var(--ax-radius-sm);
  border: 1px solid transparent;
  text-decoration: none;
  padding: 0 var(--ax-control-padding-x-md);
  min-height: var(--ax-control-height-md);
  font-weight: var(--ax-control-font-weight);
  font-size: var(--ax-control-font-size);
  line-height: 1;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .12s ease, box-shadow .16s ease;
}

button,
.ax-btn,
.crm-btn {
  background: linear-gradient(135deg, var(--ax-primary), color-mix(in srgb, var(--ax-primary) 65%, var(--ax-secondary)));
  color: #eef2ff;
  border: 1px solid color-mix(in srgb, var(--ax-primary) 70%, white 14%);
  box-shadow: 0 8px 18px rgba(4, 9, 22, .22), inset 0 1px 0 rgba(255,255,255,.11);
}
button:hover,
.ax-btn:hover,
.crm-btn:hover { background: linear-gradient(135deg, var(--ax-primary-hover), color-mix(in srgb, var(--ax-primary-hover) 65%, var(--ax-secondary))); transform: translateY(-1px); }
button:active,
.ax-btn:active,
.crm-btn:active { transform: translateY(0); }

.ax-btn:focus-visible,
.crm-btn:focus-visible,
button:focus-visible {
  outline: none;
  box-shadow: var(--ax-focus-ring), 0 0 0 1px color-mix(in srgb, var(--ax-primary) 58%, #fff 14%);
}

.ax-btn-secondary,
.crm-btn-dark {
  color: var(--ax-text);
  background: color-mix(in srgb, var(--ax-secondary-btn) 88%, transparent);
  border-color: color-mix(in srgb, var(--ax-field-border) 88%, white 8%);
}
.ax-btn-secondary:hover,
.crm-btn-dark:hover { background: color-mix(in srgb, var(--ax-secondary-btn) 98%, #fff 4%); }

.ax-btn-ghost {
  color: var(--ax-text-secondary);
  background: transparent;
  border-color: color-mix(in srgb, var(--ax-field-border) 65%, transparent);
  box-shadow: none;
}
.ax-btn-ghost:hover { background: color-mix(in srgb, var(--ax-primary) 13%, transparent); color: var(--ax-text); }

.ax-btn-danger,
.crm-btn-danger {
  background: linear-gradient(135deg, color-mix(in srgb, var(--ax-danger) 86%, #b41e3b 14%), color-mix(in srgb, var(--ax-danger) 66%, #8b122f 34%));
  color: #fff0f3;
  border-color: color-mix(in srgb, var(--ax-danger) 70%, #fff 12%);
}
.ax-btn-danger:hover,
.crm-btn-danger:hover { background: linear-gradient(135deg, color-mix(in srgb, var(--ax-danger) 94%, #fff 6%), color-mix(in srgb, var(--ax-danger) 70%, #8b122f 30%)); }

.ax-btn-success {
  background: linear-gradient(135deg, color-mix(in srgb, var(--ax-success) 88%, #0e8f64 12%), color-mix(in srgb, var(--ax-success) 68%, #066647 32%));
  color: #f1fff9;
  border-color: color-mix(in srgb, var(--ax-success) 70%, #fff 12%);
}
.ax-btn-success:hover { background: linear-gradient(135deg, color-mix(in srgb, var(--ax-success) 95%, #fff 5%), color-mix(in srgb, var(--ax-success) 72%, #076548 28%)); }

.ax-btn-sm { min-height: var(--ax-control-height-sm); padding-inline: var(--ax-control-padding-x-sm); font-size: .8rem; border-radius: 9px; }
.ax-btn-lg { min-height: var(--ax-control-height-lg); padding-inline: var(--ax-control-padding-x-lg); font-size: .95rem; border-radius: 12px; }
.ax-btn-icon { width: var(--ax-control-height-md); min-width: var(--ax-control-height-md); padding-inline: 0; }
.ax-btn.is-loading,
.ax-btn[aria-busy='true'] { opacity: .7; pointer-events: none; }

button:disabled,
.ax-btn:disabled,
.crm-btn:disabled,
.ax-btn[aria-disabled='true'],
.crm-btn[aria-disabled='true'] {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
  filter: grayscale(.18);
}

.ax-tag,
.ax-department-badge {
  background: color-mix(in srgb, var(--ax-primary) 22%, transparent);
  border-color: color-mix(in srgb, var(--ax-primary) 45%, white 8%);
}
.crm-search-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
}

.ax-input,
.ax-select,
.ax-textarea,
input.ax-input,
select.ax-select,
textarea.ax-textarea,
.ax-form input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='color']):not([type='range']),
.ax-form select,
.ax-form textarea,
.crm-search-row input,
.crm-filter-row select,
.crm-pipeline-filters input,
.crm-pipeline-filters select,
.crm-pipeline-move-form select {
  width: 100%;
  color: var(--ax-text);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-field-bg) 92%, #fff 8%), color-mix(in srgb, var(--ax-field-bg) 84%, transparent 16%));
  border: 1px solid var(--ax-field-border);
  border-radius: var(--ax-radius-sm);
  padding: 0 var(--ax-control-padding-x-md);
  height: var(--ax-control-height-md);
  font-size: var(--ax-control-font-size);
  font-weight: 560;
  line-height: 1.25;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, transform .16s ease;
}

.ax-select,
select.ax-select,
.ax-form select,
.crm-filter-row select,
.crm-pipeline-filters select,
.crm-pipeline-move-form select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--ax-text-secondary) 84%, transparent) 50%), linear-gradient(135deg, color-mix(in srgb, var(--ax-text-secondary) 84%, transparent) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 2.2rem;
}
.ax-select option,
.ax-form select option {
  color: var(--ax-text);
  background: var(--ax-field-bg);
}

.ax-input:hover,
.ax-select:hover,
.ax-textarea:hover,
.ax-form input:hover,
.ax-form select:hover,
.ax-form textarea:hover {
  border-color: color-mix(in srgb, var(--ax-primary) 45%, var(--ax-field-border) 55%);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--ax-accent-glow) 36%, transparent);
}

.ax-textarea,
textarea.ax-textarea,
.ax-form textarea {
  min-height: 124px;
  height: auto;
  padding: .72rem var(--ax-control-padding-x-md);
  resize: vertical;
}

.ax-input::placeholder,
.ax-textarea::placeholder,
input.ax-input::placeholder,
textarea.ax-textarea::placeholder,
.ax-form input::placeholder,
.ax-form textarea::placeholder,
.crm-search-row input::placeholder,
.crm-pipeline-filters input::placeholder {
  color: color-mix(in srgb, var(--ax-placeholder) 92%, var(--ax-text-secondary) 8%);
}

.ax-input:focus,
.ax-select:focus,
.ax-textarea:focus,
input.ax-input:focus,
select.ax-select:focus,
textarea.ax-textarea:focus,
.ax-form input:focus,
.ax-form select:focus,
.ax-form textarea:focus,
.crm-search-row input:focus,
.crm-filter-row select:focus,
.crm-pipeline-filters input:focus,
.crm-pipeline-filters select:focus,
.crm-pipeline-move-form select:focus {
  outline: none;
  border-color: var(--ax-primary);
  box-shadow: 0 0 0 3px var(--ax-focus), 0 12px 22px color-mix(in srgb, var(--ax-accent-glow) 42%, transparent);
  transform: translateY(-1px);
}

.ax-input:disabled,
.ax-select:disabled,
.ax-textarea:disabled,
.ax-form input:disabled,
.ax-form select:disabled,
.ax-form textarea:disabled {
  background: color-mix(in srgb, var(--ax-field-bg) 72%, #111827 28%);
  color: color-mix(in srgb, var(--ax-muted) 78%, #fff 22%);
  border-color: color-mix(in srgb, var(--ax-field-border) 76%, transparent);
  cursor: not-allowed;
  box-shadow: none;
}

.ax-input[readonly],
.ax-textarea[readonly],
.ax-form input[readonly],
.ax-form textarea[readonly] {
  border-style: solid;
  border-color: color-mix(in srgb, var(--ax-border-strong) 78%, var(--ax-field-border) 22%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-field-bg) 90%, transparent), color-mix(in srgb, var(--ax-field-bg) 82%, transparent));
}

.ax-input[aria-invalid='true'],
.ax-select[aria-invalid='true'],
.ax-textarea[aria-invalid='true'],
.ax-field-error .ax-input,
.ax-field-error .ax-select,
.ax-field-error .ax-textarea {
  border-color: color-mix(in srgb, var(--ax-danger) 80%, #fff 10%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ax-danger) 32%, transparent);
}

.ax-field-success .ax-input,
.ax-field-success .ax-select,
.ax-field-success .ax-textarea {
  border-color: color-mix(in srgb, var(--ax-success) 75%, #fff 10%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ax-success) 30%, transparent);
}

.ax-form label,
.ax-label {
  display: grid;
  gap: var(--ax-space-2);
  color: color-mix(in srgb, var(--ax-text-secondary) 90%, #fff 10%);
  font-size: var(--ax-text-label);
  line-height: var(--ax-lh-normal);
  font-weight: 650;
  letter-spacing: .01em;
}

.ax-input,
.ax-select,
.ax-textarea,
input.ax-input,
select.ax-select,
textarea.ax-textarea,
.ax-form input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='color']):not([type='range']),
.ax-form select,
.ax-form textarea {
  color-scheme: var(--ax-color-scheme);
}

/* Settings / Branding authoritative contrast layer (single cascade owner). */
:where(.ax-settings-quick-links, .ax-settings-cards-grid, .ax-branding-form, .ax-branding-grid, .ax-branding-actions, .ax-platform-settings-grid, .ax-panel) {
  color: var(--ax-text);
}

:is(.ax-settings-card, .ax-branding-card, .ax-branding-preview, .ax-branding-asset) {
  background: color-mix(in srgb, var(--ax-card-bg) 90%, var(--ax-surface-base) 10%);
  border: 1px solid color-mix(in srgb, var(--ax-border) 90%, transparent);
  color: var(--ax-text);
}

:is(.ax-settings-cards-grid, .ax-branding-form, .ax-platform-settings-grid, .ax-panel) :is(label, .ax-label, .ax-branding-help) {
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, var(--ax-text) 12%);
}

:is(.ax-settings-cards-grid, .ax-branding-form, .ax-platform-settings-grid, .ax-panel) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='color']):not([type='range']), select, textarea) {
  background: var(--ax-field-bg);
  color: var(--ax-text);
  border-color: var(--ax-field-border);
}

:is(.ax-settings-cards-grid, .ax-branding-form, .ax-platform-settings-grid, .ax-panel) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='color']):not([type='range']), select, textarea):hover {
  border-color: color-mix(in srgb, var(--ax-primary) 45%, var(--ax-field-border) 55%);
}

:is(.ax-settings-cards-grid, .ax-branding-form, .ax-platform-settings-grid, .ax-panel) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='color']):not([type='range']), select, textarea):focus {
  border-color: var(--ax-primary);
  box-shadow: 0 0 0 3px var(--ax-focus);
}

:is(.ax-settings-cards-grid, .ax-branding-form, .ax-platform-settings-grid, .ax-panel) :is(input:disabled, select:disabled, textarea:disabled) {
  background: color-mix(in srgb, var(--ax-field-bg) 72%, #111827 28%);
  color: color-mix(in srgb, var(--ax-muted) 85%, #fff 15%);
  border-color: color-mix(in srgb, var(--ax-field-border) 76%, transparent);
}

:is(.ax-breadcrumbs, .ax-tabs, .ax-topbar) {
  color: color-mix(in srgb, var(--ax-text) 90%, var(--ax-text-secondary) 10%);
}

:is(.ax-breadcrumbs a, .ax-tabs .ax-tab, .ax-topbar a) {
  color: color-mix(in srgb, var(--ax-text-secondary) 82%, var(--ax-text) 18%);
}

:is(.ax-breadcrumbs a:hover, .ax-tabs .ax-tab:hover, .ax-tabs .ax-tab.active, .ax-topbar a:hover) {
  color: var(--ax-text);
}
.ax-label-hint,
.ax-form .ax-hint,
.ax-help-text {
  margin-top: .16rem;
  color: color-mix(in srgb, var(--ax-muted) 90%, #dbeafe 10%);
  font-size: var(--ax-text-secondary-size);
  font-weight: 520;
  line-height: var(--ax-lh-normal);
}
.ax-form .ax-error,
.ax-field-error .ax-help-text {
  color: color-mix(in srgb, var(--ax-danger) 85%, #fff 15%) !important;
}
.ax-field-success .ax-help-text {
  color: color-mix(in srgb, var(--ax-success) 72%, #fff 28%) !important;
}

.ax-form label.ax-upload,
.ax-upload {
  position: relative;
  display: flex;
  align-items: center;
  gap: .55rem;
  width: 100%;
  min-height: 42px;
  padding: .34rem .42rem;
  border-radius: .88rem;
  border: 1px solid color-mix(in srgb, var(--ax-field-border) 90%, rgba(148, 163, 184, .28) 10%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-field-bg) 90%, rgba(15, 23, 42, .64) 10%), color-mix(in srgb, var(--ax-field-bg) 82%, rgba(15, 23, 42, .48) 18%));
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  box-sizing: border-box;
  overflow: hidden;
}
.ax-upload:hover {
  border-color: color-mix(in srgb, var(--ax-primary) 40%, var(--ax-field-border) 60%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ax-field-bg) 92%, rgba(24, 37, 62, .42) 8%), color-mix(in srgb, var(--ax-field-bg) 84%, rgba(15, 23, 42, .48) 16%));
}
.ax-upload:focus-within {
  border-color: var(--ax-primary);
  box-shadow: 0 0 0 3px var(--ax-focus), 0 10px 20px color-mix(in srgb, var(--ax-accent-glow) 40%, transparent);
}
.ax-upload__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.ax-upload__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: .34rem .82rem;
  border-radius: .58rem;
  border: 1px solid color-mix(in srgb, var(--ax-field-border) 78%, rgba(148, 163, 184, .4) 22%);
  background: color-mix(in srgb, var(--ax-surface-interactive) 78%, rgba(30, 41, 59, .78) 22%);
  color: var(--ax-text);
  font-size: .82rem;
  font-weight: 640;
  line-height: 1;
  flex: 0 0 auto;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}
.ax-upload__button:hover {
  border-color: color-mix(in srgb, var(--ax-primary) 44%, var(--ax-field-border) 56%);
  background: color-mix(in srgb, var(--ax-primary) 14%, var(--ax-surface-interactive) 86%);
}
.ax-upload__name {
  min-width: 0;
  flex: 1 1 auto;
  color: var(--ax-text-secondary);
  font-size: .82rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ax-upload--multiple .ax-upload__name {
  color: color-mix(in srgb, var(--ax-text-secondary) 88%, #dbeafe 12%);
}
.ax-upload--dynamic {
  min-height: 40px;
}
.ax-upload--composer {
  width: auto;
  min-width: 170px;
  max-width: 320px;
  min-height: 36px;
  border-radius: 999px;
  padding: .24rem .36rem;
  gap: .42rem;
  background: linear-gradient(180deg, rgba(11, 20, 38, .82), rgba(8, 16, 31, .9));
  border-color: rgba(141, 171, 227, .34);
}
.ax-upload--composer .ax-upload__button {
  min-height: 28px;
  border-radius: 999px;
  padding: .28rem .66rem;
  font-size: .76rem;
  background: rgba(31, 52, 91, .72);
  border-color: rgba(151, 183, 240, .36);
}
.ax-upload--composer .ax-upload__name {
  font-size: .75rem;
  color: #c7d9fa;
}
.ax-upload--composer:focus-within {
  border-color: rgba(132, 172, 255, .86);
  box-shadow: 0 0 0 3px rgba(92, 140, 242, .23);
}
.ax-upload--public {
  min-height: 44px;
  border-color: #cbd5e1;
  background: #fff;
}
.ax-upload--public .ax-upload__button {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #0f172a;
}
.ax-upload--public .ax-upload__name {
  color: #475569;
}
.ax-upload__input:disabled + .ax-upload__button {
  opacity: .55;
  cursor: not-allowed;
}
.ax-upload__input:disabled + .ax-upload__button + .ax-upload__name {
  color: color-mix(in srgb, var(--ax-muted) 78%, #fff 22%);
}

dialog,
.ax-modal,
.rrhh-modal {
  border: 1px solid color-mix(in srgb, var(--ax-border) 82%, transparent);
  border-radius: 14px;
  background: var(--ax-modal-bg);
  color: var(--ax-text);
  box-shadow: 0 24px 52px rgba(3, 8, 20, .5);
}
dialog::backdrop,
.ax-modal::backdrop,
.rrhh-modal::backdrop {
  background: rgba(6, 10, 20, .62);
  backdrop-filter: blur(2px);
}
.ax-modal__header { display:flex; justify-content:space-between; align-items:flex-start; gap:.8rem; padding: 1rem 1.1rem .75rem; border-bottom: 1px solid color-mix(in srgb, var(--ax-border) 76%, transparent); }
.ax-modal__title { margin:0; font-size:1.06rem; line-height: var(--ax-lh-tight); font-weight: 700; }
.ax-modal__body { padding: 1rem 1.1rem; display:grid; gap:var(--ax-space-4); }
.ax-modal__footer { display:flex; justify-content:flex-end; gap:var(--ax-space-3); flex-wrap:wrap; padding: .75rem 1.1rem 1rem; border-top: 1px solid color-mix(in srgb, var(--ax-border) 76%, transparent); }

.ax-input-group {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  align-items: center;
}
@media (max-width: 780px) {
  .ax-form-actions {
    width: 100%;
  }
  .ax-form-actions .ax-btn,
  .ax-form-actions .crm-btn {
    flex: 1 1 auto;
    min-width: min(220px, 100%);
  }
  .ax-table-wrap {
    border-radius: 10px;
  }
  .ax-table th,
  .ax-table td {
    padding: .64rem .62rem;
  }
  .ax-empty-state {
    padding: .85rem .88rem;
  }
  .ax-modal,
  .rrhh-modal,
  dialog {
    width: min(96vw, 640px);
    margin: auto;
  }
}
.crm-filter-row {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  align-items: end;
}
.crm-filter-row label:not(.ax-upload) {
  display: grid;
  gap: .35rem;
  color: var(--ax-muted);
  font-size: .82rem;
}
.crm-filter-actions {
  display: flex;
  gap: .55rem;
}
.crm-calls-logs-filters {
  margin-bottom: 1rem;
}
.crm-calls-logs-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr)) auto;
  gap: .75rem;
  align-items: end;
}
.crm-calls-logs-field {
  display: grid;
  gap: .35rem;
  min-width: 0;
}
.crm-calls-logs-actions {
  align-self: end;
  justify-content: flex-end;
  white-space: nowrap;
}


.ax-check {
  display: inline-flex !important;
  align-items: center;
  gap: .55rem !important;
  color: var(--ax-text) !important;
  font-size: .9rem;
}
.ax-check input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--ax-primary);
}
.ax-check input[type='hidden'] {
  display: none;
}
.ax-form-grid--legacy-3col {
  --ax-form-grid-columns: 3;
  gap: 16px;
}
.ax-form-grid--legacy-3col .span-3 {
  grid-column: 1 / -1;
}
.ax-form-grid--legacy-3col .span-2 {
  grid-column: span 2;
}
.crm-service-form {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.crm-service-form > label,
.crm-service-form > div,
.crm-service-form > fieldset,
.crm-service-form > table,
.crm-service-form > .crm-filter-actions {
  min-width: 0;
}
.crm-service-form > .crm-service-main-field {
  grid-column: span 1;
}
.crm-service-form > .span-3 {
  grid-column: 1 / -1;
}
.crm-service-tax-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  padding: .95rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: rgba(9, 18, 31, .38);
  align-items: end;
}
.crm-service-form .crm-service-check {
  min-height: 42px;
  width: 100%;
  padding: .55rem .72rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
  background: rgba(255, 255, 255, .03);
}
.crm-service-form .crm-service-check span {
  color: var(--ax-text);
}
.crm-service-payment {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  padding: .95rem;
  background: rgba(9, 18, 31, .35);
}
.crm-service-payment legend {
  padding: 0 .4rem;
}
.crm-service-payment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  align-items: stretch;
}
.crm-service-form .ax-table {
  margin-top: .1rem;
}
.crm-service-form .crm-filter-actions {
  margin-top: .2rem;
  justify-content: flex-start;
}

.billing-page {
  width: 100%;
}

.billing-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .9rem;
}

.billing-page-head h1 {
  margin: 0;
}

.billing-form,
.billing-filters-form {
  max-width: 100%;
  width: 100%;
}

.billing-filters-form {
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  align-items: end;
}

.billing-filters-form label {
  min-width: 0;
}

.billing-filter-actions {
  display: flex;
  gap: .55rem;
  align-items: center;
  justify-content: flex-end;
}

.billing-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.billing-table-wrap .ax-table {
  margin-top: 0;
  min-width: 920px;
}

.billing-invoice-main-grid {
  grid-template-columns: minmax(0, 2.1fr) minmax(140px, .9fr) minmax(180px, 1fr);
}

.billing-invoice-main-grid textarea,
.billing-payment-main-grid textarea {
  min-height: 140px;
}

.billing-items-grid {
  grid-template-columns: minmax(0, 2.2fr) minmax(120px, .8fr) minmax(140px, .9fr);
}

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

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

.billing-form-actions button {
  min-width: 180px;
}

.billing-empty-cell {
  text-align: center;
  padding: 1.1rem .75rem !important;
  color: var(--ax-muted);
}

.ax-form.ax-form--webmail-config {
  max-width: none;
  width: 100%;
}

.webmail-config-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 100%;
  align-items: end;
}
.webmail-config-grid > label {
  grid-column: span 1;
  min-width: 0;
}
.webmail-config-grid .ax-webmail-span-2 {
  grid-column: span 2;
}
.ax-webmail-actions {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}
.ax-webmail-test-result {
  margin: .9rem 0 1rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: .75rem;
  padding: .8rem .95rem;
  background: rgba(15, 25, 38, .7);
}
.ax-webmail-test-result.is-success {
  border-color: rgba(46, 204, 113, .46);
}
.ax-webmail-test-result.is-error {
  border-color: rgba(231, 76, 60, .5);
}
.ax-webmail-test-result ul {
  margin: .45rem 0 0 1.05rem;
  display: grid;
  gap: .24rem;
}
.ax-webmail-test-origin {
  margin: .35rem 0 0;
  color: var(--ax-muted);
  font-size: .83rem;
}
.ax-webmail-help {
  margin-top: 1rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: .7rem;
  padding: .8rem .9rem;
  background: rgba(16, 28, 42, .72);
  color: var(--ax-muted);
  font-size: .9rem;
  line-height: 1.45;
}
.crm-prospect-head {
  align-items: flex-start;
  gap: 1rem;
}
.crm-prospect-head__title-wrap {
  min-width: 0;
  position: relative;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: .35rem .55rem;
}
.crm-prospect-head__title-wrap h1 {
  grid-column: 1;
}
.crm-prospect-head__title-wrap .crm-form-subtitle {
  grid-column: 1 / -1;
}
.crm-help-trigger {
  grid-column: 2;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  padding: 0;
  min-height: 0;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(24, 38, 56, .78);
  color: var(--ax-muted);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}
.crm-help-trigger:hover,
.crm-help-trigger:focus-visible {
  color: var(--ax-text);
  border-color: rgba(255, 255, 255, .36);
  background: rgba(33, 51, 74, .88);
  transform: none;
}
.crm-help-popover {
  position: absolute;
  top: calc(100% + .45rem);
  left: 0;
  width: min(320px, 92vw);
  padding: .65rem .75rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: .65rem;
  background: rgba(14, 24, 36, .96);
  box-shadow: 0 16px 32px rgba(4, 8, 16, .42);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index: 30;
}
.crm-help-trigger:hover + .crm-help-popover,
.crm-help-trigger:focus-visible + .crm-help-popover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.crm-help-popover__title {
  margin: 0 0 .38rem;
  font-size: .86rem;
  color: var(--ax-text);
}
.crm-help-popover ul {
  margin: 0;
  padding-left: 1rem;
  display: grid;
  gap: .28rem;
  color: var(--ax-muted);
  font-size: .8rem;
}
.crm-prospect-form {
  display: grid;
  margin-top: var(--ax-space-4);
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem .95rem;
  align-items: start;
}
.crm-prospect-form > label,
.crm-prospect-form > div,
.crm-prospect-form > p {
  min-width: 0;
  grid-column: span 1;
}
.crm-prospect-form > label {
  display: grid;
  gap: .38rem;
  color: var(--ax-muted);
}
.crm-prospect-form .span-2 {
  grid-column: span 2;
}
.crm-prospect-form .span-3 {
  grid-column: 1 / -1;
}
.crm-prospect-form .ax-input,
.crm-prospect-form .ax-select,
.crm-prospect-form .ax-textarea {
  width: 100%;
}
.crm-prospect-form input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='color']):not([type='range']),
.crm-prospect-form select,
.crm-prospect-form textarea,
.crm-prospect-form button {
  background: var(--ax-field-bg);
  color: var(--ax-text);
  border: 1px solid var(--ax-field-border);
  border-radius: 12px;
  padding: .58rem .72rem;
}
.crm-prospect-form textarea {
  resize: vertical;
  min-height: 100px;
}
.crm-form-note {
  margin: .15rem 0 0;
  color: var(--ax-muted);
  font-size: .8rem;
}
.crm-clients-table {
  margin-top: .25rem;
}
.crm-clients-table thead th {
  background: rgba(255, 255, 255, .04);
  border-bottom-color: rgba(255, 255, 255, .14);
  font-weight: 600;
}
.crm-clients-table td,
.crm-clients-table th {
  padding: .65rem .62rem;
}
.crm-call-lead-grid {
  margin-top: .35rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .68rem;
}
.crm-call-lead-item {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: .72rem;
  background: rgba(18, 30, 46, .62);
  padding: .55rem .62rem;
  min-width: 0;
}
.crm-call-lead-item--wide {
  grid-column: span 2;
}
.crm-call-lead-item--full {
  grid-column: 1 / -1;
}
.crm-call-lead-item__label {
  margin: 0 0 .22rem;
  font-size: .7rem;
  line-height: 1.3;
  letter-spacing: .025em;
  text-transform: uppercase;
  color: rgba(220, 230, 248, .66);
}
.crm-call-lead-item__value {
  margin: 0;
  color: #eef4ff;
  font-size: .88rem;
  line-height: 1.36;
}
.crm-call-lead-item__value--break {
  overflow-wrap: anywhere;
}
.crm-call-lead-item__value--multiline {
  white-space: normal;
}

.crm-contact-cell {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.crm-contact-icon {
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(16, 28, 42, .88);
  color: #dce6f8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: .78rem;
  line-height: 1;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.crm-contact-icon:hover {
  background: rgba(29, 42, 58, .96);
  border-color: rgba(255, 255, 255, .24);
  transform: translateY(-1px);
}
.crm-actions {
  white-space: nowrap;
}
.crm-actions a {
  color: #dce6f8;
  text-decoration: none;
}
.crm-actions span {
  color: rgba(220, 230, 248, .42);
  margin: 0 .3rem;
}
.crm-actions form {
  display: inline;
}


.services-ticket-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: flex-end;
  max-width: none;
  margin-top: 1rem;
  margin-bottom: .4rem;
}

.ax-assets-filters {
  display: grid;
  grid-template-columns:
    minmax(110px, .75fr)
    minmax(125px, .85fr)
    minmax(125px, .85fr)
    minmax(110px, .8fr)
    minmax(110px, .8fr)
    minmax(210px, 1.45fr)
    auto;
  gap: .65rem;
  align-items: end;
  max-width: none;
  margin-top: 1rem;
  margin-bottom: .4rem;
}

.ax-assets-filters .ax-assets-filters__field {
  min-width: 0;
  margin: 0;
}

.ax-assets-filters .ax-assets-filters__search {
  min-width: 0;
}

.ax-assets-filters .ax-assets-filters__actions {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  align-self: end;
  white-space: nowrap;
}

.ax-assets-filters .ax-assets-filters__actions button {
  width: auto;
  padding-inline: 1rem;
  white-space: nowrap;
}

.services-tickets-list__head-action {
  margin: .95rem 0 0;
}

.services-tickets-list__table-wrap {
  margin-top: .95rem;
}

.services-tickets-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: .65rem;
  margin: .8rem 0;
}

.services-tickets-summary p {
  margin: 0;
  padding: .55rem .65rem;
  border-radius: 10px;
  border: 1px solid rgba(150, 186, 255, .22);
  background: rgba(10, 18, 32, .45);
  font-size: .9rem;
}

.services-ticket-cross-links {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin: .35rem 0 1rem;
}

.services-ticket-context-grid {
  display: grid;
  grid-template-columns: minmax(180px, .9fr) minmax(0, 2.2fr);
  gap: .48rem .85rem;
}

.services-ticket-context-grid dt {
  color: var(--ax-muted);
}

.services-ticket-context-grid dd {
  margin: 0;
}

.services-ticket-form {
  max-width: none;
}

.services-ticket-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.services-ticket-form-grid > * {
  grid-column: span 1;
}

.services-ticket-form-grid label {
  min-width: 0;
}

.services-ticket-form-grid select {
  min-width: 0;
}

.services-ticket-form-grid__full,
.services-ticket-form__description {
  grid-column: 1 / -1;
}
.services-ticket-filters label {
  min-width: 200px;
  flex: 0 1 220px;
}
.services-ticket-filters label.services-ticket-search {
  min-width: 280px;
  flex-basis: 320px;
}
.services-ticket-filters button {
  width: auto;
  padding-inline: 1rem;
  white-space: nowrap;
}

.services-ticket-filter-actions {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
}

.services-filter-clear {
  color: var(--ax-muted);
  text-decoration: none;
  font-size: .85rem;
}

.services-filter-clear:hover {
  color: var(--ax-text);
  text-decoration: underline;
}

.supply-products-filters {
  max-width: none;
}

.supply-products-filters__grid {
  display: grid;
  grid-template-columns: minmax(280px, 2.2fr) minmax(180px, 1fr) auto;
  gap: .75rem;
  align-items: end;
  width: 100%;
}

.supply-products-filters__grid label {
  margin: 0;
  min-width: 0;
}

.supply-products-filters__actions {
  display: inline-flex;
  align-items: stretch;
  gap: .5rem;
  white-space: nowrap;
}

.supply-products-filters__actions .crm-btn {
  min-height: 42px;
}

.supply-purchases-filters {
  max-width: none;
  margin-bottom: 1rem;
}

.supply-purchases-filters__grid {
  display: grid;
  grid-template-columns: minmax(200px, 1.15fr) minmax(170px, .9fr) minmax(320px, 2.2fr) auto;
  gap: .75rem;
  align-items: end;
  width: 100%;
}

.supply-purchases-filters__grid label {
  margin: 0;
  min-width: 0;
}

.supply-purchases-filters__actions {
  display: inline-flex;
  align-items: stretch;
  gap: .5rem;
  white-space: nowrap;
}

.supply-purchases-filters__actions .crm-btn {
  min-height: 42px;
}

.supply-product-form {
  max-width: 100%;
}

.supply-product-form__grid {
  width: 100%;
  align-items: start;
}

.supply-product-form__grid > label {
  grid-column: span 1;
}

.supply-product-form__description {
  min-height: 112px;
  resize: vertical;
}

.supply-product-form__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding-top: .2rem;
}

.supply-product-form__active {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
}

.supply-product-form__active input[type='checkbox'] {
  width: auto;
}

.supply-vendor-form {
  max-width: 100%;
}

.supply-vendor-form__grid {
  width: 100%;
}

.supply-vendor-form__grid > label {
  grid-column: span 1;
}

.supply-vendor-form__field--wide {
  grid-column: span 2;
}

.supply-vendor-form__field--full {
  grid-column: 1 / -1;
}

.supply-vendor-form__grid textarea {
  min-height: 108px;
  resize: vertical;
}

.supply-vendor-form__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  flex-wrap: wrap;
}

.supply-vendor-form__active {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
}

.supply-vendor-form__active input[type='checkbox'] {
  width: auto;
}

.supply-purchase-form {
  max-width: 100%;
  width: 100%;
}

.supply-purchase-form__grid,
.supply-purchase-form__totals {
  width: 100%;
  align-items: start;
}

.supply-purchase-form__grid > label,
.supply-purchase-form__totals > label {
  grid-column: span 1;
}

.supply-purchase-form__items-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 14px;
}

.supply-purchase-form__items-table-wrap .ax-table {
  width: 100%;
  min-width: 860px;
}

.supply-purchase-form__items-table-wrap .ax-input {
  min-width: 0;
}

.supply-purchase-form__notes {
  width: 100%;
  margin: 0;
}

.supply-purchase-form__notes textarea {
  min-height: 132px;
  resize: vertical;
}

.supply-purchase-form__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  width: 100%;
}

@media (max-width: 1100px) {
  .supply-products-filters__grid {
    grid-template-columns: minmax(220px, 1.8fr) minmax(180px, 1fr);
  }

  .supply-products-filters__actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .supply-purchases-filters__grid {
    grid-template-columns: minmax(220px, 1.2fr) minmax(180px, 1fr) minmax(240px, 1.8fr);
  }

  .supply-purchases-filters__actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .supply-product-form__actions {
    justify-content: flex-start;
  }

  .supply-vendor-form__actions {
    justify-content: flex-start;
  }

  .supply-vendor-form__field--wide {
    grid-column: 1 / -1;
  }

  .supply-purchase-form__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .supply-vendor-form__grid > label {
    grid-column: 1 / -1;
  }

  .supply-purchase-form__grid > label,
  .supply-purchase-form__totals > label {
    grid-column: 1 / -1;
  }
}

.services-companies-filters {
  align-items: center;
}

.services-companies-filters label.services-ticket-search {
  flex: 1 1 320px;
  max-width: 360px;
}

.services-companies-list__table-wrap {
  margin-top: 1rem;
}
@media (max-width: 900px) {
  .ax-assets-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ax-assets-filters .ax-assets-filters__search,
  .ax-assets-filters .ax-assets-filters__actions {
    grid-column: span 3;
  }

  .services-ticket-filters label,
  .services-ticket-filters label.services-ticket-search {
    min-width: 180px;
    flex-basis: 220px;
  }

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

  .services-ticket-form-grid .span-3 {
    grid-column: 1 / -1;
  }

  .services-ticket-form-grid__full,
  .services-ticket-form__description {
    grid-column: 1 / -1;
  }

  .supply-products-filters__grid {
    grid-template-columns: 1fr 1fr;
  }

  .supply-purchases-filters__grid {
    grid-template-columns: 1fr 1fr;
  }

  .supply-purchases-filters__search,
  .supply-purchases-filters__actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 560px) {
  .ax-assets-filters {
    grid-template-columns: 1fr;
  }

  .ax-assets-filters .ax-assets-filters__search,
  .ax-assets-filters .ax-assets-filters__actions {
    grid-column: auto;
  }

  .ax-assets-filters .ax-assets-filters__actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .ax-assets-filters .ax-assets-filters__actions button {
    width: 100%;
  }

  .ax-assets-filters .ax-assets-filters__actions .services-filter-clear {
    justify-self: start;
  }

  .services-tickets-list__head-action {
    margin-top: .75rem;
  }

  .services-tickets-list__table-wrap {
    margin-top: .8rem;
  }

  .services-companies-list__table-wrap {
    margin-top: .8rem;
  }

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

  .services-ticket-filters {
    display: grid;
    grid-template-columns: 1fr;
  }


  .ax-assets-category-table {
    min-width: 720px;
  }

  .ax-assets-category-actions {
    justify-content: stretch;
  }

  .ax-assets-category-actions button {
    flex: 1 1 100%;
    width: 100%;
  }
  .services-ticket-filters label,
  .services-ticket-filters label.services-ticket-search {
    min-width: 0;
    flex-basis: auto;
  }
  .services-ticket-filters button {
    width: 100%;
  }

  .services-ticket-filter-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .services-filter-clear {
    justify-self: start;
  }

  .services-ticket-form-grid {
    grid-template-columns: 1fr;
  }

  .services-ticket-form-grid .span-3 {
    grid-column: auto;
  }

  .services-ticket-form-grid__full,
  .services-ticket-form__description {
    grid-column: auto;
  }

  .services-ticket-context-grid {
    grid-template-columns: 1fr;
    gap: .25rem;
  }

  .supply-products-filters__grid {
    grid-template-columns: 1fr;
  }

  .supply-products-filters__actions {
    display: grid;
    grid-template-columns: 1fr;
    white-space: normal;
  }

  .supply-purchases-filters__grid {
    grid-template-columns: 1fr;
  }

  .supply-purchases-filters__search,
  .supply-purchases-filters__actions {
    grid-column: auto;
  }

  .supply-purchases-filters__actions {
    display: grid;
    grid-template-columns: 1fr;
    white-space: normal;
  }

  .supply-product-form__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .supply-product-form__actions .crm-btn {
    width: 100%;
  }
}

.crm-pipeline-page {
  display: grid;
  gap: 1rem;
}
.crm-pipeline-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.crm-pipeline-head h1 {
  margin: 0;
  font-size: 1.5rem;
}
.crm-pipeline-filters {
  display: grid;
  grid-template-columns: minmax(180px, 2fr) minmax(180px, 1fr) auto auto auto;
  gap: .75rem;
  align-items: center;
}
.crm-pipeline-checkbox {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--ax-muted);
  font-size: .87rem;
}
.crm-pipeline-checkbox input {
  width: auto;
}
.crm-pipeline-board {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 1fr);
  gap: .8rem;
  overflow-x: auto;
  padding-bottom: .25rem;
}
.crm-pipeline-column {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(22, 36, 54, 0.5);
  min-height: 260px;
  padding: .8rem;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: .7rem;
}
.crm-pipeline-column.is-drop-target {
  border-color: rgba(96, 165, 250, .65);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, .18) inset;
}
.crm-pipeline-column header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.crm-pipeline-column h2 {
  margin: 0;
  font-size: .95rem;
}
.crm-pipeline-badge {
  min-width: 1.6rem;
  text-align: center;
  border-radius: 999px;
  padding: .14rem .46rem;
  font-size: .78rem;
  font-weight: 700;
  color: #dce6f8;
  background: rgba(255,255,255,.14);
}
.crm-pipeline-empty {
  border: 1px dashed rgba(255,255,255,.18);
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--ax-muted);
  font-size: .88rem;
}
.crm-pipeline-cards {
  display: grid;
  gap: .65rem;
  align-content: start;
}
.crm-pipeline-card {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(10, 18, 30, .55);
  padding: .65rem;
  display: grid;
  gap: .45rem;
  cursor: grab;
}
.crm-pipeline-card.is-dragging {
  opacity: .65;
  cursor: grabbing;
}
.crm-pipeline-card h3 {
  margin: 0;
  font-size: .95rem;
}
.crm-pipeline-card p {
  margin: 0;
  color: var(--ax-muted);
  font-size: .83rem;
}
.crm-pipeline-card-actions {
  display: flex;
  gap: .7rem;
}
.crm-pipeline-card-actions a {
  color: #dce6f8;
  text-decoration: none;
  font-size: .84rem;
}
.crm-pipeline-card-actions form {
  display: inline;
}
.crm-pipeline-card-actions .crm-link-danger {
  font-size: .84rem;
}
.crm-pipeline-move-form {
  display: grid;
  gap: .4rem;
}
.crm-pipeline-move-form label {
  display: grid;
  gap: .25rem;
  font-size: .8rem;
  color: var(--ax-muted);
}
.crm-pipeline-move-form select {
  width: 100%;
  color: var(--ax-text);
  background: rgba(16, 28, 42, .88);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  padding: .5rem .55rem;
}
@media (max-width: 1200px) {
  .crm-filter-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .crm-pipeline-filters {
    grid-template-columns: 1fr 1fr;
  }
  .crm-prospect-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .crm-prospect-form .span-3 {
    grid-column: 1 / -1;
  }
  .billing-filters-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .billing-filter-actions {
    grid-column: span 3;
    justify-content: flex-start;
  }
  .crm-service-tax-grid,
  .crm-service-payment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .crm-service-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .crm-calls-logs-filter-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
  .crm-calls-logs-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .webmail-config-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .webmail-config-grid .ax-webmail-span-2 {
    grid-column: span 2;
  }
}
@media (max-width: 720px) {
  .webmail-config-grid {
    grid-template-columns: 1fr;
  }
  .webmail-config-grid .ax-webmail-span-2 {
    grid-column: span 1;
  }
  .ax-webmail-actions {
    justify-content: stretch;
  }
  .ax-webmail-actions button {
    width: 100%;
  }
  .crm-clients-head,
  .crm-search-row,
  .crm-filter-row,
  .crm-pipeline-filters,
  .crm-calls-logs-filter-grid {
    grid-template-columns: 1fr;
    display: grid;
  }
  .crm-clients-head,
  .crm-pipeline-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .crm-prospect-form {
    grid-template-columns: 1fr;
  }
  .crm-filter-actions {
    width: 100%;
  }
  .crm-call-lead-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .crm-call-lead-item--wide {
    grid-column: span 2;
  }
  .billing-page-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .billing-filters-form {
    grid-template-columns: 1fr;
  }
  .billing-filter-actions {
    grid-column: auto;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .billing-form-actions {
    justify-content: flex-start;
  }
  .billing-form-actions button {
    width: 100%;
  }
  .crm-service-tax-grid,
  .crm-service-payment-grid {
    grid-template-columns: 1fr;
  }
  .crm-service-form {
    grid-template-columns: 1fr;
  }
  .crm-service-form > .crm-service-main-field {
    grid-column: 1 / -1;
  }
  .crm-service-form .crm-service-check {
    min-height: 40px;
  }
}

.crm-bulk-page {
  grid-template-columns: 1fr;
}
.crm-bulk-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(22, 36, 54, 0.5);
  padding: 1rem;
}
.crm-bulk-card h2 { margin-top: 0; }
.crm-bulk-stats {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: .8rem;
  color: var(--ax-muted);
}

.crm-link-danger {
  border: 0;
  background: transparent;
  color: #fca5a5;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  font: inherit;
}
.crm-link-danger:hover {
  color: #fecaca;
}


.crm-btn-light {
  color: #dce6f8;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .22);
}
.crm-btn-light:hover {
  background: rgba(255, 255, 255, .14);
}

.crm-client360-page {
  display: grid;
  gap: 1.05rem;
}
.crm-client360-page h1 {
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: .01em;
}
.crm-client360-header {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: radial-gradient(120% 120% at 10% 0%, rgba(221, 67, 86, .14), transparent 44%), rgba(18, 30, 47, 0.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 32px rgba(0,0,0,.2);
  padding: 1.05rem;
  display: grid;
  gap: .9rem;
}
.crm-client360-identity {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  flex-wrap: wrap;
}
.crm-client360-identity-main {
  display: grid;
  gap: .32rem;
  flex: 1 1 290px;
}
.crm-client360-avatar {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(221, 67, 86, .33), rgba(79, 70, 229, .22));
  border: 1px solid rgba(255, 190, 200, .46);
  box-shadow: 0 0 0 3px rgba(8, 14, 24, .5);
  color: #ffecef;
  font-weight: 800;
  font-size: 1.08rem;
}
.crm-client360-identity h2 {
  margin: 0;
  font-size: 1.38rem;
  line-height: 1.2;
}
.crm-client360-identity p {
  margin: 0;
  color: var(--ax-muted);
  font-size: .92rem;
}
.crm-client360-photo-action {
  margin-left: auto;
  align-self: center;
}
.crm-client360-badges {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
}
.crm-client360-badge {
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  padding: .2rem .55rem;
  font-size: .74rem;
  color: #dce6f8;
  background: rgba(16, 28, 42, .7);
}
.crm-client360-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.crm-client360-kpi {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: linear-gradient(165deg, rgba(12, 20, 35, .9), rgba(10, 16, 28, .55));
  padding: .82rem .9rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.crm-client360-kpi h3 {
  margin: 0;
  font-size: .77rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ax-muted);
  font-weight: 600;
}
.crm-client360-kpi small {
  display: inline-flex;
  margin-top: .25rem;
  color: #aebfdf;
  font-size: .72rem;
}
.crm-client360-kpi p {
  margin: .38rem 0 0;
  font-size: 1.32rem;
  line-height: 1.2;
  font-weight: 800;
  color: #eff5ff;
}
.crm-client360-actions {
  display: flex;
  justify-content: flex-start;
  gap: .55rem;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: .75rem;
}
.crm-client360-actions .crm-btn {
  min-height: 38px;
  padding: .5rem .85rem;
}
.crm-client360-tabs {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(10, 18, 30, .45);
  padding: .4rem;
}
.crm-client360-tab {
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: #dce6f8;
  padding: .42rem .82rem;
  font-size: .83rem;
  cursor: pointer;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.crm-client360-tab:hover {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
}
.crm-client360-tab.is-active {
  background: linear-gradient(135deg, rgba(221, 67, 86, .92), rgba(180, 52, 78, .92));
  border-color: rgba(255, 190, 200, .45);
  color: #ffecef;
  box-shadow: 0 10px 20px rgba(105, 15, 30, .28);
}
.crm-client360-summary {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(18, 30, 47, 0.56);
  padding: 1.02rem;
  display: grid;
  gap: .86rem;
}
.crm-client360-summary h3 {
  margin: 0;
  font-size: 1.02rem;
}
.crm-client360-contact-row {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.crm-client360-notes {
  display: grid;
  gap: .75rem;
}
.crm-client360-notes label {
  display: grid;
  gap: .35rem;
  color: var(--ax-muted);
  font-size: .84rem;
}

.crm-client360-summary-widgets {
  gap: 1rem;
}

.crm-client360-summary-block {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(9, 16, 28, .62);
  padding: .88rem .95rem;
  display: grid;
  gap: .72rem;
}
.crm-client360-summary-block h4 {
  margin: 0;
  font-size: .98rem;
}
.crm-client360-summary-block .ax-muted {
  margin: 0;
}

.crm-client360-kpis-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-client360-summary-table-wrap h5 {
  margin: 0;
}

.crm-client360-summary-table {
  font-size: .9rem;
}
.crm-client360-summary-table td {
  vertical-align: middle;
}
.crm-client360-summary-table tbody tr:last-child td {
  border-bottom: 0;
}
.crm-client360-summary-table tbody tr td[colspan] {
  color: #b7c6e4;
  text-align: center;
  padding: .9rem .6rem;
}

@media (max-width: 920px) {
  .crm-client360-kpis-summary {
    grid-template-columns: 1fr;
  }
}

.crm-client360-company {
  gap: 1rem;
}
.crm-client360-company-section {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: .9rem;
  display: grid;
  gap: .65rem;
}
.crm-client360-company-section:first-of-type {
  border-top: 0;
  padding-top: .2rem;
}
.crm-client360-company-section h4 {
  margin: 0;
  font-size: .92rem;
  color: #dce6f8;
}
.crm-client360-company-row {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: start;
  gap: .8rem;
}
.crm-client360-company-row > span {
  color: var(--ax-muted);
  font-size: .84rem;
  padding-top: .55rem;
}
.crm-client360-company-row .ax-input {
  width: 100%;
}
.crm-client360-company-row-static p {
  margin: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(10, 18, 30, .55);
  color: #dce6f8;
  padding: .58rem .7rem;
  min-height: 40px;
  display: flex;
  align-items: center;
}
.crm-client360-company-row-geo > div {
  display: grid;
  gap: .3rem;
}
.crm-client360-company-row-geo small {
  color: var(--ax-muted);
  font-size: .72rem;
}
.crm-client360-company-readonly-list {
  margin: 0;
  display: grid;
  gap: .65rem;
}
.crm-client360-company-readonly-list > div {
  display: grid;
  gap: .2rem;
}
.crm-client360-company-readonly-list dt {
  color: var(--ax-muted);
  font-size: .82rem;
}
.crm-client360-company-readonly-list dd {
  margin: 0;
  color: #dce6f8;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
}
.crm-client360-company-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
.crm-client360-branches-empty {
  display: grid;
  gap: .65rem;
  border: 1px dashed rgba(255,255,255,.2);
  border-radius: 12px;
  padding: .9rem;
  background: rgba(6, 10, 20, .22);
}
.crm-client360-branches-empty p {
  margin: 0;
}
.crm-client360-branches-list {
  display: grid;
  gap: .65rem;
}
.crm-client360-branch-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .9rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: .75rem .85rem;
  background: rgba(10, 18, 30, .35);
}
.crm-client360-branch-card.is-primary {
  border-color: rgba(239, 68, 68, .6);
  box-shadow: 0 0 0 1px rgba(239, 68, 68, .3) inset;
  background: rgba(40, 12, 12, .25);
}
.crm-client360-branch-main {
  display: grid;
  gap: .3rem;
}
.crm-client360-branch-title-row {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
}
.crm-client360-branch-badge {
  display: inline-flex;
  align-items: center;
  padding: .12rem .5rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  color: #fecaca;
  background: rgba(239, 68, 68, .18);
  border: 1px solid rgba(239, 68, 68, .5);
}
.crm-client360-branch-card h5 {
  margin: 0;
  font-size: .9rem;
  color: #dce6f8;
}
.crm-client360-branch-card p {
  margin: .25rem 0 0;
  color: var(--ax-muted);
  font-size: .84rem;
}
.crm-client360-branch-actions {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.crm-client360-inline-form {
  margin: 0;
}
.crm-client360-branch-form {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: .85rem;
}
.crm-client360-branch-form h5 {
  margin: 0;
}
.crm-client360-branch-geo summary {
  color: var(--ax-muted);
  cursor: pointer;
  margin-bottom: .5rem;
}

@media (max-width: 920px) {
  .crm-client360-header {
    padding: .9rem;
  }
  .crm-client360-avatar {
    width: 64px;
    height: 64px;
  }
  .crm-client360-photo-action {
    margin-left: 0;
    width: 100%;
  }
  .crm-client360-photo-action .crm-btn {
    width: 100%;
  }
  .crm-client360-kpis {
    grid-template-columns: 1fr;
  }
  .crm-client360-actions {
    gap: .45rem;
  }
  .crm-client360-actions .crm-btn {
    flex: 1 1 160px;
  }
  .crm-client360-tabs {
    padding: .35rem;
    gap: .35rem;
  }
  .crm-client360-tab {
    flex: 1 1 calc(50% - .35rem);
    text-align: center;
  }
  .crm-client360-company-row {
    grid-template-columns: 1fr;
    gap: .4rem;
  }
  .crm-client360-company-row > span {
    padding-top: 0;
  }
  .crm-client360-branch-card {
    flex-direction: column;
  }
}


.crm-task-overdue-badge {
  display: inline-flex;
  align-items: center;
  margin-left: .4rem;
  padding: .1rem .45rem;
  border-radius: 999px;
  background: rgba(239, 68, 68, .2);
  border: 1px solid rgba(239, 68, 68, .55);
  color: #fecaca;
  font-size: .75rem;
  font-weight: 700;
}

.crm-link-btn {
  background: transparent;
  border: 0;
  color: #93c5fd;
  cursor: pointer;
  padding: 0;
  font: inherit;
  text-decoration: underline;
}

.crm-client360-history .crm-history-filters {
  margin-bottom: 1rem;
}

.crm-history-actions {
  display: flex;
  align-items: end;
  gap: .5rem;
}

.crm-history-list {
  display: grid;
  gap: .9rem;
}

.crm-history-card {
  padding: 1rem;
}

.crm-history-card h4 {
  margin: 0;
}

.crm-history-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  color: var(--ax-muted);
  font-size: .9rem;
  margin: .45rem 0 .25rem;
}

.crm-client360-services-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}

.crm-client-service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
}

.crm-client-service-grid label {
  display: grid;
  gap: .35rem;
  color: var(--ax-muted);
  font-size: .84rem;
}

.crm-client-service-grid .span-2 {
  grid-column: 1 / -1;
}

.crm-client360-kpis-services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 920px) {
  .crm-client-service-grid {
    grid-template-columns: 1fr;
  }
  .crm-client-service-grid .span-2 {
    grid-column: auto;
  }
  .crm-client360-kpis-services {
    grid-template-columns: 1fr;
  }
}

.crm-calendar-page {
  display: grid;
  gap: 16px;
}
.crm-calendar-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
}
.crm-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
.crm-calendar-weekday {
  font-size: 12px;
  text-transform: uppercase;
  opacity: .75;
  text-align: center;
}
.crm-calendar-day {
  min-height: 110px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 10px;
  padding: 8px;
  background: rgba(9, 12, 19, .45);
}
.crm-calendar-day.is-empty { opacity: .3; }
.crm-calendar-date { font-weight: 700; margin-bottom: 6px; }
.crm-calendar-events { display: grid; gap: 6px; }
.crm-calendar-chip {
  border: 0;
  border-radius: 999px;
  padding: 4px 8px;
  text-align: left;
  font-size: 12px;
  color: #f5f7ff;
  background: rgba(255, 91, 116, .3);
  cursor: pointer;
}
.crm-calendar-more { font-size: 12px; opacity: .8; }
.crm-calendar-detail {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(7, 10, 16, .65);
  padding: 12px;
}
.crm-calendar-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ax-tab-external { border: 1px solid rgba(140,180,255,.35); }


.ax-chat-module {
  position: relative;
  overflow: hidden;
  padding: 1.1rem;
  background:
    radial-gradient(circle at 14% 8%, rgba(142, 178, 255, 0.18), transparent 34%),
    linear-gradient(170deg, color-mix(in srgb, var(--ax-content-bg) 72%, rgba(255, 255, 255, 0.05)), color-mix(in srgb, var(--ax-content-bg) 92%, rgba(8, 14, 29, 0.45)));
  box-shadow: var(--ax-shadow-base), inset 0 1px 0 rgba(255, 255, 255, 0.26), inset 0 -1px 0 rgba(140, 180, 255, 0.12);
}
.ax-chat-module::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 78% 84%, rgba(93, 132, 255, 0.2), transparent 44%);
}

.ax-content.ax-content--chat {
  padding: .35rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.ax-main--chat {
  height: calc(100vh - 10px);
  min-height: calc(100vh - 10px);
  overflow: hidden;
}
.ax-content--chat > .ax-chat-module--full {
  flex: 1;
  min-height: 0;
  height: 100%;
  display: flex;
}
.ax-content.ax-content--chat > .ax-content-body {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  gap: 0;
}
.ax-chat-module--full {
  padding: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
  height: 100%;
}
.ax-chat-module--full::before { display: none; }
.ax-chat-module-head {
  position: relative;
  z-index: 1;
  margin-bottom: .9rem;
}
.ax-chat-module-head p { margin-top: .35rem; }

.ax-chat-fab {
  position: fixed;
  right: 26px;
  bottom: 28px;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(176, 206, 255, .52);
  background: linear-gradient(150deg, rgba(92, 125, 255, .95), rgba(35, 90, 220, .95));
  box-shadow: 0 14px 28px rgba(8, 16, 39, .45), inset 0 1px 0 rgba(255, 255, 255, .38);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  z-index: 1300;
}
.ax-chat-badge {
  position: absolute;
  top: -6px;
  right: -3px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 11px;
  background: #ef4444;
  color: #fff;
}
.ax-chat-panel {
  position: fixed;
  right: 24px;
  bottom: 88px;
  width: min(980px, calc(100vw - 32px));
  height: min(640px, calc(100vh - 120px));
  display: grid;
  grid-template-rows: auto 1fr;
  z-index: 1299;
}
.ax-chat-panel[data-chat-state="closed"] {
  display: none;
  pointer-events: none;
}
.ax-chat-panel[data-chat-state="minimized"] {
  width: min(360px, calc(100vw - 32px));
  height: auto;
  grid-template-rows: auto;
}
.ax-chat-panel[data-chat-state="minimized"] .ax-chat-body { display: none; }

.ax-chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .78rem .9rem;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
}
.ax-chat-header-actions { display:flex; align-items:center; gap:6px; }
.ax-chat-close,
.ax-chat-minimize {
  background: rgba(10, 21, 43, .62);
  border: 1px solid rgba(170, 199, 255, .35);
  color: #e9f1ff;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  border-radius: 8px;
  width: 28px;
  height: 28px;
}

.ax-chat-body {
  position: relative;
  display: grid;
  grid-template-columns: minmax(255px, 320px) 1fr;
  min-height: 0;
  height: 100%;
  border: 1px solid rgba(176, 206, 255, .18);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  background: color-mix(in srgb, var(--ax-content-bg) 86%, rgba(255, 255, 255, 0.05));
}
.ax-chat-list {
  border-right: 1px solid rgba(170, 198, 255, .14);
  overflow: auto;
  padding: .7rem;
  display: grid;
  align-content: start;
  gap: .5rem;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02));
}
.ax-chat-list-head h2 {
  margin: 0 0 .2rem;
  font-size: .9rem;
  letter-spacing: .01em;
  color: #d6e5ff;
}
.ax-chat-item {
  border-radius: 12px;
  transition: transform .18s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.ax-chat-item-link {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: .65rem;
  align-items: center;
  padding: .68rem .7rem;
  border: 1px solid rgba(184, 205, 255, .12);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  background: rgba(11, 21, 43, .45);
}
.ax-chat-item:hover .ax-chat-item-link {
  border-color: rgba(172, 201, 255, .38);
  background: rgba(22, 39, 73, .6);
  box-shadow: 0 10px 20px rgba(7, 13, 31, .26);
}
.ax-chat-item.is-active .ax-chat-item-link {
  border-color: rgba(126, 171, 255, .62);
  background: linear-gradient(145deg, rgba(60, 106, 228, .38), rgba(36, 66, 150, .22));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 12px 24px rgba(7, 18, 43, .34);
}
.ax-chat-item.has-unread .ax-chat-item-link {
  border-color: rgba(151, 196, 255, .45);
  background: linear-gradient(150deg, rgba(32, 55, 104, .64), rgba(14, 26, 51, .7));
}
.ax-chat-item.has-unread .ax-chat-item-top strong { color: #f3f8ff; }
.ax-chat-item.has-unread .ax-chat-item-last { color: #d6e5ff; }
.ax-chat-item-avatar {
  position: relative;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: #dff0ff;
  border: 1px solid rgba(176, 203, 255, .35);
  background: linear-gradient(170deg, rgba(99, 129, 231, .55), rgba(45, 77, 173, .5));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 6px 14px rgba(7, 14, 30, .32);
}
.ax-chat-item-status {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(9, 16, 31, .9);
  background: #70d8a2;
}
.ax-chat-item-status.is-group { background: #9dafff; }
.ax-chat-item-status.is-bot { background: #6dd7ce; }
.ax-chat-item-copy { min-width: 0; }
.ax-chat-item-top { display:flex; justify-content:space-between; gap:8px; font-size:.8rem; align-items: baseline; }
.ax-chat-item-top strong { font-size: .9rem; color: #e8f1ff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ax-chat-item-top span { color: var(--ax-muted); font-size: .72rem; white-space: nowrap; }
.ax-chat-item-last { color: color-mix(in srgb, var(--ax-muted) 90%, #fff); font-size:.79rem; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ax-chat-unread {
  background: linear-gradient(180deg, rgba(142, 186, 255, .96), rgba(102, 155, 242, .94));
  color:#10213f;
  border-radius:999px;
  min-width:22px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(211, 232, 255, .42);
  text-align:center;
  font-size:11px;
  padding:0 6px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 0 6px 14px rgba(8, 19, 42, .35);
}

.ax-chat-thread {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 0;
  background: linear-gradient(170deg, rgba(8, 17, 33, 0.46), rgba(8, 17, 33, 0.2));
}
.ax-chat-thread-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  padding: .86rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .11);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.01));
}
.ax-chat-thread-head p {
  margin: .22rem 0 0;
  font-size: .74rem;
  color: var(--ax-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.ax-chat-messages {
  padding: 1rem;
  overflow: auto;
  display: grid;
  gap: .72rem;
  align-content: start;
}
.ax-chat-bubble {
  max-width: min(78%, 700px);
  border: 1px solid rgba(177, 204, 255, .22);
  border-radius: 14px;
  padding: .7rem .8rem;
  background: linear-gradient(160deg, rgba(17, 31, 59, .84), rgba(11, 20, 40, .75));
  box-shadow: 0 12px 20px rgba(7, 13, 31, .22), inset 0 1px 0 rgba(255, 255, 255, .12);
}
.ax-chat-bubble.mine {
  justify-self: end;
  background: linear-gradient(148deg, rgba(63, 102, 214, .5), rgba(42, 72, 166, .34));
  border-color: rgba(159, 196, 255, .5);
}
.ax-chat-bubble-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  font-size: 11px;
  color: var(--ax-muted);
  margin-bottom: .35rem;
}
.ax-chat-sender { color: #e0ecff; font-weight: 600; }
.ax-chat-bubble-body { color: #f2f6ff; line-height: 1.45; }
.ax-chat-attachment {
  margin-top: .56rem;
  border-top: 1px solid rgba(255,255,255,.14);
  padding-top: .5rem;
  font-size: 12px;
}
.ax-chat-attachment a { color: #b8d2ff; text-decoration: none; }
.ax-chat-attachment a:hover { text-decoration: underline; }
.ax-chat-attachment img { max-width:180px; border-radius:8px; display:block; margin-bottom:5px; }
.ax-chat-attachment-preview-link { display: inline-block; }

.ax-chat-composer {
  border-top: 1px solid rgba(255,255,255,.12);
  padding: .78rem .92rem .9rem;
  display: grid;
  gap: .62rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(11, 22, 42, 0.45));
}
.ax-chat-compose-field {
  border-radius: 12px;
  border: 1px solid rgba(167, 196, 255, .28);
  background: rgba(9, 18, 36, .7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09);
  padding: .35rem;
}
.ax-chat-composer textarea {
  width:100%;
  background: transparent;
  border: 0;
  color: #f0f5ff;
  border-radius: 10px;
  padding: .55rem .62rem;
  resize: vertical;
  min-height: 72px;
}
.ax-chat-composer textarea:focus { outline: none; }
.ax-chat-compose-field:focus-within {
  border-color: color-mix(in srgb, var(--ax-primary, #5a6bff) 72%, #fff);
  box-shadow: 0 0 0 3px var(--ax-focus, rgba(90, 124, 255, 0.26));
}
.ax-chat-composer-actions { display:flex; justify-content:space-between; align-items:center; gap: .8rem; }
.ax-chat-attach-btn {
  cursor:pointer;
  font-size:.82rem;
  color:#d4e6ff;
  border: 1px dashed rgba(162, 194, 255, .46);
  border-radius: 999px;
  padding: .4rem .72rem;
  background: rgba(18, 34, 69, .45);
}
.ax-chat-attach-btn input { display:none; }

.ax-chat-empty-state {
  margin: auto;
  text-align: center;
  max-width: 34ch;
  color: var(--ax-muted);
  display: grid;
  gap: .38rem;
  place-items: center;
  padding: 1rem;
}
.ax-chat-empty-state h3 { margin: .1rem 0; font-size: 1rem; color: #e0ebff; }
.ax-chat-empty-state p { margin: 0; font-size: .86rem; line-height: 1.45; }
.ax-chat-empty-state small { font-size: .74rem; color: #9eb5d8; line-height: 1.35; }
.ax-chat-empty-icon {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(162, 192, 255, .34);
  background: rgba(34, 58, 113, .45);
}
.ax-chat-empty-state--list { margin-top: 1.2rem; }
.ax-chat-empty-state--thread { min-height: 190px; }

@media (max-width: 900px) {
  .ax-chat-body { grid-template-columns: 1fr; height: auto !important; min-height: 68vh; }
  .ax-chat-list {
    max-height: 230px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .ax-chat-item-top strong { max-width: 26ch; }
  .ax-chat-bubble { max-width: 90%; }
}

.ax-chat-module { padding: .45rem; }
.ax-chat-layout {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
  min-height: 0;
  height: 100%;
  gap: .75rem;
  overflow: hidden;
}
.ax-chat-layout.is-detail-open {
  grid-template-columns: minmax(280px, 330px) minmax(0, 1fr) minmax(0, 260px);
}
.ax-chat-list--premium {
  border: 1px solid rgba(173, 201, 255, .2);
  border-radius: 16px;
  padding: .78rem;
  display: grid;
  gap: .72rem;
  align-content: start;
  min-height: 0;
  max-height: none;
  height: 100%;
  background: linear-gradient(180deg, rgba(8,17,34,.56), rgba(8,15,31,.78));
}
.ax-chat-list-head p { margin: .2rem 0 0; }
.ax-chat-search input {
  width: 100%;
  border-radius: 11px;
  border: 1px solid rgba(160,191,255,.25);
  background: rgba(11,20,39,.62);
  color: #e8f1ff;
  padding: .62rem .72rem;
  font-size: .85rem;
}
.ax-chat-sidebar-actions { display: grid; grid-template-columns: 1fr; gap: .45rem; }
.ax-chat-new-btn {
  min-height: 40px;
  padding: .62rem .78rem;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .01em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(24, 58, 133, .34);
}
.ax-chat-new-btn:hover { transform: translateY(-1px); }
.ax-chat-new-btn:focus-visible { outline: 2px solid color-mix(in srgb, var(--ax-primary) 60%, #d7e6ff); outline-offset: 1px; }
.ax-chat-group-creator {
  border: 1px solid rgba(165,194,255,.15);
  border-radius: 12px;
  background: rgba(15,24,45,.45);
  overflow: hidden;
}
.ax-chat-group-creator summary {
  list-style: none;
  cursor: pointer;
  padding: .5rem .65rem;
  font-size: .84rem;
  color: #d9e9ff;
}
.ax-chat-group-creator summary::-webkit-details-marker { display:none; }
.ax-chat-group-creator[open] summary { border-bottom: 1px solid rgba(165,194,255,.15); }
.ax-chat-list-block { display: grid; gap: .45rem; }
.ax-chat-list-block-head { display:flex; justify-content:space-between; align-items:center; }
.ax-chat-list-block-head h3 { margin:0; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:#abc2e8; }
.ax-chat-list-counter {
  min-width: 22px;
  height: 20px;
  border-radius: 999px;
  border: 1px solid rgba(162, 192, 255, .3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 .4rem;
  font-size: .66rem;
  font-weight: 700;
  color: #d9ebff;
  background: rgba(22, 39, 72, .55);
}
.ax-chat-list-block-head a { font-size:.78rem; text-decoration:none; color:#b8d2ff; }

.ax-chat-files-actions {
  text-align: center;
  white-space: nowrap;
}
.ax-chat-files-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  min-height: var(--ax-control-height-sm);
  padding: 0 .78rem;
  border-radius: 9px;
  line-height: 1;
}
.ax-chat-files-download-btn:visited {
  color: var(--ax-text);
}
.ax-chat-files-download-btn:hover {
  text-decoration: none;
}
.ax-chat-files-download-btn:focus-visible {
  text-decoration: none;
}
.ax-chat-item.is-group .ax-chat-item-avatar { background: linear-gradient(150deg, rgba(107,82,255,.8), rgba(57,120,255,.85)); }
.ax-chat-item-link { border-radius: 12px; padding: .45rem .55rem; gap: .55rem; }
.ax-chat-item-link { min-height: 68px; }
.ax-chat-item-link:focus-visible {
  outline: 2px solid rgba(188, 215, 255, .85);
  outline-offset: 2px;
}
.ax-chat-item-top strong { font-size: .86rem; }
.ax-chat-item-time { opacity: .82; }
.ax-chat-item-last { margin-top: 2px; font-size: .75rem; line-height: 1.32; }
.ax-chat-item-meta { margin-top: 5px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ax-chat-item-members { font-size: .66rem; color: #9bb4da; }
.ax-chat-typing-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: .64rem;
  color: #9ed7ff;
  border: 1px solid rgba(128, 194, 255, .35);
  border-radius: 999px;
  padding: 2px 7px;
  background: rgba(12, 40, 74, .4);
}
.ax-chat-typing-chip span {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  opacity: .55;
  animation: ax-chat-dot-pulse 1s infinite ease-in-out;
}
.ax-chat-typing-chip span:nth-child(2) { animation-delay: .16s; }
.ax-chat-typing-chip span:nth-child(3) { animation-delay: .32s; }
.ax-chat-presence-chip {
  font-size: .64rem;
  border: 1px solid rgba(132, 212, 173, .42);
  color: #9fe6c5;
  border-radius: 999px;
  padding: 2px 6px;
  background: rgba(23, 53, 43, .38);
}
.ax-chat-type-chip {
  font-size: .67rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid rgba(145,172,228,.38);
  border-radius: 999px;
  padding: 2px 7px;
  color: #b9cff1;
  background: rgba(17, 33, 63, .36);
}
.ax-chat-item.is-kind-bot .ax-chat-type-chip { border-color: rgba(124, 224, 195, .45); color: #9de9d2; }
.ax-chat-item.is-kind-group .ax-chat-type-chip { border-color: rgba(170, 148, 255, .48); color: #c8b8ff; }
.ax-chat-item.is-kind-internal .ax-chat-type-chip { border-color: rgba(145,172,228,.38); color: #b9cff1; }
.ax-chat-item.is-kind-bot .ax-chat-item-avatar {
  background: linear-gradient(150deg, rgba(57, 157, 122, .82), rgba(44, 97, 157, .82));
}
.ax-chat-thread--premium {
  border: 1px solid rgba(173, 201, 255, .2);
  border-radius: 16px;
  overflow: hidden;
  min-height: 0;
  height: 100%;
  background: linear-gradient(180deg, rgba(8,17,34,.62), rgba(8,15,31,.85));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.ax-chat-thread-head { padding: .7rem .9rem; border-bottom: 1px solid rgba(173, 201, 255, .15); background: rgba(9,18,37,.72); }
.ax-chat-thread-head-main { display: grid; gap: .12rem; }
.ax-chat-thread-identity { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: .65rem; align-items: center; }
.ax-chat-thread-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #e4f0ff;
  border: 1px solid rgba(173, 201, 255, .35);
  background: linear-gradient(150deg, rgba(82, 118, 221, .72), rgba(37, 69, 161, .6));
}
.ax-chat-thread-title-row { display: grid; gap: .3rem; }
.ax-chat-thread-badges { display: inline-flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.ax-chat-live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .63rem;
  color: #a8d8ff;
  border: 1px solid rgba(132, 198, 255, .38);
  border-radius: 999px;
  padding: 2px 8px;
  background: rgba(15, 42, 76, .33);
}
.ax-chat-live-indicator.is-idle {
  color: #9db3d6;
  border-color: rgba(151, 177, 219, .3);
  background: rgba(17, 29, 52, .35);
}
.ax-chat-live-indicator span {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  opacity: .6;
  animation: ax-chat-dot-pulse 1s infinite ease-in-out;
}
.ax-chat-live-indicator span:nth-child(2) { animation-delay: .16s; }
.ax-chat-live-indicator span:nth-child(3) { animation-delay: .32s; }
.ax-chat-thread-head-main strong { font-size: 1rem; line-height: var(--ax-lh-tight); }
.ax-chat-thread-head-main p { font-size: .79rem; color: #9eb5d9; line-height: var(--ax-lh-normal); }
.ax-chat-thread-actions { display:flex; gap:.4rem; }
.ax-chat-thread-actions .ax-chat-action-btn { text-decoration: none; }
.ax-chat-thread-actions .ax-chat-action-btn { min-height: 34px; }
.ax-chat-type-chip--header { font-size: .62rem; padding: 1px 8px; }
.ax-chat-type-chip--inline { font-size: .56rem; margin-left: .35rem; vertical-align: middle; }
.ax-chat-action-btn {
  border-color: rgba(160,191,255,.26);
  background: rgba(15, 28, 53, .62);
  color: #d6e8ff;
}
.ax-chat-messages { padding: 1rem 1.05rem; gap: .62rem; }
.ax-chat-messages {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
.ax-chat-date-separator { text-align: center; margin: .3rem 0; }
.ax-chat-date-separator span {
  display: inline-block;
  font-size: .67rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #95add1;
  background: rgba(11,20,39,.55);
  border: 1px solid rgba(160,191,255,.2);
  border-radius: 999px;
  padding: .2rem .55rem;
}
.ax-chat-bubble {
  max-width: 76%;
  border-radius: 16px 16px 16px 8px;
  padding: .68rem .8rem;
  margin-bottom: .09rem;
  border-color: rgba(165, 190, 236, .24);
  background: linear-gradient(155deg, rgba(17, 30, 54, .9), rgba(10, 19, 37, .84));
}
.ax-chat-bubble.mine { margin-left: auto; border-radius: 16px 16px 8px 16px; }
.ax-chat-bubble.is-bot { border-color: rgba(109, 215, 206, .45); }
.ax-chat-bubble.is-compact { margin-top: -2px; }
.ax-chat-bubble.is-compact .ax-chat-sender { opacity: .7; }
.ax-chat-bubble-meta { font-size: .68rem; margin-bottom: .24rem; line-height: 1.25; }
.ax-chat-bubble-time { opacity: .65; }
.ax-chat-delivery-state {
  margin-left: .45rem;
  color: #9dd8bb;
  opacity: .9;
  font-weight: 600;
}
.ax-chat-sender { display: inline-flex; align-items: center; gap: .15rem; }
.ax-chat-bubble-body { font-size: .9rem; line-height: 1.45; }
.ax-chat-composer { border-top: 1px solid rgba(173, 201, 255, .15); padding: .6rem .75rem; background: linear-gradient(180deg, rgba(9,17,33,.76), rgba(7,14,28,.92)); }
.ax-chat-compose-field {
  border-radius: 14px;
  background: rgba(10,19,38,.88);
  border: 1px solid rgba(160,191,255,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 8px 18px rgba(4, 9, 19, .24);
}
.ax-chat-composer textarea { min-height: 46px; font-size: .9rem; line-height: var(--ax-lh-normal); padding: .62rem .7rem; }
.ax-chat-composer textarea::placeholder { color: #94abd0; }
.ax-chat-composer-status {
  font-size: .69rem;
  color: #92aacd;
  min-height: 1em;
  letter-spacing: .02em;
}
.ax-chat-composer-status.is-typing { color: #9fd4ff; }
.ax-chat-composer-status.is-error { color: #ffb5b8; }
.ax-chat-composer-actions { justify-content: space-between; gap: .45rem; margin-top: .45rem; }
.ax-chat-composer-tools { display: inline-flex; gap: .4rem; align-items: center; }
.ax-chat-compose-tip { font-size: .67rem; color: #93acd0; letter-spacing: .01em; }
.ax-chat-emoji-wrap { position: relative; }
.ax-chat-emoji-picker {
  position: absolute;
  left: 0;
  bottom: calc(100% + .35rem);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .25rem;
  width: 180px;
  padding: .36rem;
  border-radius: 10px;
  border: 1px solid rgba(160,191,255,.28);
  background: rgba(9,17,33,.95);
  box-shadow: 0 8px 20px rgba(2, 8, 19, .36);
  z-index: 5;
}
.ax-chat-emoji-picker[hidden] { display: none !important; }
.ax-chat-emoji-picker button {
  border: 0;
  border-radius: 8px;
  background: rgba(18, 34, 69, .38);
  color: #f6fbff;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  min-height: 28px;
}
.ax-chat-emoji-picker button:hover { background: rgba(40, 75, 144, .58); }
.ax-chat-icon-btn,
.ax-chat-attach-btn { width: 38px; height: 34px; border-radius: 10px; padding: 0; justify-content: center; }
.ax-chat-icon-btn {
  border: 1px solid rgba(160,191,255,.24);
  background: rgba(13, 24, 45, .6);
  color: #d2e3ff;
}
.ax-chat-icon-btn:hover,
.ax-chat-attach-btn:hover {
  border-color: rgba(175, 204, 255, .55);
  background: rgba(24, 42, 78, .74);
}
.ax-chat-attach-btn span { font-size: 1rem; line-height: 1; }
.ax-chat-attach-btn span[aria-hidden="true"] { font-size: 1.05rem; }
.ax-chat-composer--upload-variant .ax-chat-attach-btn {
  border: 1px solid rgba(166, 197, 255, .3);
  background: rgba(10, 21, 44, .74);
  color: #daebff;
}
.ax-chat-send-btn {
  width: 40px;
  height: 36px;
  min-width: 40px;
  border-radius: 11px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.ax-chat-send-btn svg { width: 17px; height: 17px; fill: currentColor; }
.ax-chat-send-btn:hover { transform: translateY(-1px); }
.ax-chat-send-btn:focus-visible { outline: 2px solid color-mix(in srgb, var(--ax-primary) 58%, #e4eeff); outline-offset: 1px; }
.ax-chat-file-chip {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  max-width: 100%;
  border: 1px solid rgba(157,189,246,.32);
  border-radius: 10px;
  padding: .22rem .44rem;
  background: rgba(14, 25, 46, .72);
  color: #d9e9ff;
  font-size: .74rem;
}
.ax-chat-file-chip--variant { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
.ax-chat-file-chip.is-ready { border-color: rgba(130, 214, 179, .52); }
.ax-chat-file-chip.is-uploading { border-color: rgba(125, 198, 255, .56); }
.ax-chat-file-chip.is-error { border-color: rgba(255, 165, 173, .6); }
.ax-chat-file-chip span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(60vw, 380px);
}
.ax-chat-file-chip-state {
  color: #a7c9f7;
  font-size: .68rem;
  letter-spacing: .01em;
}
.ax-chat-file-chip.is-ready .ax-chat-file-chip-state { color: #95dfbf; }
.ax-chat-file-chip.is-uploading .ax-chat-file-chip-state { color: #8ed1ff; }
.ax-chat-file-chip.is-error .ax-chat-file-chip-state { color: #ffb5be; }
.ax-chat-file-chip button {
  border: 0;
  border-radius: 8px;
  background: rgba(155, 188, 247, .24);
  color: #eaf4ff;
  width: 22px;
  height: 22px;
  cursor: pointer;
}
.ax-chat-file-chip button:hover { background: rgba(171, 202, 255, .4); }
.ax-chat-file-hint {
  font-size: .66rem;
  color: #8fa7ca;
}
.ax-chat-group-form {
  border: 0;
  border-radius: 0;
  padding: .58rem;
  background: transparent;
  display: grid;
  gap: .48rem;
}
.ax-chat-group-form input[type="text"] {
  border-radius: 10px;
  border: 1px solid rgba(160,191,255,.25);
  background: rgba(10,20,36,.72);
  color: #ecf4ff;
  padding: .52rem .58rem;
}
.ax-chat-group-members {
  max-height: 130px;
  overflow: auto;
  display: grid;
  gap: .3rem;
  padding-right: .2rem;
}
.ax-chat-group-option { display:flex; align-items:center; gap:.45rem; font-size:.82rem; color:#d5e6ff; }
.ax-chat-group-option input { accent-color: #739eff; }
.ax-chat-detail {
  border: 1px solid rgba(173, 201, 255, .2);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(10,20,38,.58), rgba(9,16,29,.8));
  padding: .72rem;
  display: none;
  gap: .45rem;
  align-content: start;
  min-height: 0;
  overflow: auto;
}
.ax-chat-layout.is-detail-open .ax-chat-detail { display: grid; }
.ax-chat-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.ax-chat-detail-close {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(160,191,255,.26);
  background: rgba(15, 28, 53, .62);
  color: #d6e8ff;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
.ax-chat-detail-close:hover { background: rgba(32, 52, 88, .72); }
.ax-chat-detail h4 { margin: 0; font-size: .8rem; color: #a9c1e5; text-transform: uppercase; letter-spacing: .06em; }
.ax-chat-detail p { margin: 0; font-size: .83rem; color: #dbe9ff; }
.ax-chat-detail ul { margin: .2rem 0 0; padding-left: 1rem; color: #9eb5d9; display: grid; gap: .2rem; font-size: .76rem; }
@media (max-width: 1100px) {
  .ax-chat-layout { grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); }
  .ax-chat-layout.is-detail-open { grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); }
  .ax-chat-detail { display: none; }
  .ax-chat-list--premium { max-height: none; }
}
@media (max-width: 760px) {
  .ax-main--chat {
    height: auto;
    min-height: calc(100vh - 10px);
    overflow: visible;
  }
  .ax-content.ax-content--chat { padding: .3rem; }
  .ax-chat-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: calc(100vh - 150px);
    overflow: visible;
  }
  .ax-chat-list--premium {
    max-height: 34vh;
    overflow: auto;
  }
  .ax-chat-thread--premium {
    min-height: clamp(340px, 58vh, 720px);
    height: 100%;
  }
  .ax-chat-item-link { padding: .5rem; }
  .ax-chat-list-counter { min-width: 20px; }
  .ax-chat-bubble { max-width: 88%; }
  .ax-chat-thread-head { flex-wrap: wrap; gap: .45rem; }
  .ax-chat-thread-identity { grid-template-columns: 40px minmax(0, 1fr); }
  .ax-chat-thread-avatar { width: 40px; height: 40px; border-radius: 10px; }
  .ax-chat-composer-actions { flex-wrap: nowrap; }
  .ax-chat-compose-tip { display: none; }
  .ax-chat-send-btn {
    width: 40px;
    min-width: 40px;
    margin-left: auto;
  }
}

@keyframes ax-chat-dot-pulse {
  0%, 60%, 100% { transform: translateY(0); opacity: .35; }
  30% { transform: translateY(-1px); opacity: 1; }
}

.services-dashboard { display: grid; gap: 1rem; }
.services-dashboard-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; }
.services-dashboard-filters { max-width: none; grid-template-columns: repeat(6, minmax(0,1fr)); align-items:end; }
.services-kpi-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:.8rem; }
.services-kpi-card p { margin:.2rem 0; font-size:1.5rem; color:#eef4ff; }
.services-kpi-card small { color:#9ab0d3; }
.services-status-cards { display:grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap:.65rem; }
.services-status-item { background:rgba(17,24,38,.55); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:.65rem; display:flex; justify-content:space-between; align-items:center; }
.services-status-item strong { font-size:1.1rem; }
.services-urgent-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:.8rem; }
.services-list, .services-activity-list { list-style:none; margin:.6rem 0 0; padding:0; display:grid; gap:.55rem; }
.services-list li, .services-activity-list li { display:flex; justify-content:space-between; gap:.6rem; border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:.45rem; }
.services-two-col { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.8rem; }


.services-dashboard .ax-panel { min-width: 0; }
.services-dashboard-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  margin-top: .55rem;
}
.services-dashboard-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
.services-dashboard-table th,
.services-dashboard-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.services-dashboard-table th:first-child,
.services-dashboard-table td:first-child {
  width: 40%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.services-dashboard-table th:not(:first-child),
.services-dashboard-table td:not(:first-child) {
  text-align: right;
}


.services-download-app { display:grid; gap:1rem; }
.services-download-app__head h1 { margin:0 0 .4rem; }
.services-download-app__head p { margin:0; color:#b8c9e4; }
.services-download-app__layout { display:grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,.95fr); gap:1rem; align-items:stretch; }
.services-download-app__info,
.services-download-app__qr { background:rgba(14,21,34,.55); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:1rem; }
.services-download-app__meta { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.7rem; margin-bottom:1rem; }
.services-download-app__meta div { background:rgba(6,13,25,.55); border:1px solid rgba(150,186,255,.16); border-radius:10px; padding:.65rem .75rem; display:grid; gap:.2rem; }
.services-download-app__meta span { color:#97afcf; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }
.services-download-app__meta strong { color:#eef4ff; font-size:1rem; }
.services-download-app__changelog h2,
.services-download-app__qr h2 { margin:0 0 .65rem; font-size:1rem; }
.services-download-app__changelog ul { margin:0; padding-left:1.1rem; display:grid; gap:.4rem; color:#d6e5fb; }
.services-download-app__actions { margin-top:1rem; display:grid; gap:.45rem; justify-items:start; }
.services-download-app__actions .ax-btn { text-decoration:none; }
.services-download-app__note { margin:.35rem 0 0; font-size:.9rem; color:#aac0de; }
.services-download-app__qr { display:grid; gap:.65rem; align-content:start; }
.services-download-app__qr img { width:100%; max-width:280px; border-radius:12px; border:1px solid rgba(255,255,255,.11); background:#0a1120; justify-self:center; }

@media (max-width: 1100px) {
  .services-dashboard-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .services-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .services-status-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .services-urgent-grid, .services-two-col { grid-template-columns: 1fr; }
  .services-download-app__layout { grid-template-columns: 1fr; }
  .services-download-app__meta { grid-template-columns: 1fr; }
  .services-dashboard-table th,
  .services-dashboard-table td { white-space: normal; }
}
@media (max-width: 900px) {
  .ax-rbac-grid { grid-template-columns: 1fr; }
}


a { color: var(--ax-link); }
a:hover { color: var(--ax-link-hover); }
* { scrollbar-color: var(--ax-scrollbar) var(--ax-scrollbar-track); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--ax-scrollbar); border-radius: 999px; }
*::-webkit-scrollbar-track { background: var(--ax-scrollbar-track); }
::selection { background: color-mix(in srgb, var(--ax-primary) 35%, transparent); color: var(--ax-text); }
.ax-panel canvas, .ax-chart { --ax-chart-color-1: var(--ax-chart-1); --ax-chart-color-2: var(--ax-chart-2); --ax-chart-color-3: var(--ax-chart-3); --ax-chart-color-4: var(--ax-chart-4); --ax-chart-color-5: var(--ax-chart-5); }

.rrhh-employee-form-shell {
  width: 100%;
  max-width: 100%;
}

.rrhh-employee-form-shell .ax-form.rrhh-employee-form {
  width: 100%;
  max-width: none;
  margin-top: .45rem;
}

.rrhh-employee-grid-main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.rrhh-employee-grid-schedule {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.rrhh-employee-section {
  margin-top: .75rem;
  padding: 1rem;
}

.rrhh-employee-section-title {
  margin: 0 0 .65rem 0;
}

.rrhh-employee-section-help {
  margin-top: .65rem;
}

.rrhh-employee-address-field {
  display: grid;
  gap: .35rem;
}

.rrhh-employee-address-textarea {
  min-height: 96px;
  resize: vertical;
}

.rrhh-employee-map-link-wrap {
  margin: .65rem 0 0 0;
}

.rrhh-employee-workdays-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}

.rrhh-employee-contracting-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.rrhh-employee-contracting-field {
  display: grid;
  gap: .38rem;
}

.rrhh-employee-actions {
  margin-top: .9rem;
  display: flex;
  justify-content: flex-end;
}

.rrhh-talent-form {
  width: 100%;
  max-width: none;
}

.rrhh-talent-form__grid {
  gap: .75rem;
}

.rrhh-talent-form__file-field input[type='file'] {
  min-height: 44px;
}

.rrhh-talent-form__actions {
  justify-content: flex-end;
  margin-top: .2rem;
}

@media (max-width: 1200px) {
  .rrhh-talent-form__grid .ax-span-3 {
    grid-column: span 4;
  }
}

@media (max-width: 920px) {
  .rrhh-talent-form__grid .ax-span-3 {
    grid-column: span 6;
  }
}

@media (max-width: 640px) {
  .rrhh-talent-form__grid .ax-span-3,
  .rrhh-talent-form__grid .ax-span-12 {
    grid-column: 1 / -1;
  }
  .rrhh-talent-form__actions {
    justify-content: stretch;
  }
  .rrhh-talent-form__actions .crm-btn {
    width: 100%;
  }
}

@media (max-width: 920px) {
  .ax-form-grid--legacy-3col {
    --ax-form-grid-columns: 2;
  }
}

@media (max-width: 640px) {
  .ax-form-grid--legacy-3col {
    --ax-form-grid-columns: 1;
  }
  .crm-prospect-form {
    grid-template-columns: 1fr;
  }
  .crm-prospect-form > * {
    grid-column: 1 / -1;
  }
  .ax-form-grid--legacy-3col .span-2,
  .ax-form-grid--legacy-3col .span-3 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1200px) {
  .rrhh-employee-grid-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rrhh-employee-grid-schedule {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rrhh-employee-workdays-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rrhh-employee-contracting-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .rrhh-employee-grid-main,
  .rrhh-employee-grid-schedule {
    grid-template-columns: 1fr;
  }
  .rrhh-employee-workdays-grid {
    grid-template-columns: 1fr;
  }
  .rrhh-employee-actions {
    justify-content: flex-start;
  }
}

.services-lite-portal-body {
  --services-lite-bottom-nav-height: 132px;
}

.services-lite {
  width: min(100%, 980px);
  max-width: 100%;
  margin-inline: auto;
}
.services-lite__head h1,
.services-lite__head h2,
.services-lite__head p,
.services-lite h1,
.services-lite h2,
.services-lite h3,
.services-lite p,
.services-lite small,
.services-lite label,
.services-lite span {
  overflow-wrap: anywhere;
}
.services-lite__head p { margin-top: .2rem; color: var(--ax-muted, #9fb0de); }
.services-lite-kpis {
  display: grid;
  grid-template-columns: 1fr;
  gap: .6rem;
  margin: .95rem 0 1rem;
}
.services-lite-kpi-card { border-radius: .9rem; border: 1px solid rgba(140,180,235,.24); background: rgba(12,23,39,.78); padding: .75rem; min-height: 84px; }
.services-lite-kpi-card p { margin: 0; color: var(--ax-muted, #a4b8dc); font-size: .78rem; }
.services-lite-kpi-card strong { display: block; margin-top: .28rem; font-size: 1.25rem; line-height: 1.1; }
.services-lite-list-block { display: grid; gap: .7rem; min-width: 0; }
.services-lite-list-head h2 { margin: 0; font-size: 1rem; }
.services-lite-list-head p { margin: .25rem 0 0; color: var(--ax-muted, #a4b8dc); font-size: .82rem; }
.services-lite-list { display: grid; gap: .8rem; min-width: 0; }
.services-lite-card { border-radius: 1rem; border: 1px solid rgba(140,180,235,.22); background: rgba(12,23,39,.8); padding: .85rem; min-width: 0; }
.services-lite-card__link { display: block; color: inherit; text-decoration: none; min-width: 0; }
.services-lite-card__head { display: flex; justify-content: space-between; gap: .6rem; align-items: flex-start; margin-bottom: .4rem; min-width: 0; }
.services-lite-card h3 { margin: 0; font-size: 1rem; line-height: 1.25; }
.services-lite-card p { margin: .35rem 0; color: var(--ax-muted, #a4b8dc); }
.services-lite-card__description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.services-lite-card__fields {
  display: grid;
  gap: .35rem;
  margin: .45rem 0 .5rem;
  grid-template-columns: 1fr;
}
.services-lite-card__fields p { margin: 0; font-size: .84rem; }
.services-lite-card__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  align-items: center;
}
.services-lite-card__meta small {
  grid-column: 1 / -1;
}
.services-lite-badge {
  font-size: .72rem;
  padding: .2rem .5rem;
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.services-lite-badge--status { background: rgba(58,117,177,.35); }
.services-lite-badge--priority { background: rgba(125,83,176,.35); justify-self: start; }
.services-lite-take-form { margin-top: .75rem; }
.services-lite-take-form .ax-btn { width: 100%; min-height: 44px; }
.services-lite-load-more-wrap { margin-top: .35rem; }
.services-lite-load-more-wrap .ax-btn { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
.services-lite-load-more-wrap .ax-btn.is-loading { opacity: .65; pointer-events: none; }
.services-lite-detail-grid {
  display: grid;
  gap: .55rem;
  margin-bottom: 1rem;
  grid-template-columns: 1fr;
}
.services-lite-detail-grid > p {
  margin: 0;
  border: 1px solid rgba(140,180,235,.16);
  border-radius: .75rem;
  background: rgba(10, 20, 36, .55);
  padding: .6rem .65rem;
}
.services-lite-detail-grid > p:last-child {
  grid-column: 1 / -1;
}
.services-lite-form {
  display: grid;
  gap: .55rem;
  margin: .9rem 0;
}
.services-lite-form label {
  display: grid;
  gap: .35rem;
  font-size: .9rem;
}
.services-lite-form input,
.services-lite-form select,
.services-lite-form textarea {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
.services-lite-form textarea {
  min-height: 108px;
  resize: vertical;
}
.services-lite-form .ax-btn { width: 100%; min-height: 46px; }
.services-lite-back { display: inline-block; margin-bottom: .2rem; }
.services-lite-comments {
  display: grid;
  gap: .6rem;
  margin-top: .45rem;
}
.services-lite-comment { border: 1px solid rgba(140,180,235,.18); border-radius: .8rem; padding: .7rem; background: rgba(11,18,32,.62); }
.services-lite-comment small { display: block; color: var(--ax-muted, #a4b8dc); margin-top: .2rem; }
.services-lite-comment p { margin: .45rem 0 0; }
.services-lite-placeholder h2 { margin-top: 0; }
.services-lite-placeholder p:last-child { margin-bottom: 0; }

.services-lite-portal-body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at top, rgba(32, 57, 96, .38), rgba(8, 13, 22, .96));
}
.services-lite-portal {
  max-width: 900px;
  margin: 0 auto;
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: .75rem .75rem calc(var(--services-lite-bottom-nav-height) + 1rem);
  box-sizing: border-box;
}
.services-lite-portal__top-meta {
  display: flex;
  justify-content: flex-end;
  padding: .05rem 0 .55rem;
}
.services-lite-portal__content {
  padding-bottom: 1rem;
  min-width: 0;
}
.services-lite-portal__panel {
  border: 1px solid rgba(140,180,235,.24);
  background: rgba(10,20,36,.72);
  border-radius: 1rem;
  padding: .85rem;
  min-width: 0;
}
.services-lite-login-shell {
  display: grid;
  gap: .8rem;
  align-items: stretch;
  max-width: 1040px;
  margin: 0 auto;
}
.services-lite-login-card {
  padding: clamp(1rem, 4vw, 1.55rem);
  border-radius: 1.15rem;
  background:
    linear-gradient(154deg, rgba(255,255,255,.12), rgba(255,255,255,.03) 35%),
    linear-gradient(180deg, rgba(10,20,36,.88), rgba(6, 14, 28, .84));
  border-color: rgba(147, 186, 240, .3);
  box-shadow: 0 24px 46px rgba(4, 9, 18, .35), inset 0 1px 0 rgba(255,255,255,.12);
}
.services-lite-login__head {
  display: grid;
  gap: .45rem;
  margin-bottom: .85rem;
}
.services-lite-login__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .69rem;
  font-weight: 620;
  color: color-mix(in srgb, var(--ax-accent, #8ab5ff) 65%, #d4e8ff);
}
.services-lite-login h2 {
  margin: 0;
  font-size: clamp(1.4rem, 4vw, 1.92rem);
  letter-spacing: .01em;
  line-height: 1.1;
}
.services-lite-login__subtitle {
  margin: 0;
  font-size: .92rem;
  line-height: 1.52;
  color: color-mix(in srgb, var(--ax-muted, #9fb0de) 80%, #dcecff);
}
.services-lite-login__form {
  margin: 0;
  gap: .72rem;
}
.services-lite-login__form label {
  gap: .42rem;
  font-size: .79rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: color-mix(in srgb, #adc4f3 74%, #eff5ff);
}
.services-lite-login__form input {
  min-height: 48px;
  border-radius: .86rem;
  border: 1px solid rgba(124, 159, 226, .48);
  background: linear-gradient(180deg, rgba(10, 21, 38, .9), rgba(8, 17, 30, .7));
  color: #f2f7ff;
  padding: .76rem .85rem;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.services-lite-login__form input::placeholder {
  color: color-mix(in srgb, #9fb0de 68%, #e5efff);
}
.services-lite-login__form input:focus {
  outline: none;
  border-color: rgba(128, 172, 255, .95);
  box-shadow: 0 0 0 3px rgba(85, 133, 224, .22), inset 0 1px 0 rgba(255,255,255,.15);
}
.services-lite-login__form .ax-btn {
  min-height: 50px;
  margin-top: .22rem;
  border-radius: .9rem;
  font-size: .95rem;
  letter-spacing: .02em;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(32, 58, 128, .4);
}
.services-lite-login-aside {
  display: grid;
  align-content: center;
  gap: .68rem;
  border-radius: 1.15rem;
  border-color: rgba(124, 164, 230, .24);
  background:
    radial-gradient(circle at 8% 8%, rgba(94, 138, 235, .16), transparent 55%),
    linear-gradient(182deg, rgba(13, 23, 41, .9), rgba(8, 16, 29, .86));
}
.services-lite-login-aside__kicker {
  margin: 0;
  font-size: .72rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: color-mix(in srgb, #8fb7f8 78%, #d9ebff);
}
.services-lite-login-aside h3 {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.3;
}
.services-lite-login-aside p {
  margin: 0;
  color: color-mix(in srgb, var(--ax-muted, #9fb0de) 83%, #e7f1ff);
  font-size: .9rem;
  line-height: 1.55;
}
.services-lite-login-aside ul {
  margin: .1rem 0 0;
  padding: 0 0 0 1rem;
  display: grid;
  gap: .32rem;
  color: color-mix(in srgb, #c7dafc 90%, #eef5ff);
  font-size: .84rem;
}
.services-lite-login-aside li::marker {
  color: color-mix(in srgb, #7eb2ff 85%, #d5e7ff);
}
.services-lite-portal__bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  padding: .6rem .7rem calc(.65rem + env(safe-area-inset-bottom));
  background: rgba(7, 11, 18, .9);
  border-top: 1px solid rgba(140,180,235,.2);
  z-index: 40;
  box-sizing: border-box;
}
.services-lite-portal__bottom-form { margin: 0; }
.services-lite-portal__bottom-link {
  text-align: center;
  text-decoration: none;
  border-radius: .75rem;
  padding: .45rem .28rem;
  background: rgba(25,43,67,.72);
  color: #d8e8ff;
  font-weight: 600;
  display: grid;
  gap: .18rem;
  justify-items: center;
  min-height: 58px;
}
.services-lite-portal__bottom-button {
  width: 100%;
  border: 0;
  cursor: pointer;
  font: inherit;
}
.services-lite-portal__bottom-icon { font-size: 1rem; line-height: 1; }
.services-lite-portal__bottom-label { font-size: .69rem; line-height: 1.15; white-space: nowrap; }
.services-lite-portal__bottom-link.active,
.services-lite-portal__bottom-button.active {
  background: linear-gradient(180deg, rgba(53,99,157,.9), rgba(33,69,112,.94));
}

.services-lite-login input { width: 100%; min-height: 44px; }

@media (min-width: 420px) {
  .services-lite-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 720px) {
  .services-lite-portal-body {
    --services-lite-bottom-nav-height: 98px;
  }
  .services-lite-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
  }
  .services-lite-card__fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .75rem;
  }
  .services-lite-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .services-lite-portal {
    padding: .95rem 1rem calc(var(--services-lite-bottom-nav-height) + 1rem);
  }
  .services-lite-portal__panel {
    padding: 1rem;
  }
  .services-lite-login-shell {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: .95rem;
  }
  .services-lite-portal__bottom-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding-inline: 1rem;
  }
}

@media (min-width: 980px) {
  .services-lite-portal {
    max-width: 1100px;
    padding: 1rem 1.2rem calc(var(--services-lite-bottom-nav-height) + 1rem);
  }
  .services-lite {
    width: min(100%, 1020px);
  }
  .services-lite-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .services-lite-list {
    gap: .9rem;
  }
  .services-lite-card {
    padding: .95rem;
  }
  .services-lite-portal__content {
    display: grid;
    align-content: center;
  }
  .services-lite-login-shell {
    min-height: min(75vh, 640px);
    gap: 1rem;
  }
}

@media (max-width: 719px) {
  .services-lite-login-aside {
    display: none;
  }
}

/* =========================================================
 * CAPA 5 · LEGACY / COMPATIBILIDAD RESPONSIVE
 * (mantiene rutas legacy y shell móvil sin rediseño)
 * ======================================================= */
@media (max-width: 1200px) {
  .ax-main {
    margin: 0;
    padding: 0;
  }

  .ax-content {
    --ax-content-padding-x: 1rem;
    --ax-content-padding-y: .95rem;
  }
}




@media (max-width: 1279px) {
  .ax-shell {
    gap: 0;
    padding: 0;
  }

  .ax-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100dvh;
    width: clamp(248px, 78vw, 320px);
    max-width: calc(100vw - 2.25rem);
    flex-basis: auto;
    border-radius: 0 20px 20px 0;
    z-index: 2200;
    transform: translateX(-110%);
    transition: transform .24s ease;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
    overflow: hidden;
    overscroll-behavior: contain;
    will-change: transform;
  }

  .ax-sidebar .ax-label,
  .ax-sidebar .ax-user-meta,
  .ax-sidebar .ax-brand-block small,
  .ax-sidebar .ax-brand-block strong {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }

  .ax-sidebar .ax-brand-block,
  .ax-sidebar .ax-nav-item,
  .ax-sidebar .ax-sidebar-toggle {
    justify-content: flex-start;
  }

  .ax-sidebar .ax-brand-meta {
    display: block;
  }

  .ax-sidebar .ax-icon {
    min-width: 28px;
  }

  .ax-sidebar .ax-nav-logout .ax-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    visibility: visible;
  }

  body.ax-sidebar-open .ax-sidebar {
    transform: translateX(0);
  }

  .ax-sidebar-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    border: 0;
    margin: 0;
    background: var(--ax-shell-backdrop);
    opacity: 0;
    pointer-events: none;
    z-index: 2100;
    transition: opacity .2s ease;
  }

  body.ax-sidebar-open .ax-sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  body.ax-sidebar-open {
    overflow: hidden;
  }

  .ax-main {
    margin: 0;
    padding: .5rem;
    width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .ax-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-auto-rows: auto;
    height: auto;
    min-height: 58px;
    align-items: center;
    gap: .5rem;
    padding: .56rem .68rem;
  }

  .ax-mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-size: 1.18rem;
    line-height: 1;
    border-radius: 10px;
    border: 1px solid var(--ax-field-border);
    background: var(--ax-field-bg);
    color: var(--ax-text);
    cursor: pointer;
    touch-action: manipulation;
  }

  .ax-mobile-menu-toggle.is-open {
    background: color-mix(in srgb, var(--ax-primary) 24%, var(--ax-field-bg));
    color: var(--ax-text);
    border-color: color-mix(in srgb, var(--ax-primary) 45%, var(--ax-field-border));
  }

  .ax-header-left {
    min-width: 0;
  }

  .ax-header-brand {
    min-width: 0;
    font-size: .92rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ax-topnav-services {
    grid-column: 1 / -1;
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: .25rem;
    margin-top: .2rem;
    justify-content: flex-start;
  }

  .ax-header-actions {
    gap: .35rem;
    padding-left: .55rem;
  }

  .ax-topbar-search {
    width: min(100%, 240px);
    max-width: 240px;
  }

  .ax-topbar-search__form {
    width: 100%;
    max-width: 240px;
  }

  .ax-content {
    --ax-content-padding-x: .78rem;
    --ax-content-padding-y: .82rem;
    max-width: 100%;
    overflow-x: clip;
  }

  .ax-nav {
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  .ax-breadcrumbs {
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: .2rem;
    margin-bottom: .55rem;
    padding-bottom: .12rem;
  }

  .ax-bc-sep {
    margin: 0 4px;
  }

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

  .ax-settings-cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }
  .ax-branding-grid {
    grid-template-columns: 1fr;
  }
  .ax-branding-card {
    height: auto;
  }
  .ax-branding-check-row,
  .ax-branding-asset-preview {
    grid-template-columns: 1fr;
  }

  .ax-superdashboard-compact-row {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 767px) {
  .ax-sidebar {
    width: min(86vw, 300px);
    max-width: calc(100vw - 1.1rem);
    border-radius: 0 16px 16px 0;
  }

  .ax-topbar-search {
    width: min(100%, 200px);
    max-width: 200px;
  }

  .ax-topbar-search__form {
    max-width: 200px;
  }
}

@media (max-width: 640px) {
  .ax-main {
    padding: .35rem;
  }

  .ax-header {
    padding: .5rem;
  }

  .ax-header-actions {
    gap: .25rem;
  }

  .ax-topbar-search {
    position: relative;
  }

  .ax-topbar-search__form {
    width: min(60vw, 240px);
  }

  .ax-topbar-search-results {
    right: 0;
    width: min(86vw, 330px);
  }

  .ax-build-chip {
    font-size: .64rem;
  }

  .ax-tab {
    font-size: .8rem;
    padding: .32rem .55rem;
  }

  .ax-grid-4 {
    grid-template-columns: 1fr;
  }

  .ax-settings-cards-grid {
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .ax-settings-card {
    min-height: 0;
  }

  .ax-superdashboard-addon-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ax-superdashboard-connections-pagination {
    justify-content: center;
    flex-wrap: wrap;
  }

  .ax-superdashboard-connections-pagination-count {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .ax-content {
    padding: .75rem .62rem;
    border-radius: 14px;
  }

  .crm-client360-kpis {
    grid-template-columns: 1fr;
  }

  .crm-pipeline-card-actions,
  .crm-filter-actions,
  .billing-filter-actions,
  .billing-form-actions {
    flex-wrap: wrap;
    width: 100%;
  }

  .crm-filter-actions > *,
  .billing-filter-actions > *,
  .billing-form-actions > * {
    width: 100%;
  }
  .crm-call-lead-grid {
    grid-template-columns: 1fr;
  }

  .crm-call-lead-item--wide,
  .crm-call-lead-item--full {
    grid-column: auto;
  }
}

/* Cross-module hierarchy normalization (dashboards, forms, tables, chat/workspaces). */
.ax-dashboard-header h1,
.ax-dashboard-section-head h2 {
  line-height: var(--ax-lh-tight);
  letter-spacing: .004em;
}
.ax-dashboard-header > p,
.ax-dashboard-section-head .ax-muted {
  font-size: var(--ax-text-secondary-size);
  line-height: var(--ax-lh-normal);
}
.ax-dashboard-filter-form {
  margin-top: var(--ax-space-3);
  gap: var(--ax-space-3);
}
.ax-dashboard-filter-form label {
  gap: .28rem;
  font-size: var(--ax-text-label);
}
.ax-dashboard-layout,
.ax-dashboard-section,
.ax-dashboard-grid,
.ax-dashboard-column,
.ax-dashboard-columns {
  row-gap: var(--ax-space-4);
}
.ax-table + .ax-empty-state,
.ax-form + .ax-empty-state {
  margin-top: var(--ax-space-3);
}
.ax-chat-thread-head,
.ax-chat-composer {
  padding-inline: .88rem;
}

@media (max-width: 980px) {
  :root {
    --ax-text-page-title: clamp(1.14rem, 1.05rem + .62vw, 1.42rem);
    --ax-text-kpi: clamp(1.18rem, 1.06rem + .7vw, 1.56rem);
    --ax-space-5: 1.1rem;
  }
}

@media (max-width: 920px) {
  .ax-filterbar,
  .ax-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ax-filterbar > *,
  .ax-toolbar > * {
    grid-column: span 1 !important;
  }
  .ax-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ax-platform-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ax-platform-settings-grid > .ax-span-4,
  .ax-platform-settings-grid > .ax-span-6 {
    grid-column: span 1;
  }
  .ax-platform-slot {
    display: none;
  }
  .ax-col-12,
  .ax-col-8,
  .ax-col-7,
  .ax-col-6,
  .ax-col-5,
  .ax-col-4 {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .ax-page-header {
    display: grid;
    gap: .7rem;
  }
  .ax-filterbar,
  .ax-toolbar {
    grid-template-columns: 1fr;
  }
  .ax-form-grid {
    grid-template-columns: 1fr;
  }
  .ax-form-grid > *,
  .ax-form-grid .ax-span-12,
  .ax-form-grid .ax-span-8,
  .ax-form-grid .ax-span-6,
  .ax-form-grid .ax-span-4,
  .ax-form-grid .ax-span-3,
  .ax-form-grid .ax-span-2 {
    grid-column: 1 / -1;
  }
  .ax-platform-settings-grid > .ax-span-4,
  .ax-platform-settings-grid > .ax-span-6 {
    grid-column: 1 / -1;
  }
  .ax-platform-toggles {
    flex-direction: column;
    align-items: flex-start;
  }
  .ax-platform-actions {
    justify-content: stretch;
  }
  .ax-platform-actions button {
    width: 100%;
  }
  .ax-section-grid {
    grid-template-columns: 1fr;
  }
  .ax-col-12,
  .ax-col-8,
  .ax-col-7,
  .ax-col-6,
  .ax-col-5,
  .ax-col-4 {
    grid-column: 1 / -1;
  }
}

/* Attendance settings: kiosk portal layout */

.attendance-settings-top-grid {
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  align-items: start;
  gap: 1rem;
}
.attendance-settings-top-grid > .attendance-settings-top-card {
  min-width: 0;
  height: 100%;
}
.attendance-settings-kiosk-panel { width: 100%; }
.attendance-settings-kiosk-form {
  width: 100%;
  max-width: none;
  display: grid;
  gap: 1rem;
}
.attendance-settings-kiosk-form.ax-form label {
  display: block;
  margin: 0;
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-checks-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  width: 100%;
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-check {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .55rem;
  min-height: 46px;
  margin: 0;
  padding: .72rem .8rem;
  border: 1px solid rgba(120, 146, 189, .36);
  border-radius: 12px;
  background: rgba(10, 16, 32, .4);
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-check input[type="checkbox"] {
  margin: 0;
  accent-color: #7ea2ff;
  flex-shrink: 0;
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-check span {
  color: var(--ax-text, #e6ecff);
  font-weight: 600;
  line-height: 1.25;
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem 1rem;
  width: 100%;
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-fields-grid > label {
  min-width: 0;
  margin: 0;
}
.attendance-settings-kiosk-form .attendance-settings-kiosk-fields-grid .attendance-settings-kiosk-field-full {
  grid-column: 1 / -1;
}
.attendance-settings-kiosk-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: .2rem;
}

@media (max-width: 1140px) {
  .attendance-settings-top-grid {
    grid-template-columns: 1fr;
  }

  .attendance-settings-kiosk-form .attendance-settings-kiosk-checks-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .attendance-settings-kiosk-form .attendance-settings-kiosk-checks-row,
  .attendance-settings-kiosk-form .attendance-settings-kiosk-fields-grid {
    grid-template-columns: 1fr;
  }

  .attendance-settings-kiosk-actions .crm-btn {
    width: 100%;
  }
}

/* CRM Calls - Bases import form */
.crm-calls-bases-import-form {
  width: 100%;
  max-width: 100%;
}

.crm-calls-bases-import-row {
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.6fr) auto auto;
  gap: .75rem;
  align-items: end;
}

.crm-calls-bases-field {
  margin: 0;
  min-width: 0;
}

.crm-calls-bases-field > span,
.crm-calls-bases-field > label {
  display: inline-block;
  margin: 0 0 .35rem;
}

.crm-calls-bases-field .ax-upload {
  min-height: var(--ax-control-height-md);
}

.crm-calls-bases-action {
  margin: 0;
  min-height: var(--ax-control-height-md);
  white-space: nowrap;
  align-self: end;
}

.crm-calls-bases-import-help {
  display: grid;
  gap: .2rem;
  margin: .45rem 0 0;
  width: 100%;
}

.crm-calls-bases-import-help p {
  margin: 0;
  font-size: .9rem;
  opacity: .86;
}

@media (max-width: 1180px) {
  .crm-calls-bases-import-row {
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.35fr) auto auto;
  }
}

@media (max-width: 980px) {
  .crm-calls-bases-import-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .crm-calls-bases-import-row {
    grid-template-columns: 1fr;
  }

  .crm-calls-bases-action {
    width: 100%;
    justify-content: center;
  }
}
