/* Presentación de las copias integradas; los visores de producción no se alteran. */
[hidden]{display:none!important}html:has(body[data-module]),body[data-module]{height:100%;min-height:0;margin:0;padding:0;overflow:hidden;background:#f0f5f8;color:#173c53;font-family:system-ui,sans-serif}body[data-module] main{height:100dvh;min-height:0;width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}button,select,a,input{touch-action:manipulation}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #eda74d;outline-offset:2px}.module-sr29{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.module-credit29{flex:none;padding:3px 10px;font-size:9px;line-height:1.3;color:#58778a;background:#fff;border-top:1px solid #e0e9ef}.module-empty29{margin:auto;padding:20px;text-align:center;color:#5b7586}
.module-gear29{flex:none;display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:6px;border:1px solid #c3d7e2;border-radius:50%;background:#fff;color:#087eaf;cursor:pointer;margin-left:auto}.module-gear29 svg{width:23px;height:23px}.module-settings29{position:absolute;right:10px;top:47px;z-index:2000;width:min(390px,calc(100% - 20px));max-height:calc(100dvh - 60px);overflow:auto;background:#fff;color:#173c53;border-radius:12px;border:1px solid #cbdfe9;box-shadow:0 8px 35px #12374b40;font-size:12px}.module-settings29>header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;color:#173c53;border-bottom:1px solid #e0e9ef;min-height:45px;gap:8px}.module-settings29>header strong{font-size:14px}.module-settings29>header button{width:30px;height:30px;min-height:30px;padding:0;background:#eef6fa;color:#087eaf;border:0;border-radius:50%;font-size:23px;cursor:pointer}.module-settings-body29{padding:12px 14px;line-height:1.6}.module-settings-body29 footer{padding:8px 0;font-size:11px;color:#526e80;border:0;background:white;line-height:1.6}.module-settings-body29 .downloads,.module-settings-body29 .export-toolbar{display:flex;width:100%;margin:0 0 10px;padding:0;justify-content:flex-start;gap:7px;flex-wrap:wrap}.module-settings-body29 .exports{margin:0;padding:0;border:0;background:white}.module-settings-body29 .exports h2{display:none}.module-settings-body29 .export-grid{display:block}.module-settings-body29 .export-grid article{padding:8px 0;border:0}.module-settings-body29 .export-grid h3{font-size:13px}.module-settings-body29 .export-grid p{min-height:0}.module-settings-body29 #exportPanel{padding:8px 0!important;max-height:none;border:0!important;background:white!important}.module-settings-body29 .credits{display:block;font-size:11px}.module-settings-body29 .credits span{display:block}.module-settings-body29 .meta{display:flex;padding:8px 0;flex-wrap:wrap}.module-settings-body29 button,.module-settings-body29 a{font-size:12px}.module-settings29 :is(select,input){max-width:100%}
/* Temperaturas observadas y frentes. */
body[data-module=observados] main>header{flex:none;padding:5px 10px;min-height:43px;gap:7px;background:#f5f9fb}body[data-module=observados] main>header>strong{display:none}body[data-module=observados] .chart{flex:1;min-height:0;overflow:hidden}body[data-module=observados] main>footer{flex:none;padding:5px 10px}body[data-module=observados] .controls button{height:30px;padding:3px 9px}body[data-module=observados] .controls{min-height:32px}body[data-module=observados] #date{font-size:11px}
/* CFS90: selectores a la vista; exportación y explicación bajo la rueda. */
body[data-module=cfs90] .toolbar{flex:none;padding:5px 10px;gap:7px;min-height:43px}body[data-module=cfs90] .toolbar>.brand{display:none}body[data-module=cfs90] .toolbar label{font-size:11px;display:flex;align-items:center;gap:6px}body[data-module=cfs90] .toolbar select{margin:0;max-width:280px;font-size:12px;padding:6px;min-height:32px}body[data-module=cfs90] .chartbox{flex:1;min-height:0}body[data-module=cfs90] .timeline{flex:none;padding:4px 10px;gap:6px;min-height:43px}body[data-module=cfs90] .timeline output{font-size:11px;min-width:170px}body[data-module=cfs90] .timeline button,body[data-module=cfs90] .timeline select{padding:5px 8px;font-size:12px;min-height:30px}
/* Estacional: cuatro selectores, carta y atribución. */
body[data-module=cfs] .hero{display:none}body[data-module=cfs] .controls{flex:none;display:flex;gap:7px;padding:5px 10px;align-items:center;background:#f5f9fb;border-bottom:1px solid #dce7ee}body[data-module=cfs] .controls label{flex:1;min-width:0}body[data-module=cfs] .controls select{width:100%;height:34px;font:600 12px system-ui;border:1px solid #c2d6e2;border-radius:7px;background:white;color:#1b435c;padding:0 7px}body[data-module=cfs] #imageLink{flex:1;min-height:0;display:block;overflow:hidden}body[data-module=cfs] .chart{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}body[data-module=cfs] main>.status{margin:auto}
/* Meteograma: búsqueda arriba, modelo/plazo accesibles, gráfico en el espacio restante. */
body[data-module=meteograma] main>header{display:none}body[data-module=meteograma] .meteogram-controls29{flex:none;position:relative;display:flex;align-items:center;gap:12px;padding:5px 10px;border:0;background:#f5f9fb}.meteogram-choices29{display:flex;gap:7px;align-items:center;order:2}.meteogram-choices29 label{min-width:0!important;flex:none!important}.meteogram-choices29 select{height:34px;min-height:34px;padding:0 7px;font-size:12px}.meteogram-controls29 #location-form{display:flex;flex-wrap:nowrap;flex:1;gap:6px;min-width:0;align-items:center}.meteogram-controls29 .city-search{min-width:0;flex:1}.meteogram-controls29 .city-search>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.meteogram-controls29 #city-search{min-height:34px;height:34px;font-size:13px;padding:0 9px;width:100%}.meteogram-controls29 button{min-height:34px;font-size:12px;padding:5px 9px;flex:none}.meteogram-controls29 #locate{display:none}body[data-module=meteograma] #city-results{position:absolute;top:100%;left:10px;width:min(500px,calc(100% - 20px));margin:0;z-index:1000;box-shadow:0 6px 20px #12374b30}body[data-module=meteograma] #city-message{position:absolute;top:100%;left:10px;background:white;z-index:999;margin:0}body[data-module=meteograma] .summary{flex:none;padding:5px 12px;display:flex;flex-direction:row;gap:8px;align-items:center}body[data-module=meteograma] h2{font-size:17px;margin:0}body[data-module=meteograma] .summary .eyebrow,body[data-module=meteograma] .model-switch{display:none}body[data-module=meteograma] #coordinates{font-size:10px}body[data-module=meteograma] #plot-legend{flex:none;margin:0;padding:2px 12px;font-size:10px}body[data-module=meteograma] #chart-wrap{flex:1;min-height:0;overflow:auto;padding:0 4px}body[data-module=meteograma] #chart{height:100%;min-height:200px;min-width:850px;width:100%}body[data-module=meteograma] #chart-wrap.ten-days #chart{min-width:1200px}body[data-module=meteograma] #detail{flex:none;margin:0;padding:7px 12px;min-height:0;max-height:80px;overflow:auto;font-size:11px;gap:12px}body[data-module=meteograma] #detail .values{gap:14px}body[data-module=meteograma] #status:not(:empty){flex:none;margin:5px 10px;padding:8px;font-size:12px}body[data-module=meteograma] .module-settings-body29 #runs{display:block;white-space:pre-line;font-size:11px}body[data-module=meteograma] .module-settings-body29 .nearby{margin-top:10px}
/* Radar + Meteosat: la secuencia y sus encuadres originales, sin cabecera heredada. */
body[data-module=radarsat]{background:#eaf2f6}body[data-module=radarsat] .radar-heading29{flex:none;padding:7px 12px;background:#244e65;color:#fff;height:36px}body[data-module=radarsat] .radar-heading29 h1{font-size:13px;line-height:1.2}body[data-module=radarsat] .radar-heading29 p,body[data-module=radarsat] .radar-heading29 strong{display:none}body[data-module=radarsat] main>.bar{flex:none;gap:6px;margin:0;padding:5px 10px;min-height:42px;background:#f5f9fb;color:#173c53}body[data-module=radarsat] .bar button,body[data-module=radarsat] .bar select{font-size:12px;padding:5px 8px;min-height:32px}body[data-module=radarsat] #kind{max-width:215px}body[data-module=radarsat] #navigation{gap:5px!important;flex-wrap:nowrap!important}body[data-module=radarsat] .stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;background:#dce7ed;overflow:hidden}body[data-module=radarsat] .stage img,body[data-module=radarsat] .stage video{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}body[data-module=radarsat] .radar-time29{min-height:38px}body[data-module=radarsat] #date{font-size:11px;white-space:nowrap}body[data-module=radarsat] #position{min-width:45px;width:100%;flex:1}body[data-module=radarsat] #empty{color:#3e6076}body[data-module=radarsat] .module-gear29{background:white!important;color:#087eaf!important;border:1px solid #c3d7e2!important}
@media(max-width:700px){body[data-module=cfs90] .toolbar{display:grid;grid-template-columns:1fr 1fr auto}body[data-module=cfs90] .toolbar label{min-width:0;flex:none;font-size:0}body[data-module=cfs90] .toolbar label:nth-of-type(3){grid-column:1/3}body[data-module=cfs90] .toolbar .module-gear29{grid-column:3;grid-row:1/3}body[data-module=cfs90] .toolbar select{width:100%;max-width:none;font-size:12px}body[data-module=cfs90] .timeline output{order:-1;min-width:0;width:100%;text-align:left}body[data-module=cfs] .controls{display:grid;grid-template-columns:1fr 1fr auto}body[data-module=cfs] .controls .module-gear29{grid-column:3;grid-row:1/3}.meteogram-controls29{flex-wrap:wrap}.meteogram-controls29 #location-form{flex-basis:100%}.meteogram-choices29{width:100%;order:2}.meteogram-choices29 label{flex:1!important}.meteogram-choices29 select{width:100%}body[data-module=meteograma] #detail{max-height:72px}body[data-module=meteograma] #detail .values{flex-direction:row;gap:10px}body[data-module=meteograma] .summary{padding:4px 10px}body[data-module=meteograma] h2{font-size:15px}body[data-module=radarsat] main>.bar:first-of-type{flex-wrap:wrap}body[data-module=radarsat] #kind{flex:1;max-width:none}body[data-module=radarsat] #navigation{order:5;flex-basis:100%;display:flex!important}body[data-module=radarsat] #navigation select{flex:1;min-width:0}body[data-module=radarsat] #full{font-size:0}body[data-module=radarsat] #full:after{content:'⛶';font-size:18px}body[data-module=observados] #date{font-size:10px;max-width:135px;white-space:normal}}
@media(max-height:460px){.module-credit29{padding:1px 7px;font-size:8px}.module-settings29{top:40px;max-height:calc(100dvh - 50px)}body[data-module=radarsat] .radar-heading29{height:28px;padding:4px 8px}body[data-module=meteograma] .summary{display:none}body[data-module=meteograma] #chart{min-height:120px}body[data-module=meteograma] #detail{max-height:45px}}
