/* =========================================================
   DSL-N Control Plane Theme: Andes Blue Command
   Version: 3.0.0
   Visual profile: command-center
   Filesystem theme. Keep CSS self-contained; no external assets.
   Supports Claro/Oscuro through html[data-bs-theme].
   ========================================================= */

:root {
  --cp-visual-profile: command-center;
  --cp-radius-sm: 8px;
  --cp-radius-md: 12px;
  --cp-radius-lg: 16px;
  --cp-radius-xl: 24px;
  --cp-ui-density: comfortable;
  --cp-card-blur: 18px;
  --cp-card-opacity: .98;
  --cp-gradient-strength: 1.18;
  --cp-sidebar-sheen: .22;
  --cp-outline-opacity: .18;
  --cp-table-row-hover-opacity: .07;
  --cp-button-elevation: 12px;
  --cp-card-border-width: 1px;
  --cp-heading-letter-spacing: -.01em;
}


html[data-bs-theme="light"] {
  --dsln-brand: #0b5575;
  --cp-accent: #1b7fa7;
  --cp-accent-strong: #0b5575;
  --cp-accent-soft: rgba(27,127,167, .14);
  --cp-accent-rgb: 27,127,167;

  --cp-bg: #f4f7fb;
  --cp-bg-rgb: 244,247,251;
  --cp-surface: #ffffff;
  --cp-surface-rgb: 255,255,255;
  --cp-surface-2: #edf3f8;
  --cp-surface-3: #e1ebf4;
  --cp-text: #132033;
  --cp-text-muted: #617187;
  --cp-heading: #0b1524;
  --cp-border: rgba(15,23,42,.12);
  --cp-border-strong: rgba(15,23,42,.22);

  --cp-topbar-bg: rgba(255,255,255,.84);
  --cp-topbar-text: #0b1524;

  --cp-sidebar-bg: #07111e;
  --cp-sidebar-bg-2: #0b1a2b;
  --cp-sidebar-text: #e8f1fb;
  --cp-sidebar-muted: #91a4bb;
  --cp-sidebar-divider: rgba(232,241,251,.13);
  --cp-sidebar-hover-bg: rgba(27,127,167, .12);
  --cp-sidebar-active-bg: linear-gradient(135deg,#063b57,#28a6d5);
  --cp-sidebar-active-text: #ffffff;
  --cp-sidebar-card-bg: rgba(255,255,255,.055);
  --cp-sidebar-card-border: rgba(255,255,255,.12);
  --cp-sidebar-card-text: #f3f8ff;
  --cp-sidebar-card-muted: #a7b8cc;
  --cp-sidebar-popover-bg: #101c2c;
  --cp-sidebar-popover-text: #eef6ff;
  --cp-sidebar-popover-border: rgba(232,241,251,.16);
  --cp-sidebar-popover-shadow: 0 18px 48px rgba(2,8,23,.28);

  --cp-shadow: 0 18px 48px rgba(15,23,42,.12);
  --cp-shadow-soft: 0 12px 30px rgba(15,23,42,.09);
  --cp-success: #38b66a;
  --cp-warning: #d8a126;
  --cp-danger: #df5b61;

  --tblr-primary: #1b7fa7;
  --tblr-primary-rgb: 27,127,167;
  --tblr-body-bg: #f4f7fb;
  --tblr-body-color: #132033;
  --tblr-border-color: rgba(15,23,42,.12);
}


html[data-bs-theme="dark"] {
  --dsln-brand: #37b7e6;
  --cp-accent: #37b7e6;
  --cp-accent-strong: #8ee8ff;
  --cp-accent-soft: rgba(55,183,230, .14);
  --cp-accent-rgb: 55,183,230;

  --cp-bg: #08111c;
  --cp-bg-rgb: 8,17,28;
  --cp-surface: #0f1b2a;
  --cp-surface-rgb: 15,27,42;
  --cp-surface-2: #14243a;
  --cp-surface-3: #1b314b;
  --cp-text: #e7edf7;
  --cp-text-muted: #9aabc1;
  --cp-heading: #f8fafc;
  --cp-border: rgba(148,163,184,.22);
  --cp-border-strong: rgba(148,163,184,.34);

  --cp-topbar-bg: rgba(11,17,27,.84);
  --cp-topbar-text: #f8fafc;

  --cp-sidebar-bg: #050b14;
  --cp-sidebar-bg-2: #08111f;
  --cp-sidebar-text: #e5edf8;
  --cp-sidebar-muted: #91a3ba;
  --cp-sidebar-divider: rgba(229,237,248,.11);
  --cp-sidebar-hover-bg: rgba(55,183,230, .12);
  --cp-sidebar-active-bg: linear-gradient(135deg,#0b5575,#37b7e6);
  --cp-sidebar-active-text: #ffffff;
  --cp-sidebar-card-bg: rgba(255,255,255,.05);
  --cp-sidebar-card-border: rgba(255,255,255,.11);
  --cp-sidebar-card-text: #f3f8ff;
  --cp-sidebar-card-muted: #a7b8cc;
  --cp-sidebar-popover-bg: #101a2d;
  --cp-sidebar-popover-text: #eaf2ff;
  --cp-sidebar-popover-border: rgba(148,163,184,.22);
  --cp-sidebar-popover-shadow: 0 20px 54px rgba(0,0,0,.44);

  --cp-shadow: 0 22px 58px rgba(0,0,0,.40);
  --cp-shadow-soft: 0 16px 34px rgba(0,0,0,.30);
  --cp-success: #38b66a;
  --cp-warning: #d8a126;
  --cp-danger: #df5b61;

  --tblr-primary: #37b7e6;
  --tblr-primary-rgb: 55,183,230;
  --tblr-body-bg: #08111c;
  --tblr-body-color: #e7edf7;
  --tblr-border-color: rgba(148,163,184,.22);
}


body {
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--cp-accent-rgb), .14), transparent 30rem),
    radial-gradient(circle at 94% 10%, rgba(var(--cp-accent-rgb), .08), transparent 28rem),
    linear-gradient(180deg, rgba(var(--cp-bg-rgb), 1), rgba(var(--cp-bg-rgb), .96)) !important;
  color: var(--cp-text) !important;
}

.cp-main {
  background: transparent !important;
}

.cp-topbar {
  background: var(--cp-topbar-bg) !important;
  color: var(--cp-topbar-text) !important;
  border-bottom: var(--cp-card-border-width) solid var(--cp-border) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.03), 0 14px 36px rgba(2,8,23,.06);
  backdrop-filter: blur(var(--cp-card-blur)) saturate(1.12);
  -webkit-backdrop-filter: blur(var(--cp-card-blur)) saturate(1.12);
}

.cp-sidebar {
  background:
    radial-gradient(circle at 16% -6%, rgba(var(--cp-accent-rgb), var(--cp-sidebar-sheen)), transparent 18rem),
    linear-gradient(180deg, var(--cp-sidebar-bg-2), var(--cp-sidebar-bg)) !important;
  box-shadow: inset -1px 0 0 var(--cp-sidebar-divider), 18px 0 42px rgba(2,8,23,.12);
}

.cp-nav-link {
  border: 1px solid transparent;
  border-radius: var(--cp-radius-md) !important;
}

.cp-nav-link:hover {
  border-color: rgba(var(--cp-accent-rgb), var(--cp-outline-opacity));
}

.cp-nav-link.active {
  box-shadow: 0 12px 28px rgba(var(--cp-accent-rgb), .23), inset 0 1px 0 rgba(255,255,255,.14);
}

.card,
.cp-section-card,
.cp-kpi-card,
.cp-hero-card,
.editor-context-header,
.editor-content-card,
.editor-map-card,
.editor-modal-panel,
.modal-content,
.dropdown-menu {
  background:
    linear-gradient(180deg, rgba(var(--cp-surface-rgb), var(--cp-card-opacity)), rgba(var(--cp-surface-rgb), .94)) !important;
  border: var(--cp-card-border-width) solid var(--cp-border) !important;
  border-radius: var(--cp-radius-lg) !important;
  box-shadow: var(--cp-shadow-soft) !important;
}

.cp-hero-card,
.editor-context-header,
.editor-map-card {
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--cp-accent-rgb), .14), transparent 28rem),
    linear-gradient(135deg, rgba(var(--cp-surface-rgb), var(--cp-card-opacity)), rgba(var(--cp-surface-rgb), .89)) !important;
}

.cp-kpi-card:hover,
.cp-section-card:hover,
.editor-map-card:hover {
  border-color: var(--cp-border-strong) !important;
  box-shadow: var(--cp-shadow) !important;
}

h1, h2, h3, h4, .card-title, .cp-page-title, .editor-title {
  color: var(--cp-heading) !important;
  letter-spacing: var(--cp-heading-letter-spacing);
}

.btn-primary,
.btn.btn-primary {
  background: linear-gradient(135deg, var(--cp-accent-strong), var(--cp-accent)) !important;
  border-color: transparent !important;
  box-shadow: 0 var(--cp-button-elevation) 28px rgba(var(--cp-accent-rgb), .25);
}

.btn-outline-primary {
  color: var(--cp-accent) !important;
  border-color: rgba(var(--cp-accent-rgb), .42) !important;
}

.btn-outline-primary:hover {
  background: rgba(var(--cp-accent-rgb), .10) !important;
}

.badge.bg-primary,
.bg-primary-lt,
.cp-current-tenant-badge,
.editor-pill-active {
  background: rgba(var(--cp-accent-rgb), .14) !important;
  color: var(--cp-accent-strong) !important;
  border: 1px solid rgba(var(--cp-accent-rgb), .24);
}

.form-control,
.form-select,
.input-group-text {
  background-color: var(--cp-surface) !important;
  color: var(--cp-text) !important;
  border-color: var(--cp-border) !important;
  border-radius: var(--cp-radius-md) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--cp-accent-rgb), .52) !important;
  box-shadow: 0 0 0 .22rem rgba(var(--cp-accent-rgb), .14) !important;
}

.table {
  --tblr-table-bg: transparent;
  --tblr-table-color: var(--cp-text);
  --tblr-table-border-color: var(--cp-border);
}

.table-hover tbody tr:hover,
.table tbody tr:hover {
  background: rgba(var(--cp-accent-rgb), var(--cp-table-row-hover-opacity)) !important;
}

.nav-tabs .nav-link.active,
.editor-horizontal-nav .active,
.editor-subnav .active {
  background: rgba(var(--cp-accent-rgb), .14) !important;
  color: var(--cp-accent-strong) !important;
  border-color: rgba(var(--cp-accent-rgb), .26) !important;
}

.editor-horizontal-nav,
.editor-subnav {
  border-radius: var(--cp-radius-lg) !important;
  border: 1px solid var(--cp-border) !important;
  background: linear-gradient(180deg, rgba(var(--cp-surface-rgb), .92), rgba(var(--cp-surface-rgb), .84)) !important;
  box-shadow: var(--cp-shadow-soft) !important;
}

.editor-modal-backdrop {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}


:root {
  --cp-theme-category: operations;
  --cp-theme-visual-profile: command-center;
  --cp-theme-density: compact;
  --cp-theme-card-style: glass;
  --cp-theme-sidebar-style: compact;
  --cp-theme-background-style: command-grid;
  --cp-theme-badge-style: plate;
  --cp-theme-table-style: dense;
  --cp-theme-gradients: strong;
  --cp-theme-header-style: glass;
  --cp-radius-sm: .75rem;
  --cp-radius-card: 1rem;
  --cp-radius-xl: 1.25rem;
  --cp-section-padding: .55rem;
  --cp-card-padding: .65rem;
  --cp-table-cell-padding: .45rem .65rem;
  --cp-theme-transition: 160ms;
  --cp-shadow: 0 26px 70px rgba(0,0,0,.32);
  --cp-shadow-soft: 0 16px 42px rgba(0,0,0,.24);
  --cp-card-backdrop-filter: blur(18px);
  --cp-card-bg-alpha: .82;
  --cp-card-border-left-width: 0px;
  --cp-topbar-backdrop-filter: 16px;
  --cp-sidebar-width: 292px;
}

.card,
.cp-section-card,
.cp-kpi-card,
.cp-editor-card,
.cp-auth-card {
  backdrop-filter: var(--cp-card-backdrop-filter);
  -webkit-backdrop-filter: var(--cp-card-backdrop-filter);
  border-left-width: var(--cp-card-border-left-width) !important;
  border-left-color: var(--cp-accent) !important;
}

.cp-topbar {
  backdrop-filter: var(--cp-topbar-backdrop-filter);
  -webkit-backdrop-filter: var(--cp-topbar-backdrop-filter);
}

.badge,
.cp-status-badge,
.cp-kernel-state-badge {
  border-radius: .35rem !important;
}

.table {
  font-size: .88rem;
}

:root{--cp-theme-mode:dark;--cp-icon-scale:1.00;--cp-nav-icon-size:calc(1rem * var(--cp-icon-scale));--cp-nav-icon-box:calc(1.5rem * var(--cp-icon-scale));--cp-nav-caret-size:calc(.8rem * var(--cp-icon-scale));--cp-nav-caret-box:calc(1rem * var(--cp-icon-scale));}
