@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --knc-bg: #06111f;
    --knc-bg-2: #08192d;
    --knc-bg-3: #0a2038;
    --knc-panel: #0b1f39;
    --knc-panel-soft: #12345c;
    --knc-panel-soft-2: #163b66;
    --knc-border: rgba(84, 153, 255, 0.24);
    --knc-border-strong: rgba(113, 186, 255, 0.38);
    --knc-text: #eaf4ff;
    --knc-text-soft: #c7d9ee;
    --knc-text-dim: #97b3d1;
    --knc-text-sidebar: #edf5ff;
    --knc-text-sidebar-soft: #bfd6f2;
    --knc-accent: #4da3ff;
    --knc-accent-2: #74c0ff;
    --knc-accent-3: #8fd3ff;
    --knc-success: #7ee081;
    --knc-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    --knc-radius: 18px;
    --knc-radius-sm: 12px;
}

html, body {
    background: linear-gradient(180deg, #04101d 0%, #06111f 45%, #08172b 100%);
    color: var(--knc-text);
    font-family: "Inter", sans-serif;
}

body {
    letter-spacing: 0.1px;
}

a {
    color: var(--knc-accent-2);
    transition: all 0.2s ease;
}

a:hover,
a:focus {
    color: #ffffff;
    text-decoration: none;
}

#container {
    background: transparent;
}

#content {
    padding: 24px 28px 32px;
}

#content-main {
    float: none;
    width: 100%;
}

/* =========================
   HEADER SUPERIOR
   ========================= */

#header {
    background: linear-gradient(90deg, #1f4f83 0%, #265f99 45%, #1c4d81 100%);
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#header a:link,
#header a:visited {
    color: #ffffff;
}

#branding {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 20px;
}

.knc-brand-logo {
    height: 40px;
    width: auto;
    display: block;
}

#branding h1,
#branding h1 a:link,
#branding h1 a:visited {
    font-family: "Orbitron", sans-serif;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.6px;
    color: #ffffff;
    margin: 0;
}

#user-tools {
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;
    padding: 16px 20px;
    color: #f3f8ff;
}

#user-tools a {
    font-weight: 700;
    color: #ffffff;
}

.knc-top-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-right: 12px;
}

div.breadcrumbs {
    background: linear-gradient(90deg, #0c2f56 0%, #0a2747 100%);
    color: #dbeafe;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(120, 170, 230, 0.16);
    padding: 12px 22px;
    font-size: 14px;
    font-weight: 500;
}

div.breadcrumbs a {
    color: #ffffff;
    font-weight: 700;
}

/* =========================
   SIDEBAR IZQUIERDO ADMIN
   ========================= */

#nav-sidebar {
    background:
        linear-gradient(180deg, rgba(10, 27, 49, 0.99) 0%, rgba(7, 19, 36, 0.99) 100%);
    border-right: 1px solid rgba(121, 169, 226, 0.14);
    padding-top: 10px;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.03);
}

#nav-filter {
    padding: 10px 10px 14px;
    border-bottom: 1px solid rgba(122, 176, 238, 0.08);
}

#nav-filter input {
    width: 100%;
    background: rgba(241, 247, 255, 0.97) !important;
    color: #10243f !important;
    border: 1px solid rgba(71, 126, 196, 0.22) !important;
    border-radius: 12px !important;
    padding: 11px 12px !important;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    box-shadow: none !important;
}

#nav-filter input:focus {
    outline: none;
    border-color: rgba(97, 177, 255, 0.75) !important;
    box-shadow: 0 0 0 3px rgba(77, 163, 255, 0.14) !important;
}

#nav-sidebar .module {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 0 16px 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

#nav-sidebar .module caption,
#nav-sidebar .module h2 {
    display: block;
    margin: 0 10px 8px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, rgba(28, 86, 142, 0.78) 0%, rgba(20, 64, 108, 0.88) 100%) !important;
    border: 1px solid rgba(125, 193, 255, 0.24) !important;
    color: var(--knc-accent-3) !important;
    font-family: "Orbitron", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.1px !important;
    text-transform: uppercase !important;
    box-shadow:
        0 8px 16px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

#nav-sidebar table,
#nav-sidebar tbody,
#nav-sidebar tr {
    display: block;
    width: 100%;
}

#nav-sidebar table {
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
}

#nav-sidebar th,
#nav-sidebar td {
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 42px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#nav-sidebar th {
    width: calc(100% - 72px);
    padding-left: 10px !important;
}

#nav-sidebar td {
    width: 62px;
    justify-content: flex-end;
    padding-right: 10px !important;
}

#nav-sidebar th a,
#nav-sidebar td a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    border-radius: 12px;
    transition: all 0.18s ease;
}

#nav-sidebar th a {
    width: 100%;
    padding: 0 14px;
    color: var(--knc-text-sidebar) !important;
    background: linear-gradient(180deg, rgba(16, 40, 69, 0.96) 0%, rgba(12, 32, 57, 0.98) 100%) !important;
    border: 1px solid rgba(95, 148, 210, 0.12);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

#nav-sidebar th a:hover,
#nav-sidebar th a:focus {
    color: #ffffff !important;
    background: linear-gradient(180deg, rgba(23, 58, 99, 0.98) 0%, rgba(18, 48, 83, 0.99) 100%) !important;
    border-color: rgba(123, 193, 255, 0.28);
    transform: translateX(2px);
    box-shadow:
        0 6px 16px rgba(0, 0, 0, 0.18),
        0 0 0 1px rgba(77, 163, 255, 0.06) inset;
}

#nav-sidebar td a,
#nav-sidebar td .addlink,
#nav-sidebar td .changelink {
    justify-content: center;
    width: 100%;
    padding: 0 8px;
    color: var(--knc-success) !important;
    background: rgba(17, 54, 96, 0.50) !important;
    border: 1px solid rgba(126, 224, 129, 0.16);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

#nav-sidebar td a:hover,
#nav-sidebar td .addlink:hover,
#nav-sidebar td .changelink:hover,
#nav-sidebar td a:focus {
    color: #dfffe0 !important;
    background: rgba(24, 76, 62, 0.72) !important;
    border-color: rgba(126, 224, 129, 0.32);
    transform: translateY(-1px);
}

#nav-sidebar .current-model th a,
#nav-sidebar .current-app th a,
#nav-sidebar tr.current-model th a,
#nav-sidebar tr.current-app th a,
#nav-sidebar a.current-model,
#nav-sidebar a.current-app {
    color: #ffffff !important;
    background: linear-gradient(90deg, #1d5ea8 0%, #2778c9 100%) !important;
    border-color: rgba(145, 210, 255, 0.34) !important;
    box-shadow:
        0 8px 18px rgba(0, 0, 0, 0.20),
        inset 3px 0 0 rgba(255, 255, 255, 0.30);
}

#nav-sidebar .model-users th a,
#nav-sidebar .model-groups th a {
    font-weight: 700;
}

.toggle-nav-sidebar {
    background: linear-gradient(180deg, #1f68ad 0%, #19588f 100%) !important;
    color: #ffffff !important;
    border-right: 1px solid rgba(136, 198, 255, 0.20) !important;
}

/* Scrollbar sidebar */
#nav-sidebar::-webkit-scrollbar {
    width: 10px;
}

#nav-sidebar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
}

#nav-sidebar::-webkit-scrollbar-thumb {
    background: rgba(105, 168, 237, 0.28);
    border-radius: 999px;
}

#nav-sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(135, 193, 255, 0.40);
}

/* =========================
   TITULOS Y CONTENIDO
   ========================= */

#content h1 {
    font-family: "Orbitron", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: #f4f8ff;
    margin-bottom: 18px;
}

#content h2 {
    font-family: "Orbitron", sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: #eaf4ff;
}

#content h3 {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #eaf4ff;
}

.knc-dashboard-shell {
    margin-bottom: 28px;
}

.knc-page-header {
    margin-bottom: 18px;
}

.knc-admin-title {
    font-family: "Orbitron", sans-serif;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #ffffff;
    margin: 0;
}

.knc-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px 32px;
    margin-bottom: 22px;
    border-radius: 22px;
    background:
        radial-gradient(circle at top left, rgba(81, 164, 255, 0.12) 0%, rgba(81, 164, 255, 0.02) 25%, transparent 55%),
        linear-gradient(135deg, rgba(4, 20, 39, 0.98) 0%, rgba(5, 19, 37, 0.98) 35%, rgba(6, 28, 55, 0.98) 100%);
    border: 1px solid var(--knc-border-strong);
    box-shadow: var(--knc-shadow);
    overflow: hidden;
}

.knc-hero-body {
    flex: 1;
    min-width: 0;
}

.knc-hero-logo {
    flex: 0 0 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.knc-hero-logo img {
    max-width: 200px;
    width: 100%;
    height: auto;
    opacity: 0.95;
}

.knc-title {
    font-family: "Orbitron", sans-serif;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: 1.8px;
    color: #f5fbff;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    text-shadow: 0 0 12px rgba(77, 163, 255, 0.14);
}

.knc-subtitle {
    max-width: 860px;
    font-family: "Inter", sans-serif;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
    color: var(--knc-text-soft);
    margin: 0;
}

.knc-badges {
    margin-top: 18px;
}

.knc-badge {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 16px;
    margin: 6px 8px 0 0;
    border-radius: 999px;
    border: 1px solid rgba(95, 176, 255, 0.35);
    background: linear-gradient(180deg, rgba(16, 64, 112, 0.72) 0%, rgba(10, 46, 82, 0.82) 100%);
    color: #eff7ff;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.knc-badge:hover {
    transform: translateY(-1px);
    color: #ffffff;
    border-color: rgba(131, 207, 255, 0.5);
}

.knc-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.knc-card {
    background: linear-gradient(180deg, rgba(8, 28, 51, 0.98) 0%, rgba(10, 34, 61, 0.98) 100%);
    border: 1px solid var(--knc-border);
    border-radius: 20px;
    box-shadow: var(--knc-shadow);
    padding: 22px 24px;
}

.knc-card-title {
    font-family: "Orbitron", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #a9cfff;
    margin: 0 0 12px 0;
}

.knc-card-value {
    font-family: "Orbitron", sans-serif;
    font-size: 46px;
    line-height: 1;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 10px 0;
}

.knc-card-text {
    font-family: "Inter", sans-serif;
    font-size: 17px;
    line-height: 1.6;
    color: var(--knc-text-soft);
    margin: 0;
}

.knc-quick-section {
    margin-bottom: 28px;
}

.knc-section-title {
    font-family: "Orbitron", sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #edf6ff;
    text-transform: uppercase;
    margin: 0 0 18px 0;
}

.knc-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 16px;
}

.knc-quick-card {
    display: block;
    padding: 22px 20px;
    border-radius: 18px;
    border: 1px solid rgba(108, 176, 255, 0.24);
    background: linear-gradient(180deg, rgba(21, 67, 113, 0.78) 0%, rgba(13, 44, 78, 0.86) 100%);
    color: #ffffff;
    text-decoration: none;
    box-shadow: var(--knc-shadow);
    transition: all 0.2s ease;
}

.knc-quick-card:hover {
    transform: translateY(-2px);
    border-color: rgba(153, 212, 255, 0.42);
    color: #ffffff;
}

.knc-quick-card h3 {
    font-family: "Orbitron", sans-serif;
    font-size: 20px;
    margin: 0 0 10px 0;
    color: #ffffff;
}

.knc-quick-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #d7e7f8;
}

/* =========================
   GRID ADMIN DASHBOARD
   ========================= */

.knc-admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.knc-admin-left,
.knc-admin-right {
    min-width: 0;
}

.knc-admin-left .app-list {
    width: 100%;
}

.knc-admin-left .app-list .app-auth,
.knc-admin-left .app-list .app-debug_ingest,
.knc-admin-left .app-list .app-geolocation,
.knc-admin-left .app-list .app-orbital,
.knc-admin-left .app-list .app-core,
.knc-admin-left .app-list .app-noc,
.knc-admin-left .app-list .app-any {
    margin-bottom: 18px;
}

.knc-admin-left .module,
.knc-admin-right .module {
    background: linear-gradient(180deg, rgba(10, 28, 52, 0.96) 0%, rgba(8, 22, 42, 0.98) 100%);
    border: 1px solid var(--knc-border);
    border-radius: var(--knc-radius);
    box-shadow: var(--knc-shadow);
    overflow: hidden;
    margin-bottom: 18px;
}

.knc-admin-left .module caption,
.knc-admin-left .module h2,
.knc-admin-right .module h2 {
    background: linear-gradient(90deg, #123662 0%, #174a84 100%);
    color: #f3f8ff;
    font-family: "Orbitron", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin: 0;
}

.knc-admin-left table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.knc-admin-left th,
.knc-admin-left td {
    padding: 12px 14px;
    border-color: rgba(132, 174, 228, 0.14);
    background: transparent;
}

.knc-admin-left thead th {
    background: rgba(17, 54, 96, 0.85);
    color: #eef6ff;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    border-bottom: 1px solid rgba(126, 180, 238, 0.18);
}

.knc-admin-left tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.015);
}

.knc-admin-left tbody tr:hover {
    background: rgba(77, 163, 255, 0.07);
}

.knc-admin-left .module table th a,
.knc-admin-left .module table td a,
.knc-admin-right a {
    color: var(--knc-text);
    font-weight: 600;
}

.knc-admin-left .module table th a:hover,
.knc-admin-left .module table td a:hover,
.knc-admin-right a:hover {
    color: #ffffff;
}

.knc-recent-module .actionlist {
    list-style: none;
    padding: 14px 18px 18px;
    margin: 0;
}

.knc-recent-module .actionlist li {
    margin-bottom: 14px;
    color: var(--knc-text-soft);
    line-height: 1.45;
}

.knc-recent-module .actionlist li:last-child {
    margin-bottom: 0;
}

.knc-recent-module .mini {
    font-size: 12px;
    color: var(--knc-text-dim);
    margin-top: 3px;
}

.knc-empty-state {
    padding: 16px 18px 18px;
    margin: 0;
    color: var(--knc-text-soft);
}

/* =========================
   FORMULARIOS Y TABLAS ADMIN
   ========================= */

#searchbar,
input[type="text"]:not(#nav-filter input),
input[type="password"]:not(.knc-login-card input),
input[type="email"],
input[type="number"],
input[type="url"],
input[type="search"],
textarea,
select {
    background: rgba(255, 255, 255, 0.96);
    color: #10243f;
    border: 1px solid rgba(71, 126, 196, 0.22);
    border-radius: 12px;
    padding: 10px 12px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    box-shadow: none;
}

#searchbar:focus,
input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: rgba(97, 177, 255, 0.75);
    box-shadow: 0 0 0 3px rgba(77, 163, 255, 0.14);
}

fieldset,
.module,
.inline-group,
.dashboard #content {
    background: transparent;
}

.form-row,
.aligned .form-row {
    border-bottom: 1px solid rgba(129, 173, 228, 0.10);
}

thead th {
    background: rgba(14, 46, 82, 0.92);
    color: #eef6ff;
    font-weight: 700;
}

tbody td,
tbody th {
    color: #eaf4ff;
}

.row1,
.row2 {
    background: transparent;
}

tr:hover td,
tr:hover th {
    background: rgba(77, 163, 255, 0.05);
}

.help,
p.help,
.helptext {
    color: var(--knc-text-dim);
}

label,
.required label,
form .aligned label {
    color: var(--knc-text);
}

/* =========================
   BOTONES
   ========================= */

.button,
input[type=submit],
input[type=button],
.submit-row input,
a.button,
.button.default,
input.default {
    background: linear-gradient(180deg, #1f68ad 0%, #19588f 100%);
    color: #ffffff !important;
    border: 1px solid rgba(136, 198, 255, 0.22);
    border-radius: 12px;
    padding: 10px 16px;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    transition: all 0.2s ease;
}

.button:hover,
input[type=submit]:hover,
input[type=button]:hover,
.submit-row input:hover,
a.button:hover,
.button.default:hover,
input.default:hover {
    background: linear-gradient(180deg, #2878c4 0%, #1f68ad 100%);
    transform: translateY(-1px);
}

/* =========================
   PAGINAS INTERNAS DEL ADMIN
   ========================= */

.dashboard .module table th a,
.dashboard .module table td a,
.change-list .results a,
.object-tools a,
.submit-row a.deletelink,
.related-widget-wrapper-link,
.selector-chosen h2,
.selector-available h2 {
    color: var(--knc-text);
}

.object-tools a:hover,
.related-widget-wrapper-link:hover {
    color: #ffffff;
}

.selector select {
    background: rgba(255, 255, 255, 0.96);
    color: #10243f;
}

.paginator,
.paginator a:link,
.paginator a:visited {
    color: var(--knc-text-soft);
}

.paginator a:hover {
    color: #ffffff;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1280px) {
    .knc-title {
        font-size: 34px;
    }

    .knc-subtitle {
        font-size: 16px;
    }

    .knc-stat-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .knc-quick-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

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

    .knc-hero {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 22px;
    }

    .knc-title {
        font-size: 28px;
        letter-spacing: 1.1px;
    }

    .knc-stat-grid,
    .knc-quick-grid,
    .knc-admin-grid {
        grid-template-columns: 1fr;
    }

    .knc-hero-logo {
        flex: 0 0 auto;
    }
}

@media (max-width: 767px) {
    #nav-sidebar th {
        width: calc(100% - 64px);
    }

    #nav-sidebar td {
        width: 54px;
    }

    #nav-sidebar th a {
        font-size: 13px;
        padding: 0 12px;
    }

    #nav-sidebar td a,
    #nav-sidebar td .addlink,
    #nav-sidebar td .changelink {
        font-size: 12px;
        padding: 0 6px;
    }
}

@media (max-width: 640px) {
    #branding {
        padding: 10px 14px;
    }

    #branding h1,
    #branding h1 a:link,
    #branding h1 a:visited {
        font-size: 15px;
    }

    #user-tools {
        padding: 10px 14px;
        font-size: 12px;
    }

    .knc-title {
        font-size: 22px;
    }

    .knc-subtitle {
        font-size: 15px;
        line-height: 1.6;
    }
}
/* ============================= */
/* 🔥 FIX VISIBILIDAD FILAS CLARAS */
/* ============================= */

/* Filas claras del admin */
.knc-admin-left tbody tr:nth-child(even),
.knc-admin-left tbody tr:nth-child(even) td,
.knc-admin-left tbody tr:nth-child(even) th {
    background: #f4f7fb !important;
}

/* Texto en filas claras */
.knc-admin-left tbody tr:nth-child(even) a,
.knc-admin-left tbody tr:nth-child(even) td,
.knc-admin-left tbody tr:nth-child(even) th {
    color: #1e293b !important; /* gris oscuro elegante */
}

/* Acciones en filas claras */
.knc-admin-left tbody tr:nth-child(even) .addlink,
.knc-admin-left tbody tr:nth-child(even) td a {
    color: #166534 !important; /* verde oscuro visible */
    font-weight: 700;
}

/* Hover para filas claras */
.knc-admin-left tbody tr:nth-child(even):hover {
    background: #e6eef8 !important;
}
/* ============================= */
/* KNC FIX FINAL: TABLAS ADMIN OSCURAS */
/* ============================= */

/* Dashboard principal: quitar filas blancas y unificar en oscuro */
.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 {
    background: transparent !important;
}

/* Filas del listado */
.knc-admin-left .module table tbody tr {
    background: linear-gradient(180deg, rgba(10, 30, 54, 0.96) 0%, rgba(8, 24, 44, 0.98) 100%) !important;
}

/* Rayado oscuro alterno */
.knc-admin-left .module table tbody tr:nth-child(even) {
    background: linear-gradient(180deg, rgba(14, 38, 66, 0.96) 0%, rgba(10, 28, 49, 0.98) 100%) !important;
}

/* Hover */
.knc-admin-left .module table tbody tr:hover {
    background: linear-gradient(180deg, rgba(20, 55, 94, 0.98) 0%, rgba(14, 42, 74, 0.99) 100%) !important;
}

/* Nombre del modelo */
.knc-admin-left .module table tbody th,
.knc-admin-left .module table tbody td:first-child {
    color: #eef6ff !important;
    font-weight: 600 !important;
}

/* Links de modelos */
.knc-admin-left .module table tbody th a,
.knc-admin-left .module table tbody td a {
    color: #eef6ff !important;
}

/* Hover de links */
.knc-admin-left .module table tbody th a:hover,
.knc-admin-left .module table tbody td a:hover {
    color: #ffffff !important;
}

/* Acción Añadir */
.knc-admin-left .module table tbody td a.addlink,
.knc-admin-left .module table tbody td .addlink,
.knc-admin-left .module table tbody a[href*="/add/"] {
    color: #8eea7a !important;
    font-weight: 700 !important;
}

/* Acción Modificar / Change */
.knc-admin-left .module table tbody td a.changelink,
.knc-admin-left .module table tbody td .changelink,
.knc-admin-left .module table tbody a[href*="/change/"] {
    color: #ffd24d !important;
    font-weight: 700 !important;
}

/* Celdas con mejor respiración */
.knc-admin-left .module table tbody th,
.knc-admin-left .module table tbody td {
    border-top: 1px solid rgba(255, 255, 255, 0.02) !important;
    border-bottom: 1px solid rgba(84, 153, 255, 0.08) !important;
}

/* Evitar blancos heredados del admin nativo */
.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;
}
/* ============================= */
/* 🎯 NOC TEXT HIERARCHY SYSTEM */
/* ============================= */

/* 🔵 TITULOS / ELEMENTOS PRINCIPALES */
.knc-admin-left .module table tbody th,
.knc-admin-left .module table tbody th a {
    color: #f8fbff !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px;
}

/* 🔷 TEXTO SECUNDARIO */
.knc-card-text,
.knc-subtitle,
.knc-admin-left .mini,
.knc-admin-left .help,
.knc-admin-left .quiet {
    color: #9ec9ff !important;
}

/* 🔵 VALORES IMPORTANTES (LIVE, CU, etc.) */
.knc-card-value {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(77,163,255,0.25);
}

/* 🟢 ACCIONES POSITIVAS */
a[href*="/add/"],
.addlink {
    color: #8eff8e !important;
    font-weight: 700 !important;
}

/* 🟡 ACCIONES DE MODIFICACIÓN */
a[href*="/change/"],
.changelink {
    color: #ffd24d !important;
    font-weight: 700 !important;
}

/* ✨ HOVER GLOBAL MÁS VIVO */
.knc-admin-left a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 6px rgba(116,192,255,0.4);
}

/* 🔥 BADGES (tipo NOC pills) */
.knc-badge {
    color: #e6f4ff !important;
    border-color: rgba(116,192,255,0.4) !important;
}

.knc-badge:hover {
    background: rgba(77,163,255,0.15) !important;
}
/* ============================= */
/* KNC SIDEBAR REFINEMENT */
/* ============================= */

/* Sidebar más compacto y limpio */
#nav-sidebar table {
    border-spacing: 0 8px !important;
}

#nav-sidebar tr {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 10px 8px !important;
}

/* Columna del nombre del modelo */
#nav-sidebar th {
    width: auto !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
}

/* Columna de acciones */
#nav-sidebar td {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    justify-content: flex-end !important;
}

/* Botón principal del modelo */
#nav-sidebar th a {
    min-height: 44px !important;
    width: 100% !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(18, 45, 77, 0.98) 0%, rgba(12, 31, 55, 0.99) 100%) !important;
    border: 1px solid rgba(99, 158, 224, 0.14) !important;
    color: #eef6ff !important;
    font-weight: 700 !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.03),
        0 4px 10px rgba(0,0,0,0.12);
}

/* Hover del modelo */
#nav-sidebar th a:hover,
#nav-sidebar th a:focus {
    background: linear-gradient(180deg, rgba(24, 58, 98, 0.99) 0%, rgba(16, 43, 74, 1) 100%) !important;
    border-color: rgba(125, 193, 255, 0.24) !important;
    color: #ffffff !important;
    transform: translateX(2px);
}

/* Estado activo */
#nav-sidebar .current-model th a,
#nav-sidebar .current-app th a,
#nav-sidebar tr.current-model th a,
#nav-sidebar tr.current-app th a {
    background: linear-gradient(90deg, #1f5ea8 0%, #2b7cd0 100%) !important;
    color: #ffffff !important;
    border-color: rgba(153, 212, 255, 0.34) !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,0.18),
        inset 3px 0 0 rgba(255,255,255,0.28);
}

/* Acción Añadir más discreta y elegante */
#nav-sidebar td a,
#nav-sidebar td .addlink,
#nav-sidebar td .changelink {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(19, 58, 49, 0.72) !important;
    border: 1px solid rgba(126, 224, 129, 0.18) !important;
    color: #8eea7a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

/* Hover de Añadir */
#nav-sidebar td a:hover,
#nav-sidebar td .addlink:hover,
#nav-sidebar td .changelink:hover {
    background: rgba(28, 81, 67, 0.88) !important;
    border-color: rgba(126, 224, 129, 0.30) !important;
    color: #dcffd6 !important;
    transform: translateY(-1px);
}

/* Reducir ruido visual de secciones */
#nav-sidebar .module {
    margin-bottom: 18px !important;
}

#nav-sidebar .module caption,
#nav-sidebar .module h2 {
    margin-bottom: 10px !important;
}

/* Buscador del sidebar más integrado */
#nav-filter {
    padding-bottom: 16px !important;
}

#nav-filter input {
    border-radius: 14px !important;
    min-height: 44px !important;
    font-weight: 500 !important;
}
/* ============================= */
/* KNC INTERNAL ADMIN REFINEMENT */
/* ============================= */

/* Contenedores internos */
.change-list #content-main,
.change-form #content-main,
.delete-confirmation #content-main,
#content-related,
.inline-group,
.module.aligned,
.module {
    color: var(--knc-text) !important;
}

/* Cajas principales internas */
.change-list .module,
.change-form .module,
.delete-confirmation .module,
.inline-group,
#changelist,
#changelist-filter {
    background: linear-gradient(180deg, rgba(10, 28, 52, 0.96) 0%, rgba(8, 22, 42, 0.98) 100%) !important;
    border: 1px solid var(--knc-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--knc-shadow) !important;
    overflow: hidden;
}

/* Títulos de módulos */
.change-list .module h2,
.change-form .module h2,
.inline-group h2,
#changelist-filter h2,
#content-related .module h2 {
    background: linear-gradient(90deg, #123662 0%, #174a84 100%) !important;
    color: #f3f8ff !important;
    font-family: "Orbitron", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 14px 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* Formularios */
.aligned .form-row,
.form-row {
    background: transparent !important;
    border-bottom: 1px solid rgba(129, 173, 228, 0.10) !important;
    padding: 14px 18px !important;
}

.aligned label,
form .aligned label,
label {
    color: #eaf4ff !important;
    font-weight: 700 !important;
}

/* Ayudas */
.help,
p.help,
.helptext,
form .help,
form p.help,
form .helptext {
    color: var(--knc-text-dim) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* Inputs internos */
.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 {
    background: rgba(248, 251, 255, 0.97) !important;
    color: #10243f !important;
    border: 1px solid rgba(71, 126, 196, 0.24) !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
}

.change-form input:focus,
.change-form textarea:focus,
.change-form select:focus,
.change-list input:focus,
.change-list select:focus {
    outline: none !important;
    border-color: rgba(97, 177, 255, 0.75) !important;
    box-shadow: 0 0 0 3px rgba(77, 163, 255, 0.14) !important;
}

/* Tabla de resultados */
#result_list,
#result_list thead,
#result_list tbody,
#result_list tr,
#result_list th,
#result_list td {
    border-color: rgba(132, 174, 228, 0.12) !important;
}

#result_list thead th {
    background: rgba(17, 54, 96, 0.88) !important;
    color: #eef6ff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    border-bottom: 1px solid rgba(126, 180, 238, 0.20) !important;
}

#result_list thead th a {
    color: #eef6ff !important;
}

#result_list tbody tr {
    background: linear-gradient(180deg, rgba(10, 30, 54, 0.96) 0%, rgba(8, 24, 44, 0.98) 100%) !important;
}

#result_list tbody tr:nth-child(even) {
    background: linear-gradient(180deg, rgba(14, 38, 66, 0.96) 0%, rgba(10, 28, 49, 0.98) 100%) !important;
}

#result_list tbody tr:hover {
    background: linear-gradient(180deg, rgba(20, 55, 94, 0.98) 0%, rgba(14, 42, 74, 0.99) 100%) !important;
}

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

#result_list tbody a {
    color: #eef6ff !important;
    font-weight: 600 !important;
}

#result_list tbody a:hover {
    color: #ffffff !important;
}

/* Filtros laterales */
#changelist-filter {
    padding-bottom: 10px !important;
}

#changelist-filter h3 {
    color: #bfe0ff !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.9px !important;
    margin: 14px 16px 8px !important;
    font-weight: 700 !important;
}

#changelist-filter ul {
    margin: 0 0 12px 0 !important;
    padding: 0 12px !important;
}

#changelist-filter li {
    list-style: none !important;
    margin: 0 0 6px !important;
}

#changelist-filter li a,
#changelist-filter li.selected a {
    display: block !important;
    padding: 9px 12px !important;
    border-radius: 12px !important;
    color: #dcecff !important;
    background: rgba(16, 40, 69, 0.72) !important;
    border: 1px solid rgba(95, 148, 210, 0.10) !important;
    font-weight: 600 !important;
}

#changelist-filter li a:hover {
    color: #ffffff !important;
    background: rgba(21, 57, 98, 0.86) !important;
    border-color: rgba(123, 193, 255, 0.22) !important;
}

#changelist-filter li.selected a {
    background: linear-gradient(90deg, #1d5ea8 0%, #2778c9 100%) !important;
    color: #ffffff !important;
    border-color: rgba(145, 210, 255, 0.34) !important;
}

/* Object tools */
.object-tools {
    margin-bottom: 18px !important;
}

.object-tools a,
.object-tools .addlink {
    border-radius: 999px !important;
    padding: 10px 14px !important;
    background: linear-gradient(180deg, #1f68ad 0%, #19588f 100%) !important;
    border: 1px solid rgba(136, 198, 255, 0.22) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

.object-tools a:hover,
.object-tools .addlink:hover {
    background: linear-gradient(180deg, #2878c4 0%, #1f68ad 100%) !important;
}

/* Mensajes */
.messagelist li,
ul.messagelist li,
.success,
.warning,
.errornote {
    border-radius: 12px !important;
    border: 1px solid rgba(125, 193, 255, 0.20) !important;
    box-shadow: none !important;
}

.messagelist .success,
li.success {
    background: rgba(24, 76, 62, 0.72) !important;
    color: #eaffef !important;
}

.messagelist .warning,
li.warning {
    background: rgba(110, 84, 20, 0.72) !important;
    color: #fff7d8 !important;
}

.messagelist .error,
li.error,
.errornote {
    background: rgba(104, 31, 31, 0.78) !important;
    color: #ffe7e7 !important;
}

/* Inlines */
.inline-group .tabular table {
    background: transparent !important;
}

.inline-group .tabular thead th {
    background: rgba(17, 54, 96, 0.88) !important;
    color: #eef6ff !important;
}

.inline-group .tabular tr.form-row {
    background: transparent !important;
}

/* Selector dual */
.selector,
.selector-available,
.selector-chosen {
    background: transparent !important;
    color: var(--knc-text) !important;
}

.selector h2,
.selector-available h2,
.selector-chosen h2 {
    color: #eef6ff !important;
}

.selector select {
    background: rgba(248, 251, 255, 0.97) !important;
    color: #10243f !important;
}

/* Paginador */
.paginator {
    color: var(--knc-text-soft) !important;
    padding: 14px 0 0 !important;
}

.paginator a:link,
.paginator a:visited {
    color: #cfe3fb !important;
    font-weight: 600 !important;
}

.paginator a:hover {
    color: #ffffff !important;
}

/* Botones inferiores */
.submit-row {
    background: transparent !important;
    border-top: 1px solid rgba(129, 173, 228, 0.10) !important;
    padding: 16px 18px !important;
}

.submit-row .deletelink {
    background: linear-gradient(180deg, #8f2a2a 0%, #6e2020 100%) !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 180, 180, 0.18) !important;
}

.submit-row .deletelink:hover {
    background: linear-gradient(180deg, #aa3232 0%, #7f2525 100%) !important;
}
/* ============================= */
/* KNC FINAL POLISH: HEADER + BADGES */
/* ============================= */

/* Header más limpio y con mejor profundidad */
#header {
    background:
        linear-gradient(90deg, rgba(27, 74, 122, 0.98) 0%, rgba(35, 92, 151, 0.98) 48%, rgba(25, 72, 120, 0.98) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Branding más firme */
#branding {
    gap: 16px !important;
}

#branding h1,
#branding h1 a:link,
#branding h1 a:visited {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(116, 192, 255, 0.14);
}

/* Usuario y acciones */
#user-tools {
    color: #eaf4ff !important;
}

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

#user-tools a:hover {
    color: #dff0ff !important;
    text-shadow: 0 0 8px rgba(143, 211, 255, 0.18);
}

/* Badges del header */
.knc-top-actions {
    gap: 10px !important;
}

.knc-badge {
    min-height: 36px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(125, 193, 255, 0.30) !important;
    background: linear-gradient(180deg, rgba(18, 67, 112, 0.82) 0%, rgba(11, 47, 82, 0.90) 100%) !important;
    color: #eef7ff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.2px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04),
        0 6px 14px rgba(0,0,0,0.14) !important;
}

.knc-badge:hover {
    color: #ffffff !important;
    border-color: rgba(153, 212, 255, 0.44) !important;
    background: linear-gradient(180deg, rgba(26, 86, 144, 0.88) 0%, rgba(16, 59, 102, 0.94) 100%) !important;
    transform: translateY(-1px);
}

/* Breadcrumbs más legibles */
div.breadcrumbs {
    background: linear-gradient(90deg, rgba(11, 43, 78, 0.98) 0%, rgba(10, 37, 67, 0.98) 100%) !important;
    color: #dcecff !important;
    padding: 12px 22px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

div.breadcrumbs a {
    color: #ffffff !important;
    font-weight: 700 !important;
}

div.breadcrumbs a:hover {
    color: #dff1ff !important;
}

/* Botón toggle del sidebar */
.toggle-nav-sidebar {
    background: linear-gradient(180deg, #236fb9 0%, #1b5c99 100%) !important;
    color: #ffffff !important;
    border-right: 1px solid rgba(136, 198, 255, 0.24) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16) !important;
}

.toggle-nav-sidebar:hover {
    background: linear-gradient(180deg, #2b7dce 0%, #2168ab 100%) !important;
}

/* Logo un poco más nítido */
.knc-brand-logo {
    filter: drop-shadow(0 0 8px rgba(116, 192, 255, 0.12));
}

/* Afinar títulos de cards */
.knc-card-title,
.knc-section-title {
    text-shadow: 0 0 8px rgba(77, 163, 255, 0.08);
}

/* Valores importantes un poco más vivos */
.knc-card-value,
.knc-admin-title,
.knc-title {
    text-shadow:
        0 0 12px rgba(77, 163, 255, 0.12),
        0 1px 0 rgba(0, 0, 0, 0.20);
}
/* ============================= */
/* KNC PRODUCTION TUNING */
/* ============================= */

/* Menos brillo general, más lectura diaria */
.knc-title,
.knc-admin-title,
.knc-card-value,
.knc-section-title,
.knc-card-title {
    text-shadow: none !important;
}

/* Hero un poco más sobrio */
.knc-hero {
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24) !important;
    border-color: rgba(113, 186, 255, 0.26) !important;
}

/* Cards más limpias */
.knc-card,
.knc-admin-left .module,
.knc-admin-right .module,
.change-list .module,
.change-form .module,
.inline-group,
#changelist,
#changelist-filter {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
}

/* Badges más discretos */
.knc-badge {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03) !important;
    border-color: rgba(125, 193, 255, 0.24) !important;
}

/* Sidebar más calmado */
#nav-sidebar th a {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.02) !important;
}

#nav-sidebar th a:hover,
#nav-sidebar th a:focus {
    transform: none !important;
}

#nav-sidebar td a:hover,
#nav-sidebar td .addlink:hover,
#nav-sidebar td .changelink:hover {
    transform: none !important;
}

/* Object tools menos agresivos */
.object-tools a,
.object-tools .addlink,
.button,
input[type=submit],
input[type=button],
.submit-row input,
a.button,
.button.default,
input.default {
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14) !important;
}

/* Filas internas más suaves */
#result_list tbody tr:hover,
.knc-admin-left .module table tbody tr:hover {
    filter: brightness(1.04);
}

/* Breadcrumbs más limpios */
div.breadcrumbs {
    box-shadow: none !important;
}

/* Footer visual de formularios más ordenado */
.submit-row {
    box-shadow: none !important;
}
