/* Observatorio FIDCOL · Sala de situación */
:root{
  --bg:#07111F; --panel:#0B1A2D; --panel-2:#0F2238; --line:rgba(160,190,220,.12); --line-2:rgba(160,190,220,.22);
  --text:#E6EDF5; --text-2:#B4C3D3; --muted:#7F94AA; --blue:#2B95E0; --blue-soft:rgba(43,149,224,.16);
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;font-variant-numeric:tabular-nums}
a{color:inherit}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* Barra superior */
.bar{display:flex;align-items:center;gap:28px;padding:14px 24px;border-bottom:1px solid var(--line)}
.logo img{display:block;height:34px;width:auto}
.title{display:flex;align-items:baseline;gap:12px;padding-left:28px;border-left:1px solid var(--line-2)}
.title h1{font-size:18px;font-weight:600}
.title span{color:var(--muted);font-size:15px}
.status{margin-left:auto;color:var(--text-2);font-size:13px;text-align:right}
.tools{display:flex;gap:8px}
.tools button,.tools a{background:transparent;border:1px solid var(--line-2);border-radius:4px;padding:7px 12px;font-size:13px;text-decoration:none;cursor:pointer;color:var(--text-2)}
.tools button:hover,.tools a:hover{border-color:var(--blue);color:var(--text)}

/* Indicadores */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}
.kpis div{padding:14px 24px;border-right:1px solid var(--line)}
.kpis div:last-child{border-right:0}
.kpis span{display:block;color:var(--muted);font-size:12.5px}
.kpis b{display:block;font-size:26px;font-weight:600;margin-top:2px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Sala */
.room{flex:1;display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1.45fr) minmax(300px,.95fr);min-height:0}
.panel{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.panel:last-child{border-right:0}
.ph{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 10px}
.ph h2{font-size:14px;font-weight:600}
.hint{color:var(--muted);font-size:12px}

/* Feed */
.feed .ph input{background:var(--panel);border:1px solid var(--line-2);border-radius:4px;padding:6px 10px;font-size:13px;width:180px}
.filters{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 12px}
.filters button{background:transparent;border:1px solid var(--line-2);border-radius:20px;padding:4px 10px;font-size:12px;color:var(--text-2);cursor:pointer}
.filters button:hover{border-color:var(--blue)}
.filters button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.active-filter[hidden]{display:none}
.active-filter{margin:0 18px 10px;padding:8px 10px;background:var(--blue-soft);border-radius:4px;font-size:12.5px;display:flex;justify-content:space-between;gap:10px}
.active-filter button{background:none;border:0;color:var(--text);cursor:pointer;text-decoration:underline}
.items{list-style:none;overflow-y:auto;flex:1;border-top:1px solid var(--line)}
.items li{padding:13px 18px;border-bottom:1px solid var(--line);cursor:default}
.items li.sel{background:var(--panel-2)}
.items li.new{box-shadow:inset 3px 0 0 var(--blue)}
.items .meta{display:flex;gap:8px;color:var(--muted);font-size:12px;margin-bottom:4px;flex-wrap:wrap}
.items .meta b{color:var(--text-2);font-weight:500}
.items a.t{display:block;font-size:14.5px;font-weight:500;line-height:1.4;text-decoration:none;color:var(--text)}
.items a.t:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.items .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.items .tags button{background:var(--panel-2);border:0;border-radius:3px;padding:2px 7px;font-size:11.5px;color:var(--text-2);cursor:pointer}
.items .tags button:hover{color:#fff}
.empty{color:var(--muted);padding:24px 18px!important}

/* Mapa */
.mapp{position:relative}
#map{flex:1;min-height:420px;background:#0A1626}
.leaflet-container{background:#0A1626;font-family:var(--sans)}
.leaflet-control-attribution{background:rgba(7,17,31,.75)!important;color:var(--muted)!important}
.leaflet-control-attribution a{color:var(--text-2)!important}
.leaflet-bar a{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line-2)!important}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel-2);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.leaflet-popup-content{margin:12px 14px;font-size:13px;line-height:1.45}
.leaflet-popup-content b{display:block;margin-bottom:6px}
.leaflet-popup-content button{margin-top:8px;background:var(--blue);border:0;border-radius:3px;color:#fff;padding:5px 10px;font-size:12px;cursor:pointer}
.mapp .note{padding:10px 18px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}

/* Lateral */
.side{overflow-y:auto}
.block{border-bottom:1px solid var(--line);padding-bottom:14px}
.daily{display:flex;align-items:flex-end;gap:4px;height:90px;padding:4px 18px 0}
.daily div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}
.daily i{display:block;width:100%;background:var(--blue);border-radius:2px 2px 0 0;min-height:2px;opacity:.85}
.daily div.today i{opacity:1;background:#5FB2EE}
.daily small{font-size:10px;color:var(--muted)}
.cats,.places,.intl{list-style:none;padding:0 18px}
.cats li{display:grid;grid-template-columns:1fr 36px 84px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);cursor:pointer}
.cats li:last-child,.places li:last-child,.intl li:last-child{border-bottom:0}
.cats li:hover span{color:#fff}
.cats li.on span{color:#fff;font-weight:600}
.cats span{color:var(--text-2);font-size:13px}
.cats b{text-align:right;font-weight:600}
.cats svg{width:84px;height:22px;display:block}
.places li{display:grid;grid-template-columns:22px 1fr 40px;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px}
.places li:hover{color:#fff}
.places .n{color:var(--muted)}
.places .pbar{grid-column:2/4;height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.places .pbar i{display:block;height:100%;background:var(--blue)}
.places b{text-align:right}
.intl li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.intl li span{display:block;color:var(--muted);font-size:12px}
.intl a{text-decoration:none;color:var(--text-2)}
.intl a:hover{color:#fff;text-decoration:underline}

.foot{display:flex;justify-content:space-between;gap:20px;padding:10px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;flex-wrap:wrap}

/* Pantalla de sala (TV) */
@media (min-width:1600px){body{font-size:15px}.items a.t{font-size:15.5px}.kpis b{font-size:30px}}
@media (min-width:1101px){body{height:100vh;overflow:hidden}}
@media (max-width:1100px){
  .room{grid-template-columns:1fr}
  .panel{border-right:0;border-bottom:1px solid var(--line)}
  .items{flex:none;max-height:70vh}
  .panel{min-height:auto}
  body{display:block;height:auto;overflow:visible}
  .room{display:block}
  #map{height:460px;flex:none}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .kpis div:nth-child(odd){border-right:1px solid var(--line)}.kpis div:nth-child(even){border-right:0}
  .kpis div{border-bottom:1px solid var(--line)}
  .bar{flex-wrap:wrap;gap:12px}
  .title{border-left:0;padding-left:0}
  .status{margin-left:0;text-align:left;width:100%;order:5}
  #btnFull{display:none}
}

.selects{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 18px 10px}
.selects select{background:var(--panel);border:1px solid var(--line-2);border-radius:4px;padding:6px 8px;font-size:12.5px;color:var(--text)}
.seg{display:flex;border:1px solid var(--line-2);border-radius:4px;overflow:hidden}
.seg button{background:transparent;border:0;padding:4px 12px;font-size:12px;color:var(--text-2);cursor:pointer}
.seg button.on{background:var(--blue);color:#fff}
.items .meta .k{color:var(--muted)}

/* Expediente país */
.leaflet-popup-content button.dz{background:#2B95E0;color:#fff;border:0;border-radius:4px;padding:5px 9px;margin-top:6px;cursor:pointer}
.dz-w{position:fixed;inset:0;z-index:3000}.dz-bg{position:absolute;inset:0;background:rgba(3,8,16,.6);backdrop-filter:blur(3px)}
.dz-p{position:absolute;top:0;right:0;bottom:0;width:min(680px,100vw);background:linear-gradient(180deg,#071426,#0B1D35);color:#DCE6F0;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.5);animation:dzIn .3s ease}
@keyframes dzIn{from{transform:translateX(50px);opacity:0}}
.dz-ld{margin:auto;color:#9FB6CC}
.dz-p header{display:flex;gap:14px;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(95,178,238,.15)}
.dz-p .fl{font-size:40px}.dz-p small{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#5FB2EE}.dz-p h2{font-size:26px;color:#fff;margin:0}
.dz-p .x{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.2);color:#fff;width:34px;height:34px;border-radius:8px;font-size:20px;cursor:pointer}
.dz-b{flex:1;overflow:auto;padding:20px 24px}
.dz-b .lead{font-size:16px;line-height:1.65;color:#E6EEF7}
.dz-b .dr{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}.dz-b .dr span{font-size:11.5px;padding:4px 10px;border-radius:12px;background:rgba(43,149,224,.14);border:1px solid rgba(43,149,224,.35);color:#9FCBF5}
.dz-b h4{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7F93A8;margin:22px 0 12px}
.dz-b .tl{list-style:none;position:relative;padding:0;margin:0}.dz-b .tl::before{content:"";position:absolute;left:58px;top:6px;bottom:6px;width:2px;background:linear-gradient(#2B95E0,#E5384B)}
.dz-b .tl li{display:grid;grid-template-columns:52px 1fr;gap:22px;padding-bottom:16px;position:relative;opacity:0;animation:dzT .45s ease forwards;animation-delay:calc(var(--i) * 80ms)}
@keyframes dzT{to{opacity:1}}
.dz-b .tl li::before{content:"";position:absolute;left:53px;top:4px;width:12px;height:12px;border-radius:50%;background:#0B1D35;border:2px solid #2B95E0}.dz-b .tl li.now::before{background:#E5384B;border-color:#E5384B}
.dz-b .tl time{font-family:ui-monospace,monospace;font-size:12.5px;color:#5FB2EE;text-align:right}.dz-b .tl b{color:#fff;font-size:14px}.dz-b .tl p{font-size:13px;color:#AFC0D2;margin:3px 0 0;line-height:1.5}
.dz-b .wk{padding:14px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(95,178,238,.15);margin-top:10px}.dz-b .wk h4{margin-top:0}.dz-b .wk p{font-size:13px;line-height:1.6;color:#C3D1DF}.dz-b .wk a{font-size:11.5px;color:#7FA6CC}
.dz-b .fd{list-style:none;padding:0;margin:0;display:grid;gap:6px}.dz-b .fd li{padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:13px}
.dz-b .fd a{color:#DCE6F0;text-decoration:none}.dz-b .fd span{display:block;font-size:11px;color:#7F93A8;margin-top:2px}
.dz-p footer{padding:10px 24px;font-size:11px;color:#5F7387;border-top:1px solid rgba(95,178,238,.1)}

.foot .dir{display:block;margin-top:4px}.foot .dir b{color:#E6F0FA;font-weight:600}
