/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Sora","arguments":[{"subsets":["latin"],"variable":"--font-display","weight":["600","700","800"]}],"variableName":"sora"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Sora Fallback';src: local("Arial");ascent-override: 85.29%;descent-override: 25.50%;line-gap-override: 0.00%;size-adjust: 113.73%
}.__className_af938a {font-family: 'Sora', 'Sora Fallback';font-style: normal
}.__variable_af938a {--font-display: 'Sora', 'Sora Fallback'
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"],"variable":"--font-body","weight":["400","500","600"]}],"variableName":"inter"} ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Inter Fallback';src: local("Arial");ascent-override: 90.44%;descent-override: 22.52%;line-gap-override: 0.00%;size-adjust: 107.12%
}.__className_37ef13 {font-family: 'Inter', 'Inter Fallback';font-style: normal
}.__variable_37ef13 {--font-body: 'Inter', 'Inter Fallback'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* SYNAPTIA — línea institucional / minimalista */
  --syn-void: #0B1220;
  --syn-night: #111827;
  --syn-navy: #172033;
  --syn-panel: #FFFFFF;
  --syn-panel-soft: #F7F8FA;

  /* Acentos sobrios, sin neon */
  --syn-violet: #3B5C95;
  --syn-violet-dark: #2F4B7A;
  --syn-violet-soft: rgba(59, 92, 149, .10);
  --syn-teal: #2F6F73;
  --syn-teal-soft: rgba(47, 111, 115, .10);
  --syn-blue: #4C75B2;

  --syn-ink: #111827;
  --syn-mist: #667085;
  --syn-line: rgba(17, 24, 39, .10);
  --syn-surface: #FFFFFF;
  --syn-surface-alt: #F5F6F8;
  --syn-sidebar: rgba(255,255,255,.94);
  --syn-card-glow: transparent;

  --syn-gradient: #2F4A7D;
  --syn-gradient-soft: linear-gradient(180deg, rgba(47,74,125,.07), rgba(47,111,115,.04));
  --syn-shadow-soft: 0 18px 42px rgba(16, 24, 40, .08), 0 2px 8px rgba(16, 24, 40, .04);
  --syn-shadow-card: 0 10px 28px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);
  --syn-ring: 0 0 0 4px rgba(47, 74, 125, .11);

  --color-primary: var(--syn-violet);
  --color-secondary: var(--syn-teal);
  --color-bg: var(--syn-surface-alt);
  --color-text: var(--syn-ink);
  --color-muted: var(--syn-mist);

  --radius-xs: 8px;
  --radius: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --shadow: var(--syn-shadow-card);
}

[data-theme="dark"] {
  --syn-ink: #F8FAFC;
  --syn-mist: #A4AAB6;
  --syn-line: rgba(255, 255, 255, .09);
  --syn-surface: #111827;
  --syn-surface-alt: #090E18;
  --syn-sidebar: rgba(12, 18, 30, .94);
  --syn-card-glow: transparent;
  --syn-shadow-soft: 0 18px 44px rgba(0,0,0,.30), 0 1px 0 rgba(255,255,255,.03);
  --syn-shadow-card: 0 12px 32px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.025);

  --color-bg: var(--syn-surface-alt);
  --color-text: var(--syn-ink);
  --color-muted: var(--syn-mist);
}

html { min-height: 100%; scroll-behavior: smooth; }

body {
  min-height: 100vh;
  font-family: var(--font-body), Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.6;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

[data-theme="dark"] body {
  background: linear-gradient(180deg, #090E18 0%, #0D1422 100%);
}

h1, h2, h3, h4, .font-display {
  font-family: var(--font-display), var(--font-body), sans-serif;
  letter-spacing: -.028em;
}

p { letter-spacing: -.008em; }
a { color: inherit; text-decoration: none; }

::selection { background: rgba(47, 74, 125, .24); color: var(--syn-ink); }

.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

button, input, select, textarea { font-family: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .68rem 1.08rem;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: .92rem;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease, opacity .14s ease;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.btn-primary {
  background: var(--syn-violet);
  color: #fff;
  border-color: var(--syn-violet-dark);
  box-shadow: 0 8px 18px rgba(47, 74, 125, .16);
}
.btn-primary:hover {
  background: var(--syn-violet-dark);
  box-shadow: 0 10px 22px rgba(47, 74, 125, .18);
}

.btn-secondary {
  background: var(--syn-teal);
  color: #fff;
  border-color: rgba(17,24,39,.08);
  box-shadow: 0 8px 18px rgba(47, 111, 115, .13);
}

.btn-outline {
  background: var(--syn-surface);
  border: 1px solid var(--syn-line);
  color: var(--syn-ink);
}
.btn-outline:hover {
  border-color: rgba(47,74,125,.35);
  box-shadow: var(--syn-ring);
}
[data-theme="dark"] .btn-outline {
  background: rgba(255,255,255,.035);
  color: var(--syn-ink);
}

.card {
  position: relative;
  background: var(--syn-surface);
  border: 1px solid var(--syn-line);
  border-radius: var(--radius-xl);
  box-shadow: var(--syn-shadow-card);
  padding: 1.5rem;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  overflow: hidden;
}
.card::before { display: none; }
.card > * { position: relative; z-index: 1; }
.card:hover {
  transform: translateY(-1px);
  box-shadow: var(--syn-shadow-soft);
  border-color: rgba(47, 74, 125, .18);
}
@media print {
  .card:hover { transform: none; }
  .card::before { display: none; }
}

.form-group { margin-bottom: 1.2rem; }
.form-group label {
  display: block;
  font-weight: 700;
  margin-bottom: .48rem;
  font-size: .84rem;
  color: var(--syn-mist);
}

.form-group input,
.form-group select,
.form-group textarea,
input,
select,
textarea {
  border: 1px solid var(--syn-line);
  border-radius: var(--radius);
  background: var(--syn-surface);
  color: var(--syn-ink);
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: .72rem .9rem;
  font-size: .95rem;
}

input:focus,
select:focus,
textarea:focus,
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: rgba(47,74,125,.55) !important;
  box-shadow: var(--syn-ring);
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .form-group textarea {
  background: rgba(255,255,255,.035);
  border-color: var(--syn-line);
  color: var(--syn-ink);
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: rgba(248,250,252,.42); }

.badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .28rem .68rem;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 800;
  border: 1px solid transparent;
}
.badge-green { background: rgba(47,111,115,.10); color: #285E61; border-color: rgba(47,111,115,.18); }
.badge-yellow { background: rgba(180, 124, 38, .10); color: #925F1F; border-color: rgba(180,124,38,.18); }
.badge-red { background: rgba(176, 65, 62, .10); color: #9F3A38; border-color: rgba(176,65,62,.18); }
.badge-blue { background: rgba(47,74,125,.10); color: #2F4A7D; border-color: rgba(47,74,125,.18); }
[data-theme="dark"] .badge-green { color: #8EC9C4; }
[data-theme="dark"] .badge-yellow { color: #D7B26A; }
[data-theme="dark"] .badge-red { color: #D99A97; }
[data-theme="dark"] .badge-blue { color: #A6B6D8; }

.sidebar-nav-item {
  position: relative;
  transition: background .16s ease, color .16s ease, transform .16s ease, border-color .16s ease !important;
}
.sidebar-nav-item:hover {
  background: rgba(47,74,125,.06) !important;
  transform: translateX(2px);
  box-shadow: none !important;
}
.sidebar-nav-item.active {
  background: rgba(47,74,125,.09) !important;
  color: var(--syn-ink) !important;
  box-shadow: inset 0 0 0 1px rgba(47,74,125,.12);
}
[data-theme="dark"] .sidebar-nav-item.active { color: #fff !important; }
.sidebar-nav-item.active:hover { transform: translateX(0); }

.logo-dark { display: none; }
[data-theme="dark"] .logo-light { display: none; }
[data-theme="dark"] .logo-dark { display: inline-block; }

.syn-soft-panel {
  background: rgba(47,74,125,.06);
  border: 1px solid rgba(47,74,125,.13);
  border-radius: var(--radius-xl);
  box-shadow: var(--syn-shadow-card);
}

.syn-glass {
  background: var(--syn-sidebar);
  border: 1px solid var(--syn-line);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}
[data-theme="dark"] .syn-glass {
  background: var(--syn-sidebar);
  border-color: var(--syn-line);
}

.informe-ia p { margin-bottom: 0.75rem; line-height: 1.75; font-size: 0.9rem; }
.informe-ia h3 { font-size: 1rem; font-weight: 800; margin: 1rem 0 0.5rem; }
.informe-ia h4 { font-size: 0.95rem; font-weight: 700; margin: 1rem 0 0.4rem; color: var(--color-primary); }
.informe-ia h5 { font-size: 0.9rem; font-weight: 700; margin: 0.75rem 0 0.3rem; }
.informe-ia hr { border: none; border-top: 1px solid var(--syn-line); margin: 0.75rem 0; }
.informe-ia strong { font-weight: 800; }

/* Módulos densos */
.syn-page-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
}

.syn-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.syn-kpi {
  border-radius: var(--radius-xl);
  border: 1px solid var(--syn-line);
  background: var(--syn-surface);
  box-shadow: var(--syn-shadow-card);
  padding: 1rem;
}

.syn-kpi-label {
  color: var(--syn-mist);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.syn-kpi-value {
  color: var(--syn-ink);
  font-size: 1.55rem;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: -.04em;
  margin-top: .35rem;
}

.syn-kpi-sub {
  color: var(--syn-mist);
  font-size: .78rem;
  margin-top: .3rem;
}

.syn-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .32rem .72rem;
  font-size: .76rem;
  font-weight: 800;
  color: var(--syn-ink);
  background: rgba(47,74,125,.08);
  border: 1px solid rgba(47,74,125,.13);
}

.syn-chip-teal {
  background: rgba(47,111,115,.08);
  border-color: rgba(47,111,115,.16);
}

.syn-chip-danger {
  background: rgba(176,65,62,.09);
  border-color: rgba(176,65,62,.16);
}

.syn-table-wrap {
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--syn-line);
  background: var(--syn-surface);
  box-shadow: var(--syn-shadow-card);
}

.syn-table-scroll {
  overflow: auto;
  width: 100%;
}

table.syn-table,
.syn-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .86rem;
}

.syn-table thead th,
table.syn-table thead th {
  text-align: left;
  padding: .86rem .95rem;
  background: rgba(17,24,39,.035);
  color: var(--syn-mist);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-weight: 850;
  border-bottom: 1px solid var(--syn-line);
}

[data-theme="dark"] .syn-table thead th,
[data-theme="dark"] table.syn-table thead th {
  background: rgba(255,255,255,.035);
}

.syn-table tbody td,
table.syn-table tbody td {
  padding: .9rem .95rem;
  border-bottom: 1px solid var(--syn-line);
  color: var(--syn-ink);
}

.syn-table tbody tr,
table.syn-table tbody tr {
  transition: background .14s ease;
}

.syn-table tbody tr:hover,
table.syn-table tbody tr:hover {
  background: rgba(47,74,125,.035);
}

.syn-table tbody tr:last-child td,
table.syn-table tbody tr:last-child td {
  border-bottom: none;
}

.syn-list-item {
  border: 1px solid var(--syn-line);
  border-radius: var(--radius-lg);
  background: var(--syn-surface);
  padding: .95rem;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.syn-list-item:hover {
  transform: translateY(-1px);
  border-color: rgba(47,74,125,.20);
}
[data-theme="dark"] .syn-list-item {
  background: rgba(255,255,255,.025);
}

.syn-icon-bubble {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(47,74,125,.08);
  color: var(--syn-violet);
  border: 1px solid rgba(47,74,125,.12);
}

.syn-progress {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(102,112,133,.14);
  border: 1px solid var(--syn-line);
}
.syn-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--syn-violet);
}

.recharts-wrapper text {
  fill: var(--syn-mist) !important;
  font-family: var(--font-body), system-ui !important;
}

.recharts-cartesian-grid line {
  stroke: rgba(102,112,133,.16) !important;
}

.recharts-tooltip-wrapper {
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.18));
}

.leaflet-container {
  border-radius: var(--radius-xl);
  background: var(--syn-surface-alt) !important;
}

.leaflet-control-container .leaflet-control {
  border: 1px solid var(--syn-line) !important;
  border-radius: var(--radius) !important;
  overflow: hidden;
  box-shadow: var(--syn-shadow-card) !important;
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: var(--syn-surface) !important;
  color: var(--syn-ink) !important;
  border: 1px solid var(--syn-line);
  box-shadow: var(--syn-shadow-card) !important;
  border-radius: var(--radius-lg) !important;
}

/* Scrollbars discretos */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(47,74,125,.36) transparent;
}
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb {
  background: rgba(47,74,125,.32);
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: content-box;
}
*::-webkit-scrollbar-track { background: transparent; }

@media (max-width: 860px) {
  .syn-page-title {
    align-items: flex-start;
    flex-direction: column;
  }
  .syn-table-wrap {
    border-radius: var(--radius-lg);
  }
}

@media (max-width: 720px) {
  .container { padding: 0 1rem; }
  .card { border-radius: var(--radius-lg); padding: 1.1rem; }
  .btn { width: auto; }
}


/* Ajustes de consolidación visual */
[data-theme="dark"] .card,
[data-theme="dark"] .syn-kpi,
[data-theme="dark"] .syn-table-wrap {
  background: #111827;
  border-color: rgba(255,255,255,.11);
}

[data-theme="dark"] .syn-glass {
  background: rgba(12,18,30,.96);
}

[data-theme="dark"] .syn-chip {
  color: #DDE5F2;
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.12);
}

[data-theme="dark"] .syn-progress {
  background: rgba(255,255,255,.10);
}

@media (max-width: 760px) {
  header .btn {
    padding: .5rem .7rem;
    font-size: .78rem;
  }
}


/* Ajustes específicos: dashboard y destacadas */
@media (max-width: 1180px) {
  [style*='grid-template-columns: 360px minmax(0, 1fr)'],
  [style*='gridTemplateColumns: "360px minmax(0, 1fr)"'] {
    grid-template-columns: 1fr !important;
  }
}


@media (max-width: 1080px) {
  .destacadas-shell {
    grid-template-columns: 1fr !important;
  }
}


/* Mejoras visuales para selects, tooltips y legibilidad */
select option,
select optgroup {
  background: var(--syn-surface);
  color: var(--syn-ink);
}

[data-theme="dark"] select option,
[data-theme="dark"] select optgroup {
  background: #172033;
  color: #F8FAFC;
}

.syn-chart-tooltip {
  background: var(--syn-surface) !important;
  border: 1px solid var(--syn-line) !important;
  border-radius: 12px !important;
  color: var(--syn-ink) !important;
  box-shadow: var(--syn-shadow-card) !important;
}

.syn-chart-tooltip .recharts-tooltip-label,
.syn-chart-tooltip .recharts-tooltip-item {
  color: var(--syn-ink) !important;
}

.syn-chart-tooltip .recharts-default-tooltip {
  background: transparent !important;
  border: none !important;
}

.syn-chart-tooltip .recharts-tooltip-item-list {
  color: var(--syn-ink) !important;
}

.syn-muted-strong {
  color: color-mix(in srgb, var(--syn-mist) 78%, white 22%);
}

@media (max-width: 1120px) {
  .graficos-municipal-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Fixes visuales: tooltips, tablas y botones-card */
button.card {
  color: var(--syn-ink);
}

[data-theme="dark"] .syn-table thead tr,
[data-theme="dark"] table.syn-table thead tr,
[data-theme="dark"] .syn-table thead th,
[data-theme="dark"] table.syn-table thead th {
  background: rgba(59, 92, 149, .18) !important;
  color: #D8E2F2 !important;
  border-bottom-color: rgba(255,255,255,.12) !important;
}

[data-theme="dark"] .syn-table tbody td,
[data-theme="dark"] table.syn-table tbody td {
  color: #D6DEEC !important;
}

[data-theme="dark"] .syn-table tbody td strong,
[data-theme="dark"] table.syn-table tbody td strong {
  color: #FFFFFF !important;
}

.syn-chart-tooltip {
  pointer-events: none !important;
  z-index: 30 !important;
}

.syn-chart-tooltip .recharts-default-tooltip {
  background: var(--syn-surface) !important;
  border: 1px solid var(--syn-line) !important;
  color: var(--syn-ink) !important;
  border-radius: 12px !important;
  box-shadow: var(--syn-shadow-card) !important;
}

.syn-chart-tooltip .recharts-tooltip-label,
.syn-chart-tooltip .recharts-tooltip-item,
.syn-chart-tooltip .recharts-tooltip-item-name,
.syn-chart-tooltip .recharts-tooltip-item-value {
  color: var(--syn-ink) !important;
}

