
/* ============================================================
   TOKENS — Portal Ciudadano, alineado a la referencia visual
   (referencia portal ciudadno.png / ilustraciones portal
   ciudadano.png §8-9): paleta y tipografía Inter exactas del
   kit de marca. Independiente del shell operativo "tech HUD"
   del CGM — ver design-system-cgm.md.
   ============================================================ */
/* ============================================================
   TOKENS — Portal Ciudadano · Alcaldía de Armenia
   Fuente: Manual de Identidad Visual Alcaldía de Armenia (M-DF-PFO-003, 17/01/2025)
   y "Paleta actual de colores" (2026). Institucional: verde #078930 (bandera),
   grises #666666 / #333332, texto negro 90 % (#1A1A1A).
   Tipografías: Lato (cuerpos), Paytone One (titulares, siempre en mayúscula),
   Alexandria (titulares complementarios).
   Verdes claros, menta y lima: solo decoración (no pasan AA como texto sobre blanco).
   ============================================================ */
:root{
  --sans:'Lato',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --display:'Paytone One','Lato',sans-serif;
  --heading:'Alexandria','Lato',sans-serif;
  /* Institucionales */
  --arm-green:#078930; --arm-green-700:#066F27; --arm-green-800:#05561F; --arm-green-900:#063D1A;
  --arm-gray:#666666; --arm-gray-dark:#333332; --arm-ink:#1A1A1A;
  /* Paleta actual 2026 + complementarios (decorativos) */
  --arm-green-bright:#3DBA39; --arm-mint:#37CE96; --arm-teal-900:#02626B; --arm-teal:#007D8E;
  --arm-lime:#8FBE22; --arm-leaf:#5DA331; --arm-aqua:#00A09A; --arm-mint-soft:#5AD59F;
  --arm-yellow:#F2C200; /* barra de acento de la iconografía institucional */
  /* Alias usados por los componentes heredados */
  --brand-50:rgba(7,137,48,.07); --brand-100:rgba(7,137,48,.14); --brand-200:#A9D8B6;
  --brand-400:#078930; --brand-600:#078930; --brand-700:#066F27; --brand-800:#05561F; --on-brand:#FFFFFF;
  --cyan-400:#007D8E; --cyan-500:#007D8E; --cyan-600:#02626B;
  --accent-100:rgba(7,137,48,.12); --accent-500:#078930; --accent-700:#066F27;
  --purple-100:rgba(0,125,142,.12); --purple-500:#007D8E; --purple-700:#02626B;
  --orange-100:rgba(242,194,0,.18); --orange-500:#C99700; --orange-700:#8A6700;
  --danger-50:rgba(192,57,43,.09); --danger-400:#C0392B; --danger-600:#A5321F;
  --navy-900:#063D1A;
  /* Estados de trámite (eje semántico propio; no se confunde con la marca) */
  --st-radicado:#007D8E; --st-radicado-tx:#FFFFFF;
  --st-gestion:#F2C200; --st-gestion-tx:#2A2200;
  --st-requiere:#C0392B; --st-requiere-tx:#FFFFFF;
  --st-respondido:#078930; --st-respondido-tx:#FFFFFF;
  --st-cerrado:#5C5C5C; --st-cerrado-tx:#FFFFFF;
  --st-borrador:#C9D3CD; --st-borrador-tx:#1A1A1A;
  /* Categorías de afectación de movilidad (catálogo de Incidentes) y tráfico */
  --cat-accidente:#D64545; --cat-congestion:#E8890C; --cat-infra:#2E86C1; --cat-eventos:#7B5EA7; --cat-emergencia:#B0216B;
  --trf-fluido:#078930; --trf-lento:#F2A900; --trf-congestionado:#D64545; --trf-bloqueado:#6B1414;
  /* Espaciado / radios / sombra */
  --sp-xs:4px; --sp-sm:8px; --sp-md:16px; --sp-lg:24px; --sp-xl:32px; --sp-xxl:48px;
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-pill:999px;
  --shadow-sm:0 2px 8px rgba(6,61,26,.08); --shadow-md:0 10px 28px rgba(6,61,26,.12); --shadow-lg:0 24px 56px rgba(6,61,26,.20);
  color-scheme: light;
}
[data-theme="light"]{
  --bg-page:#F4F7F5; --bg-surface:#FFFFFF; --bg-raised:#EEF3F0; --bg-sunken:#E3EBE6;
  --border:#DCE5DF; --border-strong:#C3D1C8;
  --text-primary:#1A1A1A; --text-secondary:#555555; --text-muted:#6B6B6B;
  --link:#066F27; --focus:#078930;
  --header-bg:#FFFFFF; --header-fg:#1A1A1A; --header-border:#DCE5DF;
  --footer-bg:#05561F; --footer-bg-2:#063D1A;
  --map-basemap:liberty;
}
/* Modo oscuro "Armenia de noche": neutros verde-petróleo derivados de #02626B/#078930,
   el verde brillante (#3DBA39) asume el rol primario y la menta los acentos. */
[data-theme="dark"]{
  color-scheme: dark;
  --bg-page:#0A1714; --bg-surface:#10221D; --bg-raised:#16302A; --bg-sunken:#071210;
  --border:#22413A; --border-strong:#2F574D;
  --text-primary:#EAF3EE; --text-secondary:#A8C2B7; --text-muted:#8FA99E;
  --link:#5FD08A; --focus:#5FD08A;
  --brand-50:rgba(61,186,57,.12); --brand-100:rgba(61,186,57,.22); --brand-200:#2F7A45;
  --brand-400:#3DBA39; --brand-600:#3DBA39; --brand-700:#5FD08A; --brand-800:#7FDCA0; --on-brand:#06140F;
  --accent-100:rgba(55,206,150,.16); --accent-500:#37CE96; --accent-700:#7FDCA0;
  --cyan-400:#2FB5C2; --cyan-500:#2FB5C2; --cyan-600:#5CCAD4;
  --purple-100:rgba(47,181,194,.16); --purple-500:#2FB5C2; --purple-700:#5CCAD4;
  --orange-100:rgba(242,194,0,.16); --orange-500:#F2C200; --orange-700:#F5D34D;
  --danger-50:rgba(232,98,84,.14); --danger-400:#EE7A6C; --danger-600:#F29A8F;
  --st-radicado:#2FB5C2; --st-radicado-tx:#06140F;
  --st-respondido:#3DBA39; --st-respondido-tx:#06140F;
  --st-cerrado:#7F8C86; --st-cerrado-tx:#06140F;
  --st-borrador:#2F574D; --st-borrador-tx:#EAF3EE;
  --navy-900:#071210;
  --header-bg:#0D1E1A; --header-fg:#EAF3EE; --header-border:#22413A;
  --footer-bg:#071210; --footer-bg-2:#050D0B;
  --shadow-sm:0 2px 8px rgba(0,0,0,.35); --shadow-md:0 10px 26px rgba(0,0,0,.42); --shadow-lg:0 22px 50px rgba(0,0,0,.55);
  --map-basemap:dark;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--text-primary);background:var(--bg-page);transition:background .2s ease,color .2s ease;}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.28;letter-spacing:-.01em;}
h1{font-size:32px;font-weight:700;} h2{font-size:24px;font-weight:700;} h3{font-size:18px;font-weight:600;} h4{font-size:15px;font-weight:600;}
p{margin:0 0 1em;}
a{color:var(--brand-600);}
img{max-width:100%;display:block;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}}
.icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.icon-sm{width:14px;height:14px;}
.icon-lg{width:24px;height:24px;}
.icon svg{width:100%;height:100%;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--brand-600);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:200;}
.skip-link:focus{left:0;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

/* ============================================================ HEADER — navy fijo, coherente con la referencia en ambos temas ============================================================ */
.site-header{position:sticky;top:0;z-index:60;background:var(--navy-900);border-bottom:1px solid rgba(255,255,255,.08);}
.header-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:var(--sp-lg);padding:14px var(--sp-lg);}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex-shrink:0;}
.brand-mark{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.brand-mark svg{width:22px;height:22px;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;}
.brand-text strong{font-size:16px;font-weight:800;letter-spacing:-.01em;}
.brand-text strong .brand-hl{background:linear-gradient(92deg,var(--cyan-500),var(--brand-400));-webkit-background-clip:text;background-clip:text;color:transparent;}
.brand-text small{font-size:11.5px;color:rgba(255,255,255,.6);font-weight:400;}
.main-nav{display:flex;align-items:center;gap:2px;flex:1;}
.main-nav a{text-decoration:none;color:rgba(255,255,255,.82);font-size:14.5px;font-weight:500;padding:10px 12px;border-radius:var(--r-sm);white-space:nowrap;}
.main-nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.main-nav a.active{color:#fff;background:rgba(255,255,255,.14);}
.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:none;color:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.icon-btn:hover{background:rgba(255,255,255,.1);color:#fff;}
.lang-switch{display:flex;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-pill);overflow:hidden;}
.lang-switch button{border:none;background:none;color:rgba(255,255,255,.75);font-size:12.5px;font-weight:600;padding:7px 11px;cursor:pointer;}
.lang-switch button.active{background:var(--brand-600);color:#fff;}
.hamburger{display:none;}
#authArea{display:flex;align-items:center;gap:8px;}
#authArea .btn-primary{background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff;}
#authArea .btn-primary:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.site-header .user-chip{border-color:rgba(255,255,255,.28);color:#fff;}
.site-header .user-chip:hover{background:rgba(255,255,255,.1);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 18px;border-radius:var(--r-md);font-size:14.5px;font-weight:600;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .05s;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--brand-600);color:var(--on-brand);}
.btn-primary:hover{background:var(--brand-700);}
.btn-secondary{background:var(--bg-surface);color:var(--brand-700);border-color:var(--brand-200);}
.btn-secondary:hover{background:var(--brand-50);}
.btn-ghost{background:none;color:var(--text-secondary);}
.btn-ghost:hover{background:var(--bg-raised);color:var(--text-primary);}
.btn-danger-outline{background:var(--bg-surface);color:var(--danger-400);border-color:var(--danger-400);}
.btn-danger-outline:hover{background:var(--danger-50);}
.btn-block{width:100%;}
.btn-sm{min-height:36px;padding:6px 12px;font-size:13px;border-radius:var(--r-sm);}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.user-menu{position:relative;}
.user-chip{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--border);border-radius:var(--r-pill);padding:5px 12px 5px 5px;cursor:pointer;color:var(--text-primary);}
.user-chip:hover{background:var(--bg-raised);}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);border:1px solid var(--brand-200);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;flex-shrink:0;}
.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);min-width:200px;padding:6px;display:none;z-index:70;}
.user-dropdown.open{display:block;}
.user-dropdown a,.user-dropdown button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:10px 10px;border-radius:var(--r-sm);border:none;background:none;color:var(--text-primary);font-size:14px;text-decoration:none;cursor:pointer;}
.user-dropdown a:hover,.user-dropdown button:hover{background:var(--bg-raised);}
.user-dropdown .logout-item{color:var(--danger-400);}
.user-dropdown .logout-item:hover{background:var(--danger-50);}
.user-dropdown hr{border:none;border-top:1px solid var(--border);margin:6px 2px;}

.global-search-bar{border-top:1px solid var(--border);background:var(--bg-surface);}
.global-search-bar.hidden{display:none;}
.gsb-inner{max-width:760px;margin:0 auto;padding:14px var(--sp-lg);position:relative;}
.gsb-inner input{width:100%;padding:12px 44px;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--bg-raised);color:var(--text-primary);}
.gsb-inner input:focus{outline:2px solid var(--brand-400);background:var(--bg-surface);}
.gsb-icon{position:absolute;left:30px;top:50%;transform:translateY(-50%);color:var(--text-muted);}
.gsb-close{position:absolute;right:26px;top:50%;transform:translateY(-50%);}
.gsb-results{margin-top:10px;display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto;}
.gsb-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 6px 4px;}
.gsb-item{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:var(--r-sm);cursor:pointer;color:var(--text-primary);text-decoration:none;font-size:14px;}
.gsb-item:hover{background:var(--bg-raised);}
.gsb-item .icon{color:var(--brand-600);}
.gsb-empty{padding:16px 6px;color:var(--text-muted);font-size:13.5px;}

@media (max-width:960px){
  .main-nav{position:fixed;top:65px;left:0;right:0;bottom:0;background:var(--bg-surface);flex-direction:column;align-items:stretch;padding:14px;gap:2px;transform:translateX(-100%);transition:transform .2s ease;overflow-y:auto;z-index:55;}
  .main-nav.open{transform:translateX(0);}
  .main-nav a{padding:14px 12px;font-size:16px;color:var(--text-secondary);}
  .main-nav a:hover{background:var(--bg-raised);color:var(--text-primary);}
  .main-nav a.active{color:var(--brand-700);background:var(--brand-50);}
  .hamburger{display:flex;}
  .lang-switch,.header-actions .icon-btn#btnSearch{display:none;}
}

/* ============================================================ LAYOUT / VIEWS ============================================================ */
main{display:block;}
.view{display:none;}
.view.active{display:block;}
.container{max-width:1240px;margin:0 auto;padding:0 var(--sp-lg);}
.section{padding:var(--sp-xxl) 0;}
.section-tight{padding:var(--sp-xl) 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-lg);flex-wrap:wrap;}
.section-head p{color:var(--text-secondary);margin:4px 0 0;}
.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--brand-600);margin-bottom:6px;}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:var(--sp-md);flex-wrap:wrap;}
.breadcrumb a{color:var(--text-secondary);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}

/* Hero — foto de ciudad + overlay, según referencia visual */
.hero{position:relative;color:#fff;padding:64px 0 130px;overflow:hidden;isolation:isolate;}
.hero-bg{position:absolute;inset:0;z-index:-2;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 62%;}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(11,29,51,.92) 0%,rgba(11,29,51,.72) 32%,rgba(11,29,51,.28) 58%,rgba(11,29,51,.12) 100%),linear-gradient(0deg,rgba(11,29,51,.55),rgba(11,29,51,0) 45%);}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-xl);align-items:start;}
.hero-eyebrow{font-size:14.5px;font-weight:600;color:#BFDBFE;margin-bottom:2px;}
.hero h1{font-size:42px;line-height:1.12;margin-bottom:14px;}
.hero h1 .hl-white{color:#fff;}
.hero h1 .hl-gradient{background:linear-gradient(92deg,var(--cyan-500),var(--brand-400) 75%);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;}
.hero p.lead{font-size:16.5px;color:rgba(255,255,255,.86);max-width:480px;margin-bottom:var(--sp-lg);}
.hero-search{position:relative;max-width:560px;}
.hero-search .icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--text-muted);}
.hero-search input{width:100%;padding:17px 20px 17px 52px;border-radius:var(--r-pill);border:none;background:#fff;color:var(--text-primary);font-size:15px;box-shadow:var(--shadow-lg);}
.hero-search input:focus{outline:3px solid var(--brand-400);}

.hero-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--sp-lg);color:var(--text-primary);display:flex;align-items:center;gap:var(--sp-md);margin-top:52px;}
.hero-card-main{flex:1;min-width:0;}
.hero-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.hero-card-top h3{margin:0;font-size:15.5px;}
.hero-card-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--accent-700);background:var(--accent-100);padding:4px 9px;border-radius:var(--r-pill);white-space:nowrap;}
.hero-card-count{font-size:34px;font-weight:800;color:var(--navy-900);line-height:1;margin:6px 0 2px;}
.hero-card-sub{font-size:13px;color:var(--text-secondary);margin-bottom:10px;}
.hero-card-link{font-size:13.5px;font-weight:600;color:var(--brand-600);text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.hero-card-link:hover{text-decoration:underline;}
.hero-card-illus{width:88px;height:96px;flex-shrink:0;}
.hero-card-illus img{width:100%;height:100%;object-fit:contain;}
@media (max-width:600px){.hero-card{flex-direction:column;text-align:center;} .hero-card-top{flex-direction:column;gap:6px;}}

@media (max-width:880px){.hero-inner{grid-template-columns:1fr;} .hero h1{font-size:31px;} .hero{padding-bottom:150px;}}

/* Shortcuts — 6 accesos rápidos con badge circular de color */
.shortcuts{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-md);margin-top:-84px;position:relative;z-index:2;}
.shortcut-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 18px;box-shadow:var(--shadow-md);text-decoration:none;color:var(--text-primary);display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s;position:relative;}
.shortcut-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.shortcut-card .sc-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.shortcut-card .sc-icon .icon{width:22px;height:22px;}
.shortcut-card h4{margin:0;font-size:14.5px;}
.shortcut-card p{margin:0;font-size:12.5px;color:var(--text-secondary);line-height:1.4;}
.shortcut-card .sc-arrow{position:absolute;right:16px;bottom:16px;color:var(--text-muted);}
.sc-blue .sc-icon{background:var(--brand-100);color:var(--brand-600);}
.sc-cyan .sc-icon{background:rgba(0,180,219,.14);color:var(--cyan-600,var(--cyan-500));}
[data-theme="dark"] .sc-cyan .sc-icon{color:var(--cyan-500);}
.sc-purple .sc-icon{background:var(--purple-100);color:var(--purple-500);}
.sc-green .sc-icon{background:var(--accent-100);color:var(--accent-700);}
[data-theme="dark"] .sc-green .sc-icon{color:var(--accent-500);}
.sc-navy .sc-icon{background:rgba(11,29,51,.10);color:var(--navy-900);}
[data-theme="dark"] .sc-navy .sc-icon{background:rgba(255,255,255,.12);color:var(--text-primary);}
.sc-orange .sc-icon{background:var(--orange-100);color:var(--orange-700);}
[data-theme="dark"] .sc-orange .sc-icon{color:var(--orange-500);}
@media (max-width:960px){.shortcuts{grid-template-columns:repeat(3,1fr);margin-top:var(--sp-lg);}}
@media (max-width:600px){.shortcuts{grid-template-columns:1fr 1fr;}}
@media (max-width:420px){.shortcuts{grid-template-columns:1fr;}}

/* Franja de confianza */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-lg);padding:var(--sp-lg) 0;}
.trust-item{display:flex;align-items:flex-start;gap:12px;}
.trust-item .icon{color:var(--brand-600);width:26px;height:26px;flex-shrink:0;margin-top:2px;}
.trust-item h4{margin:0 0 2px;font-size:14px;}
.trust-item p{margin:0;font-size:12.5px;color:var(--text-secondary);}
@media (max-width:880px){.trust-strip{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.trust-strip{grid-template-columns:1fr;}}

/* Puntos de atención */
.attention-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--sp-xl);align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-xl);}
.attention-section img{border-radius:var(--r-md);width:100%;object-fit:cover;box-shadow:var(--shadow-sm);}
@media (max-width:800px){.attention-section{grid-template-columns:1fr;}}

/* Home — 3 columnas (trámites / noticias / eventos+encuesta) */
.grid-home-3col{display:grid;grid-template-columns:1fr 1.15fr .95fr;gap:var(--sp-xl);align-items:start;}
.grid-home-3col .section-head{margin-bottom:14px;}
.grid-home-3col h3{font-size:16.5px;margin:0;}
@media (max-width:960px){.grid-home-3col{grid-template-columns:1fr;}}

.tramite-mini-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.tramite-mini-row:last-child{border-bottom:none;}
.tramite-mini-row .tmr-icon{width:38px;height:38px;border-radius:var(--r-sm);background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tramite-mini-row .tmr-icon .icon{width:17px;height:17px;}
.tramite-mini-row .tmr-main{flex:1;min-width:0;}
.tramite-mini-row .tmr-main h5{margin:0 0 2px;font-size:13.5px;font-weight:600;}
.tramite-mini-row .tmr-main span{font-size:12px;color:var(--text-muted);}
.tramite-mini-row .tmr-count{text-align:right;font-size:12.5px;font-weight:700;color:var(--text-primary);white-space:nowrap;}
.tramite-mini-row .tmr-count small{display:block;font-weight:400;color:var(--text-muted);font-size:10.5px;}

.news-feature{cursor:pointer;margin-bottom:14px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);}
.news-feature img{height:150px;object-fit:cover;}
.news-feature-body{padding:12px 14px;}
.news-feature .badge-destacada{display:inline-block;font-size:10.5px;font-weight:700;color:#fff;background:var(--brand-600);padding:3px 9px;border-radius:var(--r-pill);margin-bottom:6px;}
.news-feature h5{margin:0 0 4px;font-size:14px;}
.news-feature p{margin:0;font-size:12.5px;color:var(--text-secondary);}
.news-mini-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.news-mini-row:last-child{border-bottom:none;}
.news-mini-row img{width:56px;height:56px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;}
.news-mini-row .nmr-main{min-width:0;}
.news-mini-row .nmr-date{font-size:11px;color:var(--text-muted);}
.news-mini-row h5{margin:2px 0 0;font-size:13px;font-weight:600;line-height:1.3;}

.event-mini-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);}
.event-mini-row:last-child{border-bottom:none;}
.event-date-badge{width:48px;height:48px;border-radius:var(--r-sm);background:var(--brand-50);color:var(--brand-700);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;}
.event-date-badge .em{font-size:10px;font-weight:700;line-height:1;}
.event-date-badge .ed{font-size:15px;font-weight:800;line-height:1.2;}
.event-mini-row h5{margin:0 0 3px;font-size:13.5px;font-weight:600;}
.event-mini-row .emr-meta{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:5px;}

.survey-cta-card{background:linear-gradient(150deg,var(--brand-50),var(--accent-100));border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-md);display:flex;align-items:center;gap:12px;}
.survey-cta-card .sc-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--accent-700);background:var(--accent-100);padding:3px 9px;border-radius:var(--r-pill);margin-bottom:6px;}
[data-theme="dark"] .survey-cta-card .sc-badge{color:var(--accent-500);}
.survey-cta-card h5{margin:0 0 8px;font-size:13.5px;font-weight:600;}
.survey-cta-card img{width:64px;height:72px;object-fit:contain;flex-shrink:0;}

/* Cards grid generic */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md);}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-md);}
@media (max-width:960px){.grid-3{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr;}}

.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .15s,border-color .15s;}
.card:hover{box-shadow:var(--shadow-sm);}
.card-body{padding:var(--sp-md) var(--sp-lg) var(--sp-lg);}
.card-media{height:130px;background:linear-gradient(135deg,var(--brand-100),var(--accent-100));display:flex;align-items:center;justify-content:center;color:var(--brand-600);}
.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.tag{font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:var(--r-pill);background:var(--brand-50);color:var(--brand-700);}
.tag-muted{background:var(--bg-raised);color:var(--text-secondary);}
.card h4{margin-bottom:6px;}
.card p.desc{color:var(--text-secondary);font-size:13.5px;margin-bottom:10px;}
.card-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:10px;}
.card-link{display:inline-flex;align-items:center;gap:5px;color:var(--brand-600);font-weight:600;font-size:13.5px;text-decoration:none;}
.card-link:hover{text-decoration:underline;}
.tramite-card{cursor:pointer;display:flex;flex-direction:column;}

/* Empty state */
.empty-state{text-align:center;padding:var(--sp-xxl) var(--sp-md);color:var(--text-muted);}
.empty-state .icon-lg{margin:0 auto 12px;width:36px;height:36px;}

/* Filters toolbar */
.toolbar-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--sp-lg);}
.search-input{position:relative;flex:1;min-width:220px;}
.search-input .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);}
.search-input input{width:100%;padding:11px 14px 11px 38px;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--bg-surface);color:var(--text-primary);}
.search-input input:focus{outline:2px solid var(--brand-400);}
.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-secondary);font-size:13.5px;cursor:pointer;user-select:none;}
.filter-chip.active{background:var(--brand-600);border-color:var(--brand-600);color:#fff;}
.filter-chip:hover:not(.active){background:var(--bg-raised);}
.clear-link{font-size:13px;color:var(--text-muted);text-decoration:underline;background:none;border:none;cursor:pointer;}

/* Fields / forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-md);}
.field label{font-size:13.5px;font-weight:600;color:var(--text-primary);}
.field .hint{font-size:12px;color:var(--text-muted);}
.field.required label::after{content:" *";color:var(--danger-400);}
.field input,.field select,.field textarea{padding:11px 13px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);min-height:44px;}
.field textarea{min-height:96px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand-400);border-color:var(--brand-400);}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger-400);background:var(--danger-50);}
.field-error{font-size:12.5px;color:var(--danger-400);display:none;}
.field.invalid .field-error{display:block;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md);}
@media (max-width:600px){.field-row{grid-template-columns:1fr;}}
.input-with-action{position:relative;}
.input-with-action input{width:100%;padding-right:42px;}
.input-with-action button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--r-sm);}
.input-with-action button:hover{color:var(--text-primary);background:var(--bg-raised);}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text-secondary);margin-bottom:12px;}
.checkbox-row input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--brand-600);}
.checkbox-row a{color:var(--brand-600);}

/* Badges (status) */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill);white-space:nowrap;}

/* ============================================================ AUTH VIEW ============================================================ */
.auth-view{background:linear-gradient(180deg,var(--brand-50),var(--bg-page) 320px);min-height:calc(100vh - 65px);display:flex;align-items:center;justify-content:center;padding:var(--sp-xxl) var(--sp-md);}
/* Pantalla de login/registro aislada: sin nav ni footer, solo marca + idioma/tema */
body.auth-mode .site-header{box-shadow:none;border-bottom:1px solid rgba(255,255,255,.08);}
body.auth-mode .site-header .main-nav,
body.auth-mode .site-header #btnSearch,
body.auth-mode .site-header #authArea,
body.auth-mode .site-header .hamburger,
body.auth-mode .site-header .global-search-bar{display:none !important;}
body.auth-mode .site-footer{display:none !important;}
body.auth-mode #view-login.auth-view{min-height:calc(100vh - 65px);}
.auth-card{width:100%;max-width:440px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--sp-xl);}
.auth-tabs{display:flex;gap:4px;background:var(--bg-raised);padding:4px;border-radius:var(--r-md);margin-bottom:var(--sp-lg);}
.auth-tabs button{flex:1;padding:10px;border:none;background:none;border-radius:8px;font-weight:600;font-size:13.5px;color:var(--text-secondary);cursor:pointer;}
.auth-tabs button.active{background:var(--bg-surface);color:var(--brand-700);box-shadow:var(--shadow-sm);}
.auth-form{display:flex;flex-direction:column;}
.auth-form[hidden]{display:none;}
.link-forgot{font-size:13px;text-decoration:none;margin:-6px 0 var(--sp-md);display:inline-block;}
.link-forgot:hover{text-decoration:underline;}
.auth-note{font-size:12.5px;color:var(--text-muted);margin-top:var(--sp-md);text-align:center;}
.pending-banner{display:none;align-items:center;gap:8px;background:var(--brand-50);color:var(--brand-700);padding:10px 12px;border-radius:var(--r-md);font-size:13px;margin-bottom:var(--sp-md);}
.pending-banner.show{display:flex;}

/* ============================================================ TRAMITE DETALLE ============================================================ */
.tramite-header{display:flex;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap;align-items:flex-start;margin-bottom:var(--sp-lg);}
.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--sp-xl);align-items:start;}
@media (max-width:880px){.detail-grid{grid-template-columns:1fr;}}
.info-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);margin-bottom:var(--sp-md);}
.info-box h3{display:flex;align-items:center;gap:8px;}
.info-box h3 .icon{color:var(--brand-600);}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.checklist li{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;color:var(--text-secondary);}
.checklist li .icon{color:var(--accent-500);margin-top:2px;}
.side-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);margin-bottom:var(--sp-md);}
.side-card dl{margin:0;}
.side-card dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:12px;}
.side-card dt:first-child{margin-top:0;}
.side-card dd{margin:3px 0 0;font-size:14.5px;font-weight:500;}

/* ============================================================ STEPPER (radicación) ============================================================ */
.stepper{display:flex;align-items:center;margin-bottom:var(--sp-xl);}
.step-item{display:flex;align-items:center;gap:10px;flex:1;}
.step-circle{width:34px;height:34px;border-radius:50%;background:var(--bg-raised);border:2px solid var(--border-strong);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
.step-item.done .step-circle{background:var(--accent-500);border-color:var(--accent-500);color:#fff;}
.step-item.current .step-circle{background:var(--brand-600);border-color:var(--brand-600);color:#fff;}
.step-label{font-size:13px;font-weight:600;color:var(--text-muted);}
.step-item.current .step-label,.step-item.done .step-label{color:var(--text-primary);}
.step-line{flex:1;height:2px;background:var(--border-strong);margin:0 6px;}
.step-item.done + .step-line{background:var(--accent-500);}
@media (max-width:700px){.step-label{display:none;}}
.wizard-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-xl);}
.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:var(--sp-lg);padding-top:var(--sp-lg);border-top:1px solid var(--border);flex-wrap:wrap;}
.dropzone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-xl);text-align:center;color:var(--text-secondary);cursor:pointer;background:var(--bg-raised);}
.dropzone:hover,.dropzone.dragover{border-color:var(--brand-400);background:var(--brand-50);}
.dropzone .icon-lg{color:var(--brand-600);margin:0 auto 8px;}
.file-list{display:flex;flex-direction:column;gap:8px;margin-top:var(--sp-md);}
.file-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-md);font-size:13.5px;}
.file-row .icon{color:var(--brand-600);}
.file-row .fname{flex:1;font-weight:500;}
.file-row .fsize{color:var(--text-muted);font-size:12px;}
.file-row button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;}
.file-row button:hover{color:var(--danger-400);background:var(--danger-50);}
.review-summary{background:var(--bg-raised);border-radius:var(--r-md);padding:var(--sp-md);margin-bottom:var(--sp-md);}
.review-summary .rs-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);font-size:13.5px;}
.review-summary .rs-row:last-child{border-bottom:none;}
.review-summary .rs-row span:first-child{color:var(--text-secondary);}
.review-summary .rs-row span:last-child{font-weight:600;text-align:right;}

/* Confirmación */
.confirm-view{text-align:center;padding:var(--sp-xxl) var(--sp-md);}
.confirm-icon{width:76px;height:76px;border-radius:50%;background:var(--accent-100);color:var(--accent-500);display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-md);}
.confirm-icon .icon-lg{width:38px;height:38px;}
.radicado-number{font-size:28px;font-weight:700;color:var(--brand-700);background:var(--brand-50);display:inline-block;padding:12px 24px;border-radius:var(--r-md);margin:var(--sp-md) 0;letter-spacing:.02em;}
.confirm-actions{display:flex;gap:12px;justify-content:center;margin-top:var(--sp-lg);flex-wrap:wrap;}

/* ============================================================ MIS TRAMITES / SEGUIMIENTO ============================================================ */
.tabs-line{display:flex;gap:var(--sp-lg);border-bottom:1px solid var(--border);margin-bottom:var(--sp-lg);}
.tabs-line button{background:none;border:none;padding:12px 2px;font-size:14.5px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;}
.tabs-line button.active{color:var(--brand-700);border-color:var(--brand-600);}
.tramite-list-item{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.tramite-list-item:hover{border-color:var(--brand-200);box-shadow:var(--shadow-sm);}
.tli-icon{width:42px;height:42px;border-radius:var(--r-md);background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tli-main{flex:1;min-width:0;}
.tli-main h4{margin:0 0 3px;font-size:15px;}
.tli-main .tli-meta{font-size:12.5px;color:var(--text-muted);}
.tli-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;}

.timeline{list-style:none;margin:0;padding:0;position:relative;}
.timeline li{position:relative;padding:0 0 var(--sp-xl) 42px;}
.timeline li:last-child{padding-bottom:0;}
.timeline li::before{content:"";position:absolute;left:15px;top:30px;bottom:0;width:2px;background:var(--border-strong);}
.timeline li:last-child::before{display:none;}
.timeline li.done::before{background:var(--accent-500);}
.t-dot{position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--bg-raised);border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
.timeline li.done .t-dot{background:var(--accent-500);border-color:var(--accent-500);color:#fff;}
.timeline li.current .t-dot{background:var(--brand-600);border-color:var(--brand-600);color:#fff;}
.timeline li.attention .t-dot{background:var(--st-requiere);border-color:var(--st-requiere);color:#fff;}
.t-title{font-weight:700;font-size:14.5px;}
.t-date{font-size:12.5px;color:var(--text-muted);margin-bottom:4px;}
.t-note{font-size:13.5px;color:var(--text-secondary);background:var(--bg-raised);padding:10px 12px;border-radius:var(--r-md);margin-top:8px;}
.requirement-box{background:var(--danger-50);border:1px solid rgba(192,57,43,.3);border-radius:var(--r-lg);padding:var(--sp-lg);margin:var(--sp-lg) 0;}
.requirement-box h4{color:var(--danger-600);display:flex;align-items:center;gap:8px;}

/* ============================================================ FAQ / ACCORDION ============================================================ */
.accordion-item{border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden;background:var(--bg-surface);}
.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:none;border:none;text-align:left;font-size:15px;font-weight:600;color:var(--text-primary);cursor:pointer;}
.accordion-trigger .icon{color:var(--text-muted);transition:transform .15s;flex-shrink:0;}
.accordion-item.open .accordion-trigger .icon{transform:rotate(180deg);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .2s ease;}
.accordion-item.open .accordion-panel{max-height:400px;}
.accordion-panel-inner{padding:0 18px 16px;color:var(--text-secondary);font-size:14px;}

/* ============================================================ ENCUESTAS ============================================================ */
.survey-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);margin-bottom:var(--sp-md);}
.survey-options{display:flex;flex-direction:column;gap:8px;margin:var(--sp-md) 0;}
.survey-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;font-size:14.5px;}
.survey-option:hover{background:var(--bg-raised);}
.survey-option input{width:18px;height:18px;accent-color:var(--brand-600);}
.survey-done{background:var(--accent-100);color:var(--accent-700);padding:12px 14px;border-radius:var(--r-md);font-size:13.5px;display:flex;align-items:center;gap:8px;}
.bar-row{display:grid;grid-template-columns:170px 1fr 46px;align-items:center;gap:10px;margin-bottom:10px;font-size:13.5px;}
.bar-track{height:12px;background:var(--bg-raised);border-radius:var(--r-pill);overflow:hidden;}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-600),var(--accent-500));border-radius:var(--r-pill);}

/* ============================================================ DIRECTORIO / MAPA ============================================================ */
.directorio-layout{display:grid;grid-template-columns:360px 1fr;gap:var(--sp-lg);height:640px;}
@media (max-width:880px){.directorio-layout{grid-template-columns:1fr;height:auto;}}
.dir-list{overflow-y:auto;padding-right:4px;}
.dir-item{padding:14px;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:10px;cursor:pointer;background:var(--bg-surface);}
.dir-item:hover,.dir-item.selected{border-color:var(--brand-400);box-shadow:var(--shadow-sm);}
.dir-item h4{margin:0 0 4px;font-size:14.5px;}
.dir-item .dir-meta{font-size:12.5px;color:var(--text-secondary);display:flex;gap:6px;align-items:flex-start;margin-top:4px;}
.dir-item .dir-meta .icon{margin-top:2px;flex-shrink:0;color:var(--text-muted);}
.map-wrap{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);min-height:340px;}
#dirMap{position:absolute;inset:0;}
.dir-marker{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--brand-600);border:2.5px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.dir-marker svg{transform:rotate(45deg);width:15px;height:15px;stroke:#fff;stroke-width:2;fill:none;}
.dir-marker.active{background:var(--accent-500);}
.maplibregl-popup-content{background:var(--bg-surface) !important;color:var(--text-primary) !important;border-radius:var(--r-md) !important;box-shadow:var(--shadow-md) !important;font-family:var(--sans) !important;padding:14px !important;}
.maplibregl-popup-tip{border-top-color:var(--bg-surface) !important;}
.popup-title{font-weight:700;font-size:14px;margin-bottom:6px;}
.popup-row{font-size:12.5px;color:var(--text-secondary);margin-bottom:3px;}
.popup-link{font-size:12.5px;color:var(--brand-600);font-weight:600;text-decoration:none;}

/* Noticia detail */
.article-body{font-size:16px;color:var(--text-primary);max-width:740px;}
.article-body p{margin-bottom:1.1em;color:var(--text-secondary);}
.article-hero{height:220px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--brand-100),var(--accent-100));margin-bottom:var(--sp-lg);display:flex;align-items:center;justify-content:center;color:var(--brand-600);}

/* Perfil */
.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:var(--sp-xl);}
@media (max-width:800px){.profile-grid{grid-template-columns:1fr;}}
.profile-side{text-align:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-xl);height:fit-content;}
.profile-side .avatar{width:76px;height:76px;font-size:22px;margin:0 auto 12px;}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(10,16,24,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:100;padding:var(--sp-md);}
.modal-overlay.show{display:flex;}
.modal-box{background:var(--bg-surface);border-radius:var(--r-lg);max-width:420px;width:100%;padding:var(--sp-xl);box-shadow:var(--shadow-lg);}
.modal-box h3{margin-bottom:8px;}
.modal-box p{color:var(--text-secondary);font-size:14px;}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:var(--sp-lg);}
#checkModalOverlay .modal-box{max-width:460px;}
.check-result{margin-top:14px;background:var(--bg-raised);color:var(--text-primary);border-radius:var(--r-md);padding:12px 14px;font-size:13.5px;display:none;}
.check-result.show{display:block;}
.check-result.notfound{color:var(--danger-600);}

/* Toast */
.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center;}
.toast{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);padding:13px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-lg);font-size:14px;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s;}
.toast.show{opacity:1;transform:translateY(0);}
.toast .icon{color:var(--accent-500);}

/* Footer — navy fijo, igual al header en ambos temas */
.site-footer{background:var(--navy-900) !important;border-top:1px solid rgba(255,255,255,.08);margin-top:var(--sp-xxl);color:rgba(255,255,255,.72);}
.site-footer .brand{color:#fff;}
.site-footer .brand-mark{background:rgba(255,255,255,.06);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-xl);padding:var(--sp-xxl) 0 var(--sp-lg);}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h5{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.5);margin-bottom:14px;}
.footer-grid a{display:block;color:rgba(255,255,255,.72);text-decoration:none;font-size:14px;margin-bottom:10px;}
.footer-grid a:hover{color:#fff;text-decoration:underline;}
.footer-grid p{color:rgba(255,255,255,.68) !important;}
.footer-grid span{color:rgba(255,255,255,.72) !important;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--sp-md) 0 var(--sp-xl);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12.5px;color:rgba(255,255,255,.5);}
.footer-partners{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);}
.footer-partners img{height:38px;width:auto;max-width:130px;object-fit:contain;background:transparent;}
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;}
::-webkit-scrollbar-track{background:transparent;}


/* ============================================================
   CAPA DE IDENTIDAD — Alcaldía de Armenia (sobre los componentes base)
   ============================================================ */
body{letter-spacing:.005em;}
h1,h2,h3,h4{font-family:var(--heading);letter-spacing:-.005em;}
h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:30px;letter-spacing:.01em;line-height:1.15;}
a{color:var(--link);}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}
.eyebrow{color:var(--link);font-family:var(--heading);}
.card-link,.hero-card-link,.popup-link,.checkbox-row a{color:var(--link);}
.btn{font-family:var(--sans);font-weight:700;}
.btn-secondary{color:var(--link);border-color:var(--border-strong);}
.tag{color:var(--link);}
.tabs-line button.active,.auth-tabs button.active{color:var(--link);}
.radicado-number{color:var(--link);}
.skip-link{background:var(--arm-green-800);}

/* ---------- Barra GOV.CO (lineamientos MinTIC — por confirmar con AUREOS) ---------- */
.govco-bar{background:#3366CC;color:#fff;font-size:12.5px;}
.govco-inner{max-width:1280px;margin:0 auto;padding:6px var(--sp-lg);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.govco-mark{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.04em;font-size:14px;}
.govco-mark .gm-dot{width:18px;height:18px;border-radius:50%;background:#fff;color:#3366CC;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;}
.govco-inner span.gi-note{opacity:.9;}
@media (max-width:600px){.govco-inner span.gi-note{display:none;}}

/* ---------- Encabezado institucional ---------- */
.site-header{background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:0 1px 0 rgba(0,0,0,.02);}
.site-header::before{content:"";display:block;height:4px;background:var(--arm-green);}
.header-inner{padding:10px var(--sp-lg);}
.brand{color:var(--header-fg);gap:14px;}
.brand-logo{height:50px;width:auto;display:block;}
.brand-logo.logo-dark{display:none;}
[data-theme="dark"] .brand-logo.logo-light{display:none;}
[data-theme="dark"] .brand-logo.logo-dark{display:block;}
.brand-portal{border-left:2px solid var(--border);padding-left:14px;line-height:1.15;display:flex;flex-direction:column;}
.brand-portal strong{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:15px;color:var(--link);letter-spacing:.02em;}
.brand-portal small{font-size:11.5px;color:var(--text-secondary);}
@media (max-width:1180px){.brand-portal{display:none;}}
.main-nav a{color:var(--text-primary);font-weight:700;font-size:14.5px;position:relative;}
.main-nav a:hover{background:var(--brand-50);color:var(--link);}
.main-nav a.active{background:none;color:var(--link);}
.main-nav a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:3px;border-radius:2px;background:var(--arm-yellow);}
.icon-btn{border-color:var(--border-strong);color:var(--text-primary);position:relative;}
.icon-btn:hover{background:var(--brand-50);color:var(--link);}
.lang-switch{border-color:var(--border-strong);}
.lang-switch button{color:var(--text-secondary);}
.lang-switch button.active{background:var(--brand-600);color:var(--on-brand);}
#authArea .btn-primary{background:var(--brand-600);border:none;color:var(--on-brand);}
#authArea .btn-primary:hover{background:var(--brand-700);}
.site-header .user-chip{border-color:var(--border-strong);color:var(--text-primary);}
.site-header .user-chip:hover{background:var(--brand-50);}
@media (max-width:960px){.main-nav{top:var(--hdr-h,92px);} .brand-logo{height:42px;}}
body.auth-mode .site-header{border-bottom:1px solid var(--header-border);}

/* Notificaciones (HU-PC-15) */
.notif-wrap{position:relative;}
.notif-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--danger-400);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--header-bg);}
.notif-panel{position:absolute;right:0;top:calc(100% + 10px);width:360px;max-width:calc(100vw - 24px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:80;display:none;}
.notif-panel.open{display:block;}
.notif-panel header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);}
.notif-panel header b{font-family:var(--heading);font-size:15px;}
.notif-panel header button{background:none;border:none;color:var(--link);font-weight:700;font-size:12.5px;cursor:pointer;min-height:32px;}
.notif-list{max-height:360px;overflow:auto;}
.notif-item{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;background:none;border-left:3px solid transparent;color:var(--text-primary);font:inherit;}
.notif-item:hover{background:var(--bg-raised);}
.notif-item.unread{border-left-color:var(--arm-yellow);background:var(--brand-50);}
.notif-item .icon{color:var(--link);margin-top:2px;}
.notif-item b{display:block;font-size:13.5px;}
.notif-item small{display:block;color:var(--text-secondary);font-size:12.5px;margin-top:2px;}
.notif-empty{padding:18px 14px;color:var(--text-muted);font-size:13.5px;}

/* ---------- Carrusel de banners institucionales ---------- */
.banner-carousel{position:relative;background:var(--arm-green-900);overflow:hidden;}
.bc-track{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1);}
.bc-slide{min-width:100%;position:relative;aspect-ratio:1600/500;max-height:520px;display:block;cursor:pointer;border:0;padding:0;background:none;}
.bc-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.bc-slide.bc-html{background:linear-gradient(105deg,#063D1A 0%,#05561F 45%,#02626B 100%);color:#fff;text-align:left;overflow:hidden;}
.bc-html .bc-photo{position:absolute;right:0;top:0;bottom:0;width:48%;}
.bc-html .bc-photo img{width:100%;height:100%;object-fit:cover;}
.bc-html .bc-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05561F 0%,rgba(5,86,31,.35) 30%,rgba(5,86,31,0) 60%);z-index:1;}
.bc-html .bc-copy{position:absolute;left:6%;top:50%;transform:translateY(-50%);max-width:46%;z-index:2;}
.bc-html .bc-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#05561F;font-weight:900;font-size:13px;padding:6px 14px;border-radius:999px;margin-bottom:14px;}
.bc-html h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(20px,3.1vw,44px);line-height:1.05;margin:0 0 10px;color:#fff;}
.bc-html h2 em{font-style:normal;color:var(--arm-mint);}
.bc-html p{font-size:clamp(12px,1.25vw,17px);color:rgba(255,255,255,.9);margin:0 0 16px;}
.bc-html .bc-cta{display:inline-flex;align-items:center;gap:8px;background:var(--arm-yellow);color:#2A2200;font-weight:900;padding:10px 18px;border-radius:999px;font-size:14px;}
.bc-ctrl{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;align-items:center;gap:10px;z-index:3;}
.bc-dots{display:flex;gap:8px;background:rgba(6,61,26,.55);padding:7px 12px;border-radius:999px;backdrop-filter:blur(4px);}
.bc-dot{width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer;}
.bc-dot[aria-current="true"]{background:#fff;width:26px;border-radius:6px;}
.bc-btn{width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:#05561F;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);}
.bc-btn:hover{background:#fff;}
.bc-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;}
.bc-prev{left:16px;} .bc-next{right:16px;}
.bc-pause{width:36px;height:36px;}
@media (max-width:700px){.bc-nav{display:none;} .bc-html .bc-copy{max-width:88%;left:5%;} .bc-html .bc-photo{width:60%;opacity:.45;} .bc-html p,.bc-html .bc-cta{display:none;} .bc-html .bc-pill{font-size:10px;padding:3px 8px;margin-bottom:6px;} .bc-html h2{font-size:17px;}
  .bc-ctrl{position:static;padding:8px 0 10px;background:var(--arm-green-900);} .bc-dots{background:none;padding:4px;} .home-hub{margin-top:14px;}}

/* ---------- Banda de búsqueda + Mis trámites ---------- */
.home-hub{position:relative;z-index:2;margin-top:-34px;}
.hub-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1.6fr 1fr;overflow:hidden;}
.hub-search{padding:26px 28px;}
.hub-search h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:24px;margin:0 0 4px;color:var(--text-primary);}
.hub-search p{color:var(--text-secondary);margin:0 0 14px;font-size:14.5px;}
.hub-search .hero-search{max-width:none;}
.hub-search .hero-search input{background:var(--bg-raised);border:1.5px solid var(--border-strong);box-shadow:none;color:var(--text-primary);}
.hub-search .hero-search input:focus{outline:3px solid var(--focus);background:var(--bg-surface);}
.hub-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.hub-chips button{border:1px solid var(--border-strong);background:var(--bg-surface);border-radius:999px;padding:7px 12px;font-size:13px;color:var(--text-secondary);cursor:pointer;min-height:36px;}
.hub-chips button:hover{border-color:var(--brand-600);color:var(--link);}
.hub-mine{background:linear-gradient(160deg,var(--arm-green-800),var(--arm-teal-900));color:#fff;padding:24px 26px;display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;overflow:hidden;}
.hub-mine::after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;border:26px solid rgba(255,255,255,.07);}
.hub-mine h3{color:#fff;margin:0;font-size:17px;}
.hub-mine .hero-card-count{color:#fff;font-family:var(--display);font-weight:400;font-size:40px;}
.hub-mine .hero-card-sub,.hub-mine p{color:rgba(255,255,255,.86) !important;}
.hub-mine .hero-card-link{color:#fff;text-decoration:underline;}
.hub-mine .hero-card-badge{background:rgba(255,255,255,.16);color:#fff;}
.hub-mine .hub-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.hub-mine .btn-light{background:#fff;color:#05561F;}
.hub-mine .btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);}
@media (max-width:860px){.hub-card{grid-template-columns:1fr;} .home-hub{margin-top:16px;}}

/* ---------- Accesos rápidos: patrón de iconografía institucional ---------- */
.shortcuts{margin-top:var(--sp-xl);}
.shortcut-card{border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:18px 16px 20px;}
.shortcut-card .sc-icon{width:52px;height:52px;border-radius:6px;position:relative;color:#fff !important;}
.shortcut-card .sc-icon::after{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);width:22px;height:5px;background:var(--arm-yellow);border-radius:1px;}
.shortcut-card .sc-icon .icon{width:24px;height:24px;stroke-width:2;}
.shortcut-card h4{font-family:var(--heading);font-size:14.5px;margin-top:6px;}
.sc-blue .sc-icon{background:#078930 !important;}
.sc-cyan .sc-icon{background:#007D8E !important;}
.sc-purple .sc-icon{background:#02626B !important;}
.sc-green .sc-icon{background:#D64545 !important;}
.sc-navy .sc-icon{background:#5DA331 !important;}
.sc-orange .sc-icon{background:#00A09A !important;}
.sc-navy .sc-icon .icon,.sc-orange .sc-icon .icon{color:#fff;}
[data-theme="dark"] .shortcut-card .sc-icon{filter:saturate(1.05) brightness(1.08);}

/* ---------- Títulos de sección con chevrón institucional ---------- */
.sec-title{display:flex;align-items:center;gap:10px;margin:0;}
.sec-title::before{content:"›";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;background:var(--arm-green);color:#fff;font-family:var(--sans);font-weight:900;font-size:20px;line-height:1;flex-shrink:0;}
.home-block{padding-top:var(--sp-xxl);}
.home-block .section-head{margin-bottom:var(--sp-md);align-items:center;}
.home-block h2.sec-title{font-size:22px;}

/* ---------- Estado de movilidad hoy (HU-PC-27) ---------- */
.mov-home{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-surface);}
.mov-home-l{padding:24px;}
.mov-home-l .sub{color:var(--text-secondary);font-size:14px;margin:4px 0 14px;}
.mov-home-r{position:relative;min-height:320px;background:var(--bg-sunken);}
.mov-home-r .mini-map{position:absolute;inset:0;}
.mov-home-r .mm-open{position:absolute;right:12px;bottom:12px;z-index:2;}
.mov-total{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.mov-total b{font-family:var(--display);font-weight:400;font-size:44px;line-height:1;color:var(--link);}
.mov-total span{font-weight:700;color:var(--text-secondary);}
.mov-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.mov-cat{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:6px 11px;font-size:13px;background:var(--bg-raised);}
.mov-cat i{width:10px;height:10px;border-radius:50%;display:inline-block;}
.mov-cat b{font-weight:900;}
.mov-high{display:flex;flex-direction:column;gap:8px;}
.mov-high .mh{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border);cursor:pointer;background:var(--bg-surface);text-align:left;width:100%;font:inherit;color:var(--text-primary);}
.mov-high .mh:hover{border-color:var(--brand-600);}
.mov-high .mh .dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex-shrink:0;}
.mov-high .mh small{display:block;color:var(--text-secondary);font-size:12.5px;}
.mov-high .mh .kind{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);}
@media (max-width:880px){.mov-home{grid-template-columns:1fr;} .mov-home-r{min-height:260px;}}

/* ---------- Noticias con piezas institucionales ---------- */
.news-layout{display:grid;grid-template-columns:1.1fr 1.9fr;gap:var(--sp-lg);}
.news-lead{border-radius:var(--r-lg);overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;font:inherit;color:inherit;}
.news-lead .nl-img{aspect-ratio:4/4.2;overflow:hidden;background:var(--bg-sunken);}
.news-lead .nl-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s;}
.news-lead:hover .nl-img img{transform:scale(1.03);}
.news-lead .nl-body{padding:16px 18px 18px;}
.news-lead h3{font-size:19px;margin:6px 0;}
.news-lead p{color:var(--text-secondary);font-size:14px;margin:0;}
.news-grid4{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md);}
.news-card{border-radius:var(--r-md);overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;font:inherit;color:inherit;transition:box-shadow .15s,transform .15s;}
.news-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.news-card .nc-img{aspect-ratio:4/5;overflow:hidden;background:var(--bg-sunken);}
.news-card .nc-img img{width:100%;height:100%;object-fit:cover;object-position:top;}
.news-card .nc-body{padding:12px 14px 14px;}
.news-card h4{font-size:14.5px;margin:4px 0 0;line-height:1.3;}
.news-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--text-muted);}
.cat-chip{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:4px;background:var(--brand-50);color:var(--link);}
.cat-chip.mov{background:rgba(214,69,69,.1);color:#B23434;}
[data-theme="dark"] .cat-chip.mov{color:#F08A8A;background:rgba(240,138,138,.12);}
@media (max-width:1000px){.news-layout{grid-template-columns:1fr;} .news-lead .nl-img{aspect-ratio:16/10;}}
@media (max-width:700px){.news-grid4{grid-template-columns:1fr 1fr;}}
#noticiasGrid .news-card .nc-img{aspect-ratio:4/5;}
#eventosGrid{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){#eventosGrid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){#eventosGrid{grid-template-columns:1fr;}}
.ev-card{display:grid;grid-template-columns:120px 1fr;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg-surface);}
.ev-card .ev-img{background:var(--bg-sunken);}
.ev-card .ev-img img{width:100%;height:100%;object-fit:cover;object-position:top;}
.ev-card .ev-body{padding:12px 14px;}
.ev-card h4{font-size:14.5px;margin:6px 0 4px;}
.ev-card .card-meta{margin:2px 0;}
.ev-card.past{opacity:.72;}
.ev-when{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:var(--link);text-transform:uppercase;}
.ev-past-tag{font-size:11px;font-weight:700;background:var(--bg-raised);color:var(--text-secondary);padding:2px 7px;border-radius:4px;}
.event-date-badge{background:var(--arm-green);color:#fff;border-radius:6px;position:relative;}
.event-date-badge::after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:18px;height:4px;background:var(--arm-yellow);}
.event-date-badge .ed{font-family:var(--display);font-weight:400;font-size:17px;}
.article-media{border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-lg);background:var(--bg-sunken);display:flex;justify-content:center;}
.article-media img{max-height:560px;width:auto;}
.share-row{display:flex;gap:8px;flex-wrap:wrap;margin:var(--sp-lg) 0;}

/* ---------- Pie institucional ---------- */
.site-footer{background:var(--footer-bg) !important;color:rgba(255,255,255,.85);border-top:0;}
.site-footer::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--arm-green) 0 40%,var(--arm-green-bright) 40% 60%,var(--arm-mint) 60% 75%,var(--arm-teal) 75% 90%,var(--arm-yellow) 90%);}
.footer-grid h5{color:#fff;font-family:var(--heading);font-size:13px;}
.footer-grid a,.footer-grid span,.footer-grid p{color:rgba(255,255,255,.86) !important;}
.footer-logo{height:64px;width:auto;}
.footer-bottom{color:rgba(255,255,255,.75);background:var(--footer-bg-2);margin:0 calc(var(--sp-lg) * -1);padding:var(--sp-md) var(--sp-lg);}
.footer-cobrand{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:3.5px;padding:6px 12px;margin-top:16px;color:#333332;font-size:11.5px;}
.footer-cobrand img{height:22px;width:auto;}
.social-row{display:flex;gap:8px;margin-top:6px;}
.social-row a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);display:inline-flex !important;align-items:center;justify-content:center;margin:0 !important;}
.social-row a:hover{background:rgba(255,255,255,.22);}
.social-row svg{width:18px;height:18px;fill:#fff;}
.web-pill{display:inline-flex !important;align-items:center;gap:8px;background:#fff;color:#05561F !important;border-radius:999px;padding:6px 14px;font-weight:900;margin-top:10px;}

/* ---------- Vista Movilidad (HU-PC-28 a 30) ---------- */
.mv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:var(--sp-md);}
.mv-updated{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px;}
.mv-updated .live{width:8px;height:8px;border-radius:50%;background:var(--arm-green-bright);box-shadow:0 0 0 4px rgba(61,186,57,.2);}
.mov-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 var(--sp-lg);border-bottom:1px solid var(--border);}
.mov-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;font-size:14.5px;color:var(--text-secondary);cursor:pointer;font-family:var(--heading);font-weight:600;min-height:44px;}
.mov-tabs button[aria-selected=true]{color:var(--link);border-bottom-color:var(--arm-yellow);}
.mv-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
.mv-toolbar select,.mv-toolbar input[type=date],.mv-toolbar input[type=search]{min-height:44px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:8px 12px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px;}
.mv-toolbar input[type=search]{min-width:240px;flex:1;}
.mv-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-lg);}
@media (max-width:960px){.mv-grid{grid-template-columns:1fr;}}
.mv-map{height:520px;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;background:var(--bg-sunken);position:relative;}
.mv-layers{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.layer-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-strong);border-radius:999px;padding:6px 12px;font-size:13px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;min-height:36px;}
.layer-chip i{width:10px;height:10px;border-radius:50%;display:inline-block;}
.layer-chip[aria-pressed="false"]{opacity:.5;text-decoration:line-through;}
.trf-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--text-secondary);margin-top:8px;}
.trf-legend i{display:inline-block;width:20px;height:5px;border-radius:3px;margin-right:6px;vertical-align:middle;}
.mv-side{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding-right:4px;}
.af-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;background:var(--bg-surface);cursor:pointer;text-align:left;font:inherit;color:var(--text-primary);width:100%;}
.af-item:hover,.af-item:focus-visible{border-color:var(--brand-600);}
.af-item .dot{width:12px;height:12px;border-radius:50%;margin-top:5px;flex-shrink:0;}
.af-item b{font-size:14px;} .af-item small{display:block;color:var(--text-secondary);font-size:12.5px;margin-top:2px;}
.af-marker{width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.af-marker:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.af-marker.prog{border-style:dashed;}
.st-pill{display:inline-block;font-size:11.5px;font-weight:900;padding:2px 8px;border-radius:4px;}
.st-activo{background:rgba(214,69,69,.12);color:#B23434;} .st-proceso{background:rgba(242,194,0,.2);color:#6B5200;} .st-programado{background:rgba(0,125,142,.12);color:#02626B;} .st-cerrado{background:var(--bg-raised);color:var(--text-secondary);}
[data-theme="dark"] .st-activo{color:#F08A8A;} [data-theme="dark"] .st-proceso{color:#F5D34D;} [data-theme="dark"] .st-programado{color:#5CCAD4;}
.mov-table{width:100%;border-collapse:collapse;font-size:14px;}
.mov-table th{text-align:left;color:var(--text-secondary);font-weight:700;font-size:12.5px;padding:10px;border-bottom:1px solid var(--border);}
.mov-table td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top;}
.mov-table tr{cursor:pointer;} .mov-table tbody tr:hover{background:var(--bg-raised);}
.agenda{display:flex;flex-direction:column;gap:14px;}
.agenda-day h4{font-family:var(--heading);font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 8px;}
.agenda-item{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:start;border:1px solid var(--border);border-left:5px solid var(--cat-eventos);border-radius:var(--r-md);padding:12px 14px;background:var(--bg-surface);cursor:pointer;}
.agenda-item .ai-time{font-weight:900;font-size:13.5px;}
.agenda-item small{display:block;color:var(--text-secondary);font-size:12.5px;margin-top:2px;}
@media (max-width:640px){.agenda-item{grid-template-columns:1fr;}}
.mov-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-md);}
.mov-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;background:var(--bg-surface);position:relative;overflow:hidden;}
.mov-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--arm-green);}
.mov-card h4{margin:8px 0 6px;font-size:16px;} .mov-card p{margin:0;color:var(--text-secondary);font-size:14px;}
.mov-pill{display:inline-block;border-radius:4px;padding:2px 8px;font-size:11.5px;font-weight:900;background:var(--brand-50);color:var(--link);text-transform:uppercase;letter-spacing:.04em;}
.af-detail{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--sp-xl);}
@media (max-width:880px){.af-detail{grid-template-columns:1fr;}}
.af-detail .mv-map{height:360px;}
.af-reco{background:var(--brand-50);border-left:5px solid var(--arm-green);padding:14px 16px;border-radius:var(--r-md);margin:14px 0;}
.af-reco b{display:block;font-family:var(--heading);margin-bottom:4px;}
.mv-pop b{display:block;margin-bottom:2px;} .mv-pop small{color:var(--text-secondary);display:block;} .mv-pop a{display:inline-block;margin-top:6px;font-weight:700;color:var(--link);}

/* ---------- Atención en tiempo real (HU-PC-31) ---------- */
.mov-fab{position:fixed;right:22px;bottom:22px;z-index:900;display:inline-flex;align-items:center;gap:8px;background:var(--arm-green);color:#fff;border:0;border-radius:999px;padding:12px 20px 12px 14px;font-size:15px;font-weight:900;box-shadow:0 10px 24px rgba(6,61,26,.35);cursor:pointer;min-height:52px;font-family:var(--sans);}
.mov-fab .fab-ic{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--arm-green);display:flex;align-items:center;justify-content:center;}
.mov-fab svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;}
[data-theme="dark"] .mov-fab{background:#3DBA39;color:#06140F;} [data-theme="dark"] .mov-fab .fab-ic{background:#06140F;color:#3DBA39;}
@media (max-width:560px){.mov-fab .fab-label{display:none;} .mov-fab{padding:11px;}}
body.auth-mode .mov-fab{display:none;}
.atc-ov{position:fixed;inset:0;background:rgba(6,20,15,.6);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;}
.atc{width:460px;max-width:100%;max-height:calc(100vh - 32px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;color:var(--text-primary);}
.atc-h{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 12px 16px;background:var(--arm-green-800);color:#fff;}
.atc-h b{font-size:15.5px;font-family:var(--heading);} .atc-h small{display:block;opacity:.85;font-size:12px;}
.atc-h button{background:none;border:0;cursor:pointer;color:#fff;min-width:44px;min-height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.atc-h button:hover{background:rgba(255,255,255,.12);}
.atc-b{padding:16px;overflow:auto;flex:1;font-size:14px;}
.atc-f{padding:10px 12px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;}
.atc-steps{display:flex;gap:6px;margin-bottom:14px;} .atc-steps span{flex:1;height:4px;border-radius:2px;background:var(--border);} .atc-steps span.on{background:var(--arm-green-bright);}
.atc-opt{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--r-md);padding:12px;background:var(--bg-raised);margin-bottom:10px;cursor:pointer;font:inherit;font-size:14px;color:var(--text-primary);min-height:60px;}
.atc-opt:hover,.atc-opt:focus-visible{border-color:var(--brand-600);}
.atc-opt .ao-ic{width:40px;height:40px;border-radius:8px;background:var(--arm-green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.atc-opt .ao-ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;}
.atc-opt b{display:block;} .atc-opt small{color:var(--text-secondary);}
.atc-note{font-size:12.5px;color:var(--text-secondary);background:var(--bg-raised);border-radius:var(--r-md);padding:10px 12px;margin:10px 0;}
.atc-perm{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;margin-bottom:10px;}
.atc-perm .ap-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;}
.atc-perm .ap-row + .ap-row{border-top:1px solid var(--border);}
.atc-perm .ap-state{font-size:12px;font-weight:900;}
.atc-queue{text-align:center;padding:10px 0;}
.atc-queue .q-pos{font-family:var(--display);font-size:54px;line-height:1;color:var(--link);}
.atc-video{aspect-ratio:4/3;border-radius:var(--r-md);background:linear-gradient(160deg,#0F2A22,#071210);position:relative;display:flex;align-items:center;justify-content:center;color:#A8C2B7;margin-bottom:10px;}
.atc-video .me{position:absolute;right:10px;bottom:10px;width:90px;height:66px;border-radius:8px;background:#1C3A31;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:11px;color:#EAF3EE;}
.atc-video .live{position:absolute;left:10px;top:10px;background:#C0392B;color:#fff;font-size:11px;font-weight:900;padding:2px 8px;border-radius:6px;}
.atc-msgs{display:flex;flex-direction:column;gap:8px;min-height:140px;}
.atc-m{max-width:82%;padding:8px 11px;border-radius:12px;font-size:13.5px;}
.atc-m.op{background:var(--bg-raised);align-self:flex-start;}
.atc-m.me{background:var(--brand-600);color:var(--on-brand);align-self:flex-end;}
.atc-m.sys{align-self:center;background:none;color:var(--text-muted);font-size:12px;}
.atc-f input{flex:1;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px;background:var(--bg-raised);color:var(--text-primary);font:inherit;font-size:14px;min-height:44px;}
.atc-f .btn{min-width:44px;}
.atc input.addr{width:100%;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px 12px;min-height:44px;background:var(--bg-surface);color:var(--text-primary);font:inherit;margin:6px 0 10px;}
.atc .pick-map{height:180px;border-radius:var(--r-md);border:1px solid var(--border);overflow:hidden;margin-bottom:10px;}

/* ---------- Varios ---------- */
.card-media{background:linear-gradient(135deg,var(--brand-100),rgba(0,125,142,.14));color:var(--link);}
.tramite-card .card-media{height:96px;}
.dir-marker{background:var(--arm-green);}
.dir-marker.active{background:var(--arm-teal);}
.bar-fill{background:linear-gradient(90deg,var(--arm-green),var(--arm-mint));}
.attention-section{background:var(--bg-surface);}
.attention-map{height:240px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);}
.date-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 var(--sp-lg);font-size:13.5px;color:var(--text-secondary);}
.date-range input{min-height:40px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:6px 10px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13.5px;}
.notif-history{list-style:none;margin:0;padding:0;}
.notif-history li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px;}
.notif-history li .icon{color:var(--link);margin-top:2px;}
.notif-history small{color:var(--text-muted);display:block;}
.dyn-note{font-size:12.5px;color:var(--text-muted);margin:-6px 0 12px;}
.proto-note{font-size:12px;color:var(--text-muted);margin-top:10px;}
.empty-inline{padding:14px;color:var(--text-secondary);font-size:13.5px;border:1px dashed var(--border-strong);border-radius:var(--r-md);text-align:center;}
.gsb-item .gsb-kind{margin-left:auto;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;}
.maplibregl-ctrl-attrib{font-size:10px;}
.view.auth-view:not(.active){display:none;}
.bc-ctrl{bottom:46px;}
@media (max-width:860px){.bc-ctrl{bottom:12px;}}
.footer-grid a.web-pill{color:#05561F !important;}
.footer-grid a.web-pill:hover{text-decoration:none;}
@media (max-width:560px){
  .header-inner{gap:8px;padding:8px 12px;}
  .brand-logo{height:36px;}
  .header-actions{gap:4px;}
  #authArea .btn{padding:0 12px;font-size:13px;min-height:40px;}
  .govco-inner{padding:5px 12px;}
}
@media (max-width:1440px){.brand-portal{display:none;}}
@media (max-width:1180px){.main-nav a{padding:10px 8px;font-size:14px;}}
.footer-grid .footer-cobrand span{color:#333332 !important;}
.footer-bottom{margin:0;padding:var(--sp-md) 0 var(--sp-xl);background:none;border-top:1px solid rgba(255,255,255,.15);}
.ev-card p.desc{font-size:13.5px;color:var(--text-secondary);line-height:1.45;}

@media (max-width:600px){.shortcuts{grid-template-columns:1fr 1fr !important;gap:10px;} .shortcut-card p,.shortcut-card .sc-arrow{display:none;} .shortcut-card{padding:14px 12px 16px;} .shortcut-card .sc-icon{width:44px;height:44px;}}

/* ============================================================ CUENTAS / ACCESO ============================================================ */
.auth-alert{display:flex;gap:8px;align-items:flex-start;background:var(--danger-50);color:var(--danger-600);border:1px solid rgba(192,57,43,.3);border-radius:var(--r-md);padding:10px 12px;font-size:13.5px;margin-bottom:14px;}
.auth-alert[hidden]{display:none;}
.demo-box{margin-top:16px;padding:12px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--bg-raised);font-size:12.5px;}
.demo-box b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px;}
.demo-btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.demo-box small{color:var(--text-secondary);line-height:1.5;display:block;}
.pass-rules{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text-secondary);}
.pass-rules:empty{display:none;}
.pass-rules li{display:inline-flex;align-items:center;gap:4px;} .pass-rules li.ok{color:var(--link);font-weight:700;}
.ver-chip{display:inline-block;font-size:11px;font-weight:900;padding:1px 6px;border-radius:4px;background:var(--bg-raised);color:var(--text-secondary);vertical-align:1px;}
.mfa-ic{width:56px;height:56px;border-radius:50%;background:var(--brand-50);color:var(--link);display:flex;align-items:center;justify-content:center;margin:0 auto;}
.auth-tabs[hidden]{display:none;}
.tyc-box{width:640px;}
.tyc-scroll{max-height:46vh;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;background:var(--bg-raised);}
.tyc-scroll h4{margin:0 0 8px;font-size:15px;} .tyc-scroll h4 + .tyc-text{margin-bottom:18px;}
.tyc-text{white-space:pre-line;font-size:14px;color:var(--text-secondary);line-height:1.6;}
.tyc-text.big{font-size:15.5px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;margin-top:12px;}
.tyc-text.small{font-size:13px;max-height:120px;overflow:hidden;}
.tyc-hist{margin-top:12px;font-size:13.5px;color:var(--text-secondary);} .tyc-hist summary{cursor:pointer;font-weight:700;color:var(--link);}
.avatar-admin{background:var(--arm-green) !important;color:#fff !important;border-color:var(--arm-green) !important;}
.ud-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px;} .ud-head b{display:block;font-size:14px;} .ud-head small{color:var(--text-secondary);font-size:12px;}
.admin-entry{margin-right:6px;}
@media (max-width:1180px){.admin-entry span{display:none;} .admin-entry{padding:0 10px;}}
@media (max-width:560px){.uc-name{display:none;}}
.seg-respuesta h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;} .seg-respuesta p{margin:0 0 6px;} .seg-respuesta small{color:var(--text-secondary);}
.seg-respuesta[hidden]{display:none;}
.link-btn{background:none;border:none;color:var(--link);font-weight:700;cursor:pointer;padding:2px 4px;font:inherit;text-decoration:underline;}
.muted{color:var(--text-muted);}

/* ============================================================ MI PORTAL ============================================================ */
.mp-hero{background:linear-gradient(110deg,var(--arm-green-800),var(--arm-teal-900));color:#fff;padding:28px 0 64px;}
[data-theme="dark"] .mp-hero{background:linear-gradient(110deg,#0D2A1E,#0B2B2F);}
.mp-hero h1{color:#fff;margin:0 0 4px;font-size:30px;} .mp-hero p{color:rgba(255,255,255,.86);margin:0;font-size:14px;}
.mp-layout{display:grid;grid-template-columns:250px 1fr;gap:var(--sp-lg);margin-top:-40px;padding-bottom:var(--sp-xxl);}
.mp-nav{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:8px;height:fit-content;position:sticky;top:110px;box-shadow:var(--shadow-sm);}
.mp-tab{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:none;background:none;border-radius:var(--r-md);font:inherit;font-size:14.5px;color:var(--text-primary);cursor:pointer;text-align:left;min-height:44px;}
.mp-tab:hover{background:var(--bg-raised);} .mp-tab.active{background:var(--brand-50);color:var(--link);font-weight:700;box-shadow:inset 3px 0 0 var(--arm-yellow);}
.mp-tab span{flex:1;}
.mp-badge{min-width:20px;height:20px;border-radius:10px;background:var(--danger-400);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;}
.mp-count{font-size:12px;color:var(--text-muted);font-weight:700;}
.mp-body{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);box-shadow:var(--shadow-sm);min-height:420px;}
.mp-body:focus{outline:none;}
.mp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;} .mp-head h2{margin:0;font-size:20px;}
.mp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:var(--sp-md);}
.mp-kpi{border:1px solid var(--border);border-radius:var(--r-md);padding:14px;background:var(--bg-raised);text-align:left;font:inherit;color:inherit;}
button.mp-kpi{cursor:pointer;} button.mp-kpi:hover{border-color:var(--brand-600);}
.mp-kpi b{display:block;font-family:var(--display);font-weight:400;font-size:30px;line-height:1.1;color:var(--link);} .mp-kpi span{font-size:13px;color:var(--text-secondary);}
.mp-kpi.warn{border-color:rgba(192,57,43,.35);background:var(--danger-50);} .mp-kpi.warn b{color:var(--danger-600);}
.mp-alert{display:flex;gap:10px;align-items:flex-start;background:var(--orange-100);border:1px solid rgba(201,151,0,.4);border-radius:var(--r-md);padding:12px 14px;margin-bottom:var(--sp-md);font-size:14px;}
.mp-alert b{display:block;}
.mp-h{font-size:16px !important;margin:22px 0 10px !important;}
.mp-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.mp-action{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:var(--r-md);padding:14px;background:var(--bg-surface);cursor:pointer;color:var(--text-primary);text-decoration:none;font:inherit;transition:border-color .15s,box-shadow .15s;}
.mp-action:hover{border-color:var(--brand-600);box-shadow:var(--shadow-sm);}
.mp-action svg{width:24px;height:24px;color:var(--link);stroke:currentColor;fill:none;stroke-width:1.8;}
.mp-action small{color:var(--text-secondary);font-size:12.5px;}
.mp-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);}
.mp-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);margin-bottom:8px;cursor:pointer;text-align:left;font:inherit;color:var(--text-primary);}
.mp-row:hover{border-color:var(--brand-600);} .mp-row.static{cursor:default;} .mp-row.static:hover{border-color:var(--border);}
.mp-row.unread{background:var(--brand-50);border-left:3px solid var(--arm-yellow);}
.mp-row .tli-icon{width:36px;height:36px;}
.mp-row-main{flex:1;min-width:0;} .mp-row-main b{display:block;font-size:14px;} .mp-row-main small{color:var(--text-secondary);font-size:12.5px;}
.dot-unread{width:9px;height:9px;border-radius:50%;background:var(--arm-yellow);flex-shrink:0;}
.mp-group{font-family:var(--heading);font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:16px 0 8px;}
@media (max-width:960px){.mp-layout{grid-template-columns:1fr;} .mp-nav{position:static;display:flex;overflow:auto;gap:4px;} .mp-tab{white-space:nowrap;width:auto;} .mp-tab span{flex:none;} .mp-kpis,.mp-actions{grid-template-columns:1fr 1fr;} .mp-two{grid-template-columns:1fr;}}

/* ============================================================ ADMINISTRACIÓN ============================================================ */
.adm-bar{background:#1A1A1A;color:#fff;font-size:13px;}
[data-theme="dark"] .adm-bar{background:#050D0B;border-bottom:1px solid var(--border);}
.adm-bar-in{max-width:1440px;margin:0 auto;padding:8px var(--sp-lg);display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.adm-mode{color:var(--arm-yellow);} .adm-bar-note{opacity:.75;flex:1;}
.adm-bar .btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);min-height:34px;}
.adm-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;gap:var(--sp-lg);padding:var(--sp-lg);}
.adm-nav{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:8px;height:fit-content;position:sticky;top:110px;max-height:calc(100vh - 130px);overflow:auto;}
.adm-nav-g{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:14px 12px 6px;}
.adm-nav-i{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:none;border-radius:var(--r-md);font:inherit;font-size:14px;color:var(--text-primary);cursor:pointer;text-align:left;min-height:40px;}
.adm-nav-i span{flex:1;} .adm-nav-i:hover{background:var(--bg-raised);} .adm-nav-i.active{background:var(--brand-50);color:var(--link);font-weight:700;box-shadow:inset 3px 0 0 var(--arm-yellow);}
.adm-nav-i.muted{color:var(--text-secondary);font-size:13px;}
.adm-main{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);min-height:600px;min-width:0;}
.adm-main:focus{outline:none;}
.adm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:var(--sp-md);}
.adm-head h2{margin:0 0 4px;font-size:21px;} .adm-head p{margin:0;color:var(--text-secondary);font-size:14px;max-width:80ch;}
.adm-note{display:flex;gap:8px;align-items:flex-start;background:var(--brand-50);border-left:4px solid var(--arm-green);padding:10px 12px;border-radius:var(--r-sm);font-size:13.5px;color:var(--text-secondary);margin:0 0 var(--sp-md);}
.adm-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);}
.adm-table{width:100%;border-collapse:collapse;font-size:14px;}
.adm-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-raised);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
.adm-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
.adm-table tr:last-child td{border-bottom:none;}
.adm-act{white-space:nowrap;text-align:right;}
.adm-act .btn{margin-left:4px;}
.icon-mini{width:34px;height:34px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-left:4px;vertical-align:middle;}
.icon-mini:hover{border-color:var(--brand-600);color:var(--link);} .icon-mini:disabled{opacity:.35;cursor:default;}
.icon-mini.danger:hover{border-color:var(--danger-400);color:var(--danger-400);}
.adm-thumb{width:52px;height:64px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--border);}
.adm-thumb.wide{width:150px;height:47px;}
.dot-c{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;}
.days-late{color:var(--danger-600);font-weight:900;}
.adm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.adm-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--r-md);padding:14px;background:var(--bg-surface);cursor:pointer;font:inherit;color:var(--text-primary);text-align:left;}
.adm-card:hover{border-color:var(--brand-600);} .adm-card svg{color:var(--link);} .adm-card b{font-family:var(--display);font-weight:400;font-size:24px;} .adm-card span{font-size:12.5px;color:var(--text-secondary);}
.sub-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:var(--sp-md);flex-wrap:wrap;}
.sub-tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:10px 14px;font:inherit;font-weight:700;color:var(--text-secondary);cursor:pointer;min-height:44px;}
.sub-tabs button.active{color:var(--link);border-bottom-color:var(--arm-yellow);}
.pt-secs{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-width:560px;}
.pt-sec{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--r-md);padding:6px 10px;background:var(--bg-raised);}
.sol-actions{display:flex;gap:8px;flex-wrap:wrap;}
@media (max-width:1000px){.adm-layout{grid-template-columns:1fr;padding:12px;} .adm-nav{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:2px;} .adm-nav-g{width:100%;padding:8px 6px 2px;} .adm-nav-i{width:auto;} .adm-cards{grid-template-columns:1fr 1fr;}}
body.admin-mode .mov-fab{display:none;}
body.admin-mode .site-footer{margin-top:0;}

/* Cajón lateral (formularios) */
.drw-ov{position:fixed;inset:0;background:rgba(6,20,15,.5);z-index:1100;display:flex;justify-content:flex-end;}
.drw{width:620px;max-width:100%;height:100%;background:var(--bg-surface);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);color:var(--text-primary);animation:drwIn .2s ease;}
.drw.wide{width:720px;}
@keyframes drwIn{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
.drw header{display:flex;justify-content:space-between;align-items:center;padding:14px 14px 14px 20px;border-bottom:1px solid var(--border);background:var(--arm-green-800);color:#fff;}
.drw header b{font-family:var(--heading);font-size:16px;}
.drw-x{background:none;border:none;color:#fff;min-width:44px;min-height:44px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.drw-x:hover{background:rgba(255,255,255,.12);}
.drw-b{flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 20px;}
.drw-b h4{margin:16px 0 6px;font-family:var(--heading);}
.drw footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border);}
.bi-row{display:flex;gap:8px;align-items:flex-start;}
.bi-row + .bi-row{margin-top:6px;}
.bi-row input,.bi-row textarea{flex:1;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);font:inherit;min-height:42px;}
.bi-row textarea{resize:vertical;}
.lang-tag{flex-shrink:0;width:30px;height:28px;margin-top:7px;border-radius:6px;background:var(--bg-raised);color:var(--text-secondary);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.field.invalid .bi-row input,.field.invalid .bi-row textarea{border-color:var(--danger-400);}
.img-pick{display:flex;gap:12px;align-items:flex-start;}
.img-prev{width:150px;height:96px;border-radius:var(--r-md);border:1px dashed var(--border-strong);background:var(--bg-raised);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-size:12px;color:var(--text-muted);}
.img-prev img{width:100%;height:100%;object-fit:contain;}
.fb{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;}
.fb-row{border:1px solid var(--border);border-radius:var(--r-md);padding:10px;background:var(--bg-raised);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.fb-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center;} .fb-main select{min-width:0;}
.fb-main input,.fb-main select,.fb-opts{padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13.5px;min-height:38px;}
.fb-opts{grid-column:1/2;}
.fb-req{display:flex;align-items:center;gap:4px;font-size:12.5px;white-space:nowrap;}
.fb-act{display:flex;gap:2px;grid-row:1/3;grid-column:2;align-items:flex-start;}
.fb-act button{width:32px;height:32px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.fb-act button:disabled{opacity:.35;}
@media (max-width:640px){.fb-main{grid-template-columns:1fr;}}
.filter-chip.active{color:var(--on-brand);}

/* ============================================================ LOGIN — pantalla dividida (ref. Chinácota) ============================================================ */
body.auth-mode .site-header{display:none !important;}
#view-login.auth-view{display:none;padding:0;min-height:0;background:none;}
#view-login.auth-view.active{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:calc(100vh - 31px);}
.lg-split{flex:1;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(400px,1fr);min-height:0;}
.lg-hero{position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;padding:40px 56px;isolation:isolate;min-height:620px;}
.lg-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.lg-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,22,12,.9) 0%,rgba(4,22,12,.72) 45%,rgba(4,22,12,.45) 100%),linear-gradient(0deg,rgba(4,22,12,.55),rgba(4,22,12,0) 40%);}
.lg-brand{display:inline-flex;align-items:center;gap:16px;color:#fff;text-decoration:none;align-self:flex-start;}
.lg-brand img{height:52px;width:auto;}
.lg-brand span{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.35);padding-left:16px;line-height:1.25;}
.lg-brand b{font-family:var(--heading);font-size:17px;font-weight:700;}
.lg-brand small{font-size:13px;color:rgba(255,255,255,.78);}
.lg-copy{margin-top:auto;margin-bottom:auto;max-width:600px;padding-top:40px;}
.lg-eyebrow{font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--arm-mint);margin-bottom:22px;}
.lg-title{font-family:var(--heading);font-weight:700;font-size:clamp(34px,3.6vw,56px);line-height:1.12;letter-spacing:-.015em;margin:0;color:#fff;text-transform:none;}
.lg-title span,.lg-title em{display:block;font-style:normal;}
.lg-title em{color:var(--arm-green-bright);}
.lg-bar{display:block;width:52px;height:4px;border-radius:2px;background:var(--arm-green-bright);margin:30px 0 26px;}
.lg-copy p{font-size:17.5px;line-height:1.65;color:rgba(255,255,255,.86);margin:0 0 38px;max-width:520px;}
.lg-feats{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:28px;}
.lg-feats b{display:block;font-family:var(--heading);font-size:15px;margin-bottom:6px;}
.lg-feats span{font-size:13.5px;color:rgba(255,255,255,.78);}
.lg-panel{background:var(--bg-surface);display:flex;flex-direction:column;padding:28px 46px 36px;border-left:1px solid var(--border);}
.lg-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.lg-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px;font-weight:700;text-decoration:none;min-height:44px;}
.lg-back:hover{color:var(--link);}
.lg-selects{display:flex;gap:10px;}
.lg-sel{position:relative;display:inline-flex;align-items:center;}
.lg-sel select{appearance:none;-webkit-appearance:none;min-height:46px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;padding:0 38px 0 14px;font:inherit;font-size:14.5px;color:var(--text-primary);cursor:pointer;min-width:132px;}
.lg-sel-theme .icon{position:absolute;left:14px;color:var(--link);pointer-events:none;}
.lg-sel-theme select{padding-left:40px;}
.lg-box{width:100%;max-width:460px;margin:auto;padding:24px 0;}
.lg-logo{display:block;height:118px;width:auto;margin:0 auto 18px;}
.lg-logo.logo-dark{display:none;}
[data-theme="dark"] .lg-logo.logo-light{display:none;} [data-theme="dark"] .lg-logo.logo-dark{display:block;}
.lg-h{font-family:var(--heading) !important;font-weight:700 !important;text-transform:none !important;font-size:28px !important;letter-spacing:-.01em !important;text-align:center;margin:0 0 26px;color:var(--text-primary);}
#lgCardSlot .auth-card{max-width:none;background:none;border:none;box-shadow:none;padding:0;}
#lgCardSlot .auth-tabs{display:none;}
#lgCardSlot #formMfa h3,#lgCardSlot #formForgot h3{display:none;}
#lgCardSlot .field label{font-weight:900;font-size:14px;}
#lgCardSlot .field.required label::after{content:"";}
#lgCardSlot .field input:not([type=checkbox]),#lgCardSlot .field select{min-height:52px;background:var(--bg-raised);border-color:var(--border-strong);font-size:16px;border-radius:var(--r-md);}
#lgCardSlot .input-with-action button{right:0;top:0;bottom:0;transform:none;width:52px;border-left:1px solid var(--border-strong);border-radius:0 var(--r-md) var(--r-md) 0;display:flex;align-items:center;justify-content:center;}
#lgCardSlot .link-forgot{margin:-6px 0 22px;font-size:14.5px;}
#lgCardSlot .btn-primary.btn-block{min-height:56px;font-size:16.5px;border-radius:var(--r-md);}
.lg-switch{text-align:center;font-size:14.5px;color:var(--text-secondary);margin:18px 0 0;}
.lg-switch[hidden]{display:none;}
.lg-switch .link-btn{text-decoration:none;font-size:14.5px;}
.lg-switch .link-btn:hover{text-decoration:underline;}
.lg-hr{border:none;border-top:1px solid var(--border);margin:26px 0 18px;}
.lg-note{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0;}
#lgCardSlot .demo-box{margin-top:18px;}
.lg-foot{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;font-size:13.5px;color:var(--text-secondary);background:var(--bg-raised);border-top:1px solid var(--border);flex-wrap:wrap;}
.lg-foot img{height:22px;width:auto;}
.lg-foot .logo-dark{display:none;} [data-theme="dark"] .lg-foot .logo-light{display:none;} [data-theme="dark"] .lg-foot .logo-dark{display:inline;}
[data-theme="dark"] .lg-panel{background:#0C1B17;}
[data-theme="dark"] .lg-foot{background:#071210;}
@media (max-width:1100px){.lg-hero{padding:32px 36px;} .lg-panel{padding:24px 28px 32px;} .lg-feats{grid-template-columns:1fr 1fr 1fr;gap:16px;}}
@media (max-width:900px){
  .lg-split{grid-template-columns:1fr;}
  .lg-hero{min-height:0;padding:22px 20px 26px;}
  .lg-copy{padding-top:26px;margin:0;}
  .lg-copy p,.lg-feats,.lg-bar{display:none;}
  .lg-eyebrow{margin-bottom:8px;font-size:11.5px;}
  .lg-title{font-size:28px;}
  .lg-brand img{height:40px;} .lg-brand small{display:none;}
  .lg-panel{border-left:none;padding:16px 20px 28px;}
  .lg-logo{height:84px;}
  .lg-h{font-size:24px !important;margin-bottom:18px;}
}

