/* =========================================================
   GALILEO ADMIN CORE · LEVEL 3 COMMAND CORE V2
   Visual-only override for Django Admin. No backend behavior.
   ========================================================= */

:root {
    --l3-bg0: #02050c;
    --l3-bg1: #050d19;
    --l3-bg2: #07182b;
    --l3-glass: rgba(7, 22, 41, 0.84);
    --l3-glass-2: rgba(8, 31, 57, 0.91);
    --l3-glass-3: rgba(5, 15, 29, 0.97);
    --l3-line: rgba(96, 203, 255, 0.24);
    --l3-line-2: rgba(96, 203, 255, 0.46);
    --l3-line-green: rgba(116, 255, 225, 0.22);
    --l3-cyan: #6bdcff;
    --l3-cyan-2: #b9f2ff;
    --l3-blue: #2c8dff;
    --l3-green: #72ffad;
    --l3-amber: #ffd166;
    --l3-red: #ff6275;
    --l3-text: #eef9ff;
    --l3-soft: #aac8dc;
    --l3-dim: #6f91ab;
    --l3-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

html,
body {
    background:
        radial-gradient(circle at 17% 9%, rgba(44, 141, 255, 0.34), transparent 29%),
        radial-gradient(circle at 76% 3%, rgba(114, 255, 173, 0.11), transparent 30%),
        radial-gradient(circle at 86% 72%, rgba(107, 220, 255, 0.10), transparent 35%),
        linear-gradient(180deg, var(--l3-bg0), var(--l3-bg1) 44%, #030914 100%) !important;
    color: var(--l3-text) !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    opacity: 0.22;
    background-image:
        linear-gradient(rgba(107, 220, 255, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(107, 220, 255, 0.12) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(circle at 50% 20%, black, transparent 78%);
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        linear-gradient(115deg, transparent 0 42%, rgba(107, 220, 255, 0.055) 43%, transparent 44% 100%),
        linear-gradient(245deg, transparent 0 63%, rgba(114, 255, 173, 0.035) 64%, transparent 65% 100%);
}

#container,
#content,
#content-main {
    background: transparent !important;
}

#content {
    padding: 24px 30px 36px !important;
}

/* Header */
#header {
    min-height: 82px !important;
    display: grid !important;
    grid-template-columns: minmax(310px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 0 30px !important;
    background:
        linear-gradient(90deg, rgba(2, 7, 15, 0.96), rgba(7, 33, 61, 0.96) 45%, rgba(2, 7, 15, 0.96)) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--l3-line-2) !important;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.42) !important;
    position: relative;
}

#header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--l3-cyan), transparent);
    opacity: 0.7;
}

#branding.knc-l3-branding {
    min-height: 82px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.knc-brand-logo {
    height: 52px !important;
    width: auto !important;
    border-radius: 16px;
    filter: drop-shadow(0 0 18px rgba(107, 220, 255, 0.20));
}

.knc-l3-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

#branding h1,
#branding h1 a:link,
#branding h1 a:visited {
    color: #ffffff !important;
    font-family: "Orbitron", sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    white-space: nowrap;
}

.knc-l3-brand-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--l3-soft);
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.knc-l3-brand-subtitle::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--l3-green);
    box-shadow: 0 0 12px var(--l3-green);
}

.knc-l3-top-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
}

.knc-l3-top-actions .knc-badge,
.knc-badge {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(107, 220, 255, 0.25) !important;
    background: linear-gradient(180deg, rgba(13, 48, 85, 0.74), rgba(5, 23, 44, 0.86)) !important;
    color: #e4f8ff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

.knc-badge-access {
    border-color: rgba(114, 255, 173, 0.34) !important;
    background: linear-gradient(180deg, rgba(20, 92, 64, 0.72), rgba(8, 46, 34, 0.90)) !important;
    color: #eafff2 !important;
}

.knc-badge-level {
    border-color: rgba(107, 220, 255, 0.55) !important;
    background: linear-gradient(180deg, rgba(37, 125, 219, 0.42), rgba(11, 55, 99, 0.85)) !important;
    color: #ffffff !important;
}

#user-tools {
    color: #d7edf9 !important;
    font-size: 12px !important;
    padding: 0 !important;
}

#user-tools a {
    color: #ffffff !important;
    font-weight: 800 !important;
}

div.breadcrumbs {
    background: rgba(3, 12, 23, 0.88) !important;
    border-bottom: 1px solid rgba(107, 220, 255, 0.16) !important;
    color: #b9d9f5 !important;
    box-shadow: none !important;
}

/* Command strip */
.knc-l3-dashboard-shell {
    position: relative;
    z-index: 1;
    margin-bottom: 0 !important;
}

.knc-l3-command-strip {
    display: grid;
    grid-template-columns: minmax(250px, 1.35fr) repeat(4, minmax(140px, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.knc-l3-strip-card {
    min-height: 74px;
    padding: 13px 15px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(8, 30, 55, 0.93), rgba(4, 15, 30, 0.97));
    border: 1px solid rgba(107, 220, 255, 0.22);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.035);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.knc-l3-strip-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--l3-cyan), transparent);
    opacity: 0.65;
}

.knc-l3-strip-card span,
.knc-l3-kicker {
    color: #89b8d6;
    font-family: "Orbitron", sans-serif;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.knc-l3-strip-card strong {
    color: #ffffff;
    font-family: "Orbitron", sans-serif;
    font-size: 19px;
    line-height: 1.15;
    margin-top: 6px;
    letter-spacing: 0.4px;
}

.knc-l3-strip-card small {
    color: var(--l3-soft);
    margin-top: 4px;
}

.knc-l3-green { color: var(--l3-green) !important; }
.knc-l3-cyan { color: var(--l3-cyan) !important; }
.knc-l3-yellow { color: var(--l3-amber) !important; }

/* Hero */
.knc-l3-hero {
    position: relative;
    min-height: 250px;
    margin-bottom: 18px !important;
    padding: 28px !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 76% 26%, rgba(107, 220, 255, 0.13), transparent 28%),
        linear-gradient(135deg, rgba(8, 32, 60, 0.96), rgba(3, 12, 25, 0.96) 62%, rgba(7, 25, 46, 0.96)) !important;
    border: 1px solid var(--l3-line-2) !important;
    box-shadow: var(--l3-shadow) !important;
    overflow: hidden !important;
}

.knc-l3-hero::before {
    content: "";
    position: absolute;
    right: 30px;
    top: 22px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    border: 1px solid rgba(107, 220, 255, 0.16);
    box-shadow: 0 0 70px rgba(44, 141, 255, 0.22) inset, 0 0 44px rgba(107, 220, 255, 0.08);
    opacity: 0.9;
}

.knc-l3-hero::after {
    content: "ADMIN CORE";
    position: absolute;
    right: 28px;
    bottom: 20px;
    color: rgba(107, 220, 255, 0.055);
    font-family: "Orbitron", sans-serif;
    font-size: 58px;
    font-weight: 900;
    letter-spacing: 4px;
    pointer-events: none;
}

.knc-l3-hero-body {
    position: relative;
    z-index: 1;
}

.knc-l3-overline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--l3-cyan);
    font-family: "Orbitron", sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.3px;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.knc-l3-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--l3-green);
    box-shadow: 0 0 16px rgba(114, 255, 173, 0.58);
}

.knc-l3-title {
    font-size: clamp(36px, 3.4vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: 1.7px !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
}

.knc-l3-subtitle {
    max-width: 880px;
    color: #bfd8eb !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
}

.knc-l3-badges .knc-badge {
    background: rgba(9, 42, 78, 0.70) !important;
}

.knc-l3-hero-panel {
    position: relative;
    z-index: 1;
    flex: 0 0 260px;
    min-height: 166px;
    border-radius: 22px;
    border: 1px solid rgba(107, 220, 255, 0.26);
    background: linear-gradient(180deg, rgba(3, 15, 30, 0.62), rgba(5, 26, 48, 0.82));
    display: grid;
    place-items: center;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.knc-l3-radar {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.knc-l3-radar span {
    position: absolute;
    border-radius: 999px;
    border: 1px solid rgba(107, 220, 255, 0.18);
}

.knc-l3-radar span:nth-child(1) { width: 56px; height: 56px; }
.knc-l3-radar span:nth-child(2) { width: 102px; height: 102px; }
.knc-l3-radar span:nth-child(3) { width: 146px; height: 146px; }

.knc-l3-hero-panel-copy {
    position: relative;
    z-index: 1;
    text-align: center;
}

.knc-l3-hero-panel-copy strong {
    display: block;
    color: #fff;
    font-family: "Orbitron", sans-serif;
    font-size: 30px;
    letter-spacing: 1px;
}

.knc-l3-hero-panel-copy span {
    display: block;
    color: var(--l3-cyan);
    font-size: 12px;
    font-weight: 900;
    margin-top: 5px;
    text-transform: uppercase;
}

/* Telemetry cards */
.knc-l3-stat-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

.knc-l3-reactor-card {
    position: relative;
    min-height: 142px;
    padding: 18px 18px 26px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(8, 30, 55, 0.93), rgba(4, 15, 30, 0.97)) !important;
    border: 1px solid rgba(107, 220, 255, 0.22) !important;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24) !important;
}

.knc-l3-reactor-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--l3-cyan), transparent);
    opacity: 0.75;
}

.knc-l3-reactor-card::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 16px;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--l3-green);
    box-shadow: 0 0 13px rgba(114, 255, 173, 0.58);
}

.knc-l3-yellow-card::after { background: var(--l3-amber); box-shadow: 0 0 13px rgba(255, 209, 102, 0.48); }

.knc-l3-reactor-card .knc-card-title {
    color: #89b8d6 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: 1.3px !important;
}

.knc-l3-reactor-card .knc-card-value {
    color: #ffffff !important;
    font-size: 30px !important;
    letter-spacing: 0.7px;
}

.knc-l3-green-card .knc-card-value { color: var(--l3-green) !important; }
.knc-l3-yellow-card .knc-card-value { color: var(--l3-amber) !important; }

.knc-l3-reactor-card .knc-card-text {
    color: var(--l3-soft) !important;
    font-size: 12px !important;
}

.knc-l3-sparkline {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 12px;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(114, 255, 173, 0.55) 0 18%, rgba(107, 220, 255, 0.36) 18% 31%, rgba(114, 255, 173, 0.44) 31% 46%, rgba(107, 220, 255, 0.28) 46% 100%);
    opacity: 0.7;
}

/* Quick routes */
.knc-l3-quick-section {
    padding: 18px !important;
    border-radius: 26px !important;
    background: linear-gradient(180deg, rgba(7, 24, 45, 0.94), rgba(3, 13, 27, 0.97)) !important;
    border: 1px solid var(--l3-line) !important;
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.34) !important;
    margin-bottom: 18px !important;
}

.knc-l3-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.knc-l3-section-head .knc-section-title {
    margin: 4px 0 0 !important;
    font-size: 17px !important;
}

.knc-l3-live-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(114, 255, 173, 0.28);
    background: rgba(0, 91, 67, 0.32);
    color: var(--l3-green);
    font-family: "Orbitron", sans-serif;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.9px;
}

.knc-l3-quick-grid {
    gap: 12px !important;
}

.knc-l3-quick-card {
    position: relative;
    padding: 18px 18px 18px 64px !important;
    min-height: 106px;
    border-radius: 19px !important;
    background: linear-gradient(180deg, rgba(9, 38, 69, 0.84), rgba(5, 20, 39, 0.94)) !important;
    border: 1px solid rgba(107, 220, 255, 0.20) !important;
    box-shadow: none !important;
}

.knc-l3-quick-card:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(107, 220, 255, 0.44) !important;
    box-shadow: 0 0 24px rgba(107, 220, 255, 0.08) !important;
}

.knc-l3-card-code {
    position: absolute;
    left: 18px;
    top: 20px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(107, 220, 255, 0.10);
    border: 1px solid rgba(107, 220, 255, 0.26);
    color: var(--l3-cyan);
    font-family: "Orbitron", sans-serif;
    font-size: 10px;
    font-weight: 900;
}

.knc-l3-quick-card h3 {
    font-size: 13px !important;
    letter-spacing: 1px;
    margin-bottom: 8px !important;
    text-transform: uppercase;
}

.knc-l3-quick-card p {
    color: var(--l3-soft) !important;
    font-size: 12px !important;
}

/* Admin systems matrix */
.knc-l3-admin-grid {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 18px !important;
}

.knc-l3-matrix-head {
    padding: 17px 19px;
    margin-bottom: 12px;
    border-radius: 26px;
    background: linear-gradient(90deg, rgba(10, 45, 82, 0.74), rgba(5, 20, 39, 0.58));
    border: 1px solid rgba(107, 220, 255, 0.18);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.26);
}

.knc-admin-left .module,
.knc-admin-right .module,
.change-list .module,
.change-form .module,
.delete-confirmation .module,
.inline-group,
#changelist,
#changelist-filter {
    border-radius: 26px !important;
    background: linear-gradient(180deg, rgba(7, 24, 45, 0.94), rgba(3, 13, 27, 0.97)) !important;
    border: 1px solid var(--l3-line) !important;
    box-shadow: 0 20px 52px rgba(0, 0, 0, 0.30) !important;
    overflow: hidden !important;
}

.knc-admin-left .module caption,
.knc-admin-left .module h2,
.knc-admin-right .module h2,
.change-list .module h2,
.change-form .module h2,
.inline-group h2,
#changelist-filter h2,
#content-related .module h2 {
    background: linear-gradient(90deg, rgba(10, 45, 82, 0.74), rgba(5, 20, 39, 0.58)) !important;
    color: #dff8ff !important;
    border-bottom: 1px solid rgba(107, 220, 255, 0.18) !important;
    font-family: "Orbitron", sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 1.35px !important;
    text-transform: uppercase !important;
    padding: 17px 19px !important;
}

/* Crucial: remove every inherited white patch in app_list */
.knc-admin-left .module table,
.knc-admin-left .module table tbody,
.knc-admin-left .module table tr,
.knc-admin-left .module table th,
.knc-admin-left .module table td,
.knc-admin-left .app-list,
.knc-admin-left .app-list tbody,
.knc-admin-left .app-list tr,
.knc-admin-left .app-list th,
.knc-admin-left .app-list td,
.app-list .model,
.app-list .model th,
.app-list .model td,
.app-list .row1,
.app-list .row2,
.app-list tr.row1,
.app-list tr.row2 {
    background: transparent !important;
    color: var(--l3-text) !important;
}

.knc-admin-left .module table {
    border-collapse: separate !important;
    border-spacing: 0 11px !important;
    padding: 16px !important;
}

.knc-admin-left .module table tbody tr,
#result_list tbody tr {
    background: linear-gradient(90deg, rgba(9, 31, 57, 0.98), rgba(5, 20, 39, 0.99)) !important;
    border: 1px solid rgba(107, 220, 255, 0.18) !important;
    border-radius: 19px !important;
    overflow: hidden !important;
}

.knc-admin-left .module table tbody tr:nth-child(even),
#result_list tbody tr:nth-child(even) {
    background: linear-gradient(90deg, rgba(11, 38, 67, 0.98), rgba(6, 23, 43, 0.99)) !important;
}

.knc-admin-left .module table tbody tr:hover,
#result_list tbody tr:hover {
    background: linear-gradient(90deg, rgba(14, 54, 90, 0.98), rgba(7, 31, 57, 0.99)) !important;
    filter: none !important;
}

.knc-admin-left .module table tbody th,
.knc-admin-left .module table tbody td {
    background: transparent !important;
    border-top: 1px solid rgba(107, 220, 255, 0.12) !important;
    border-bottom: 1px solid rgba(107, 220, 255, 0.12) !important;
    padding: 14px 14px !important;
    color: #eef9ff !important;
}

.knc-admin-left .module table tbody th:first-child,
.knc-admin-left .module table tbody td:first-child {
    border-left: 3px solid var(--l3-cyan) !important;
    border-radius: 18px 0 0 18px !important;
}

.knc-admin-left .module table tbody td:last-child,
.knc-admin-left .module table tbody th:last-child {
    border-right: 1px solid rgba(107, 220, 255, 0.12) !important;
    border-radius: 0 18px 18px 0 !important;
}

.knc-admin-left .module table tbody th a,
.knc-admin-left .module table tbody td a,
#result_list tbody a {
    color: #f3fbff !important;
    font-weight: 900 !important;
}

.knc-admin-left .module table tbody a.addlink,
.knc-admin-left .module table tbody td a[href*="/add/"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(114, 255, 173, 0.26) !important;
    background: linear-gradient(180deg, rgba(20, 78, 57, 0.86), rgba(8, 43, 31, 0.95)) !important;
    color: var(--l3-green) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
}

.knc-admin-left .module table tbody a.changelink,
.knc-admin-left .module table tbody td a[href*="/change/"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(255, 209, 102, 0.22) !important;
    background: linear-gradient(180deg, rgba(93, 70, 22, 0.72), rgba(47, 35, 14, 0.88)) !important;
    color: var(--l3-amber) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
}

/* Right rail */
.knc-l3-core-module {
    margin-bottom: 18px !important;
}

.knc-l3-core-map {
    height: 196px;
    margin: 16px;
    border: 1px solid rgba(107, 220, 255, 0.18);
    border-radius: 20px;
    background:
        radial-gradient(circle at 50% 50%, rgba(107, 220, 255, 0.16), transparent 33%),
        linear-gradient(135deg, rgba(9, 34, 62, 0.90), rgba(2, 10, 20, 0.94));
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
}

.knc-l3-core-map::before {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px dashed rgba(107, 220, 255, 0.25);
    border-radius: 50%;
}

.knc-l3-core-map span {
    font-family: "Orbitron", sans-serif;
    font-size: 46px;
    color: rgba(185, 242, 255, 0.30);
    letter-spacing: 4px;
    z-index: 1;
}

.knc-l3-core-copy {
    padding: 0 18px 18px;
}

.knc-l3-core-copy strong {
    display: block;
    color: #f2fbff;
    font-weight: 900;
    margin-bottom: 6px;
}

.knc-l3-core-copy small {
    color: var(--l3-soft);
    line-height: 1.5;
}

.knc-l3-audit-module .actionlist {
    padding: 15px 18px 18px !important;
}

.knc-l3-audit-module .actionlist li {
    position: relative;
    padding: 12px 12px 12px 18px;
    margin-bottom: 9px !important;
    border-radius: 14px;
    background: rgba(3, 15, 28, 0.62);
    border: 1px solid rgba(107, 220, 255, 0.12);
    color: #c9def0 !important;
}

.knc-l3-audit-module .actionlist li::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 16px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--l3-cyan);
    box-shadow: 0 0 10px rgba(107, 220, 255, 0.44);
}

.knc-l3-audit-module .actionlist li.addlink::before { background: var(--l3-green); }
.knc-l3-audit-module .actionlist li.changelink::before { background: var(--l3-amber); }
.knc-l3-audit-module .actionlist li.deletelink::before { background: var(--l3-red); }

.knc-l3-audit-module .mini,
.knc-l3-audit-module .quiet {
    color: var(--l3-soft) !important;
}

/* Native Django internal pages keep the same visual language */
#result_list,
#result_list thead,
#result_list tbody,
#result_list tr,
#result_list th,
#result_list td {
    border-color: rgba(107, 220, 255, 0.12) !important;
}

#result_list thead th,
thead th {
    background: rgba(10, 45, 82, 0.88) !important;
    color: #eef9ff !important;
}

#result_list tbody td,
#result_list tbody th,
tbody td,
tbody th {
    color: #eaf7ff !important;
}

.change-form input[type="text"],
.change-form input[type="password"],
.change-form input[type="email"],
.change-form input[type="number"],
.change-form input[type="url"],
.change-form input[type="search"],
.change-form input[type="date"],
.change-form input[type="datetime-local"],
.change-form textarea,
.change-form select,
.change-list input[type="text"],
.change-list input[type="search"],
.change-list select,
#searchbar,
input[type="text"]:not(#nav-filter input),
input[type="password"],
input[type="email"],
input[type="number"],
input[type="url"],
input[type="search"],
textarea,
select {
    background: rgba(232, 248, 255, 0.95) !important;
    color: #082033 !important;
    border: 1px solid rgba(107, 220, 255, 0.26) !important;
    border-radius: 14px !important;
}

/* Sidebar */
#nav-sidebar {
    background:
        radial-gradient(circle at 50% 0%, rgba(107, 220, 255, 0.10), transparent 38%),
        linear-gradient(180deg, rgba(7, 25, 47, 0.99), rgba(3, 12, 24, 0.99)) !important;
    border-right: 1px solid rgba(107, 220, 255, 0.18) !important;
}

#nav-sidebar .module caption,
#nav-sidebar .module h2 {
    background: linear-gradient(90deg, rgba(10, 45, 82, 0.72), rgba(5, 20, 39, 0.62)) !important;
    border-color: rgba(107, 220, 255, 0.18) !important;
    color: var(--l3-cyan) !important;
}

#nav-sidebar th a {
    background: linear-gradient(180deg, rgba(15, 48, 84, 0.96), rgba(8, 27, 50, 0.98)) !important;
    border-color: rgba(107, 220, 255, 0.18) !important;
    color: #eefaff !important;
    font-weight: 850 !important;
}

#nav-sidebar th a:hover,
#nav-sidebar th a:focus {
    border-color: rgba(107, 220, 255, 0.48) !important;
    background: linear-gradient(90deg, rgba(31, 96, 166, 0.95), rgba(9, 39, 73, 0.98)) !important;
}

#nav-sidebar td a,
#nav-sidebar td .addlink,
#nav-sidebar td .changelink {
    background: linear-gradient(180deg, rgba(22, 76, 56, 0.85), rgba(9, 42, 31, 0.92)) !important;
    border-color: rgba(114, 255, 173, 0.25) !important;
    color: var(--l3-green) !important;
}

#nav-filter input {
    background: rgba(232, 248, 255, 0.95) !important;
    color: #082033 !important;
    border-color: rgba(107, 220, 255, 0.26) !important;
}

/* Responsive */
@media (max-width: 1400px) {
    #header {
        grid-template-columns: 1fr !important;
        padding: 14px 24px !important;
    }

    .knc-l3-top-actions {
        justify-content: flex-start !important;
    }

    .knc-l3-command-strip {
        grid-template-columns: repeat(3, minmax(180px, 1fr));
    }

    .knc-l3-admin-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 960px) {
    #content { padding: 16px !important; }

    .knc-l3-command-strip,
    .knc-l3-stat-grid,
    .knc-l3-quick-grid {
        grid-template-columns: 1fr !important;
    }

    .knc-l3-hero {
        flex-direction: column;
        align-items: stretch;
    }

    .knc-l3-hero-panel {
        flex-basis: auto;
    }
}

/* =========================================================
   GALILEO LEVEL 3 · GROUP PERMISSIONS FORM OVERRIDE
   Visual-only: expands Django horizontal permission selector.
   ========================================================= */
.change-form #content-main form,
.change-form .form-row,
.change-form fieldset.module {
    max-width: none !important;
}

.change-form fieldset.module {
    border-radius: 26px !important;
    overflow: hidden !important;
}

.change-form .aligned .form-row,
.change-form .form-row {
    padding: 18px 20px !important;
}

.change-form .form-row.field-name input[type="text"],
.change-form .form-row.field-name .vTextField {
    width: min(420px, 100%) !important;
    min-height: 44px !important;
    background: rgba(232, 248, 255, 0.95) !important;
    color: #082033 !important;
    font-weight: 800 !important;
}

.change-form .form-row.field-permissions {
    display: block !important;
    padding: 22px 20px 18px !important;
}

.change-form .form-row.field-permissions > div,
.change-form .form-row.field-permissions .related-widget-wrapper {
    width: 100% !important;
    max-width: none !important;
}

.change-form .form-row.field-permissions label {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 0 14px !important;
    color: #eef9ff !important;
    font-family: "Orbitron", sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* Native Django dual selector */
.selector {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
}

.selector-available,
.selector-chosen {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
    border-radius: 20px !important;
    border: 1px solid rgba(107, 220, 255, 0.24) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(107, 220, 255, 0.10), transparent 38%),
        linear-gradient(180deg, rgba(8, 30, 55, 0.96), rgba(3, 13, 27, 0.98)) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255,255,255,0.035) !important;
    overflow: hidden !important;
}

.selector h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    background: linear-gradient(90deg, rgba(10, 45, 82, 0.86), rgba(5, 20, 39, 0.70)) !important;
    border-bottom: 1px solid rgba(107, 220, 255, 0.18) !important;
    color: #e8fbff !important;
    font-family: "Orbitron", sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.selector h2 .help,
.selector h2 .help-tooltip,
.selector h2 .selector-help {
    color: var(--l3-cyan, #6bdcff) !important;
}

.selector-filter {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(107, 220, 255, 0.12) !important;
    background: rgba(2, 11, 22, 0.42) !important;
}

.selector-filter label {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: .75 !important;
}

.selector-filter input {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(107, 220, 255, 0.26) !important;
    background: rgba(232, 248, 255, 0.95) !important;
    color: #082033 !important;
    font-weight: 700 !important;
    padding: 0 14px !important;
}

.selector select,
.selector select.filtered {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: clamp(360px, 42vh, 560px) !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(5, 19, 36, 0.98), rgba(3, 13, 27, 0.99)) !important;
    color: #dff3ff !important;
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    box-shadow: none !important;
}

.selector select option {
    padding: 6px 8px !important;
    background: #06182d !important;
    color: #e8f8ff !important;
    border-bottom: 1px solid rgba(107, 220, 255, 0.06) !important;
}

.selector select option:checked,
.selector select option:hover {
    background: #0f4d82 !important;
    color: #ffffff !important;
}

.selector-chooser {
    width: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    float: none !important;
}

.selector-chooser li {
    margin: 0 !important;
    padding: 0 !important;
}

.selector-chooser a,
.selector-add,
.selector-remove,
.selector-chooseall,
.selector-clearall {
    border-radius: 999px !important;
    border: 1px solid rgba(107, 220, 255, 0.26) !important;
    background: linear-gradient(180deg, rgba(13, 48, 85, 0.80), rgba(5, 23, 44, 0.94)) !important;
    color: #e4f8ff !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.22) !important;
}

.selector-chooser a {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 0 !important;
    text-indent: 0 !important;
}

.selector-chooser a::after {
    font-size: 18px !important;
    line-height: 1 !important;
}

.selector-add::after { content: "›" !important; }
.selector-remove::after { content: "‹" !important; }
.selector-addall::after { content: "»" !important; }
.selector-removeall::after { content: "«" !important; }

.selector-chooser a:hover,
.selector-chooseall:hover,
.selector-clearall:hover {
    border-color: rgba(107, 220, 255, 0.52) !important;
    color: #ffffff !important;
    box-shadow: 0 0 22px rgba(107,220,255,.12) !important;
}

.selector .selector-chooseall,
.selector .selector-clearall {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-width: 1px 0 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: rgba(8, 30, 55, 0.72) !important;
    color: #e8f8ff !important;
    font-size: 12px !important;
    text-align: center !important;
}

.selector .selector-chooseall {
    border-color: rgba(114, 255, 173, 0.22) !important;
}

.selector .selector-clearall {
    border-color: rgba(255, 209, 102, 0.18) !important;
}

.selector-chosen select:empty,
.selector-chosen select option:disabled {
    color: var(--l3-soft, #aac8dc) !important;
}

/* Better save row */
.submit-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-top: 18px !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, rgba(3, 13, 27, 0.78), rgba(8, 30, 55, 0.58)) !important;
    border: 1px solid rgba(107, 220, 255, 0.10) !important;
}

.submit-row input,
.submit-row a.button {
    min-height: 40px !important;
    border-radius: 14px !important;
}

.submit-row input.default,
.submit-row input[name="_save"] {
    border-color: rgba(114, 255, 173, 0.34) !important;
    background: linear-gradient(180deg, rgba(20, 92, 64, 0.76), rgba(8, 46, 34, 0.92)) !important;
}

/* Make admin menu more readable */
#nav-sidebar {
    width: 318px !important;
}

#nav-sidebar th a {
    white-space: normal !important;
    line-height: 1.15 !important;
}

#nav-sidebar td a,
#nav-sidebar td .addlink,
#nav-sidebar td .changelink {
    min-width: 62px !important;
}

@media (max-width: 1280px) {
    .selector {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .selector-chooser {
        width: 100% !important;
        flex-direction: row !important;
        min-height: 56px !important;
    }
}
