*{box-sizing:border-box}html,body{margin:0;height:100%;font:14px/1.45 system-ui,Segoe UI,Roboto,sans-serif;color:#1d232b;background:#f4f1ea}
header#top{height:52px;display:flex;align-items:center;gap:14px;padding:0 14px;background:#2a1a14;color:#f6eadb;position:relative;z-index:30}
.brand b{font-size:16px;margin-right:10px;color:#ffb067}.brand span{font-size:12px;opacity:.8}
.searchbox{flex:1;max-width:520px;position:relative}.searchbox input{width:100%;padding:7px 10px;border-radius:6px;border:0;font-size:14px}
#results{position:absolute;top:36px;left:0;right:0;background:#fff;color:#222;border-radius:6px;box-shadow:0 8px 24px #0006;max-height:60vh;overflow:auto;z-index:50}
#results div{padding:7px 10px;border-bottom:1px solid #eee;cursor:pointer}#results div:hover{background:#fff2e2}#results small{color:#666;display:block}
nav{display:flex;gap:6px;margin-left:auto}nav button,#tl button{background:#4a2c20;color:#fff;border:1px solid #7a4b37;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:13px}
nav button.on,#tl button.on{background:#c4561c}nav button:hover{background:#6a3b29}
main{display:flex;height:calc(100% - 52px)}
#left{width:268px;overflow:auto;background:#faf7f1;border-right:1px solid #d9d2c3;padding:6px 10px 20px;flex:none}
#left h3{margin:12px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7a5a45}
.lyr{display:flex;align-items:center;gap:6px;padding:2px 0}.lyr label{flex:1;cursor:pointer}.sw{width:14px;height:14px;border-radius:3px;border:1px solid #0005;flex:none}
.lg{font-weight:600;margin:6px 0 2px;font-size:12.5px;color:#4a2c20}.flt{margin-bottom:8px}.flt label{display:block}.flt b{display:block;font-size:12.5px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:3px}.c-alto{background:#2e7d32}.c-medio{background:#f9a825}.c-bajo{background:#c62828}
.mini{font-size:12px;color:#665}#legend div{font-size:12.5px;margin:2px 0;display:flex;align-items:center;gap:6px}
#nogeo div{font-size:12.5px;padding:3px 0;border-bottom:1px dotted #ccc;cursor:pointer;color:#6a3b29}#nogeo div:hover{text-decoration:underline}
#mapwrap{flex:1;position:relative;min-width:0}#map{position:absolute;inset:0}
#tl{position:absolute;left:10px;right:10px;bottom:22px;background:#fffdf9ee;border:1px solid #cdbfae;border-radius:8px;padding:6px 8px;z-index:5;box-shadow:0 2px 12px #0003}
#tl.hide{display:none}.tl-row{display:flex;align-items:center;gap:8px}#slider{flex:1}#tdate{min-width:150px;font-weight:600;font-size:13px;text-align:center}
#tl button{padding:3px 8px;background:#6a3b29}#tlevents{display:flex;gap:5px;overflow-x:auto;padding-top:5px}
.ev{flex:none;font-size:11.5px;border:1px solid #cdbfae;background:#fff;border-radius:12px;padding:2px 8px;cursor:pointer;white-space:nowrap}.ev.er{border-color:#c4561c;background:#ffe9d8}.ev.es{border-color:#2f6f9f;background:#e5f1fa}.ev.do{border-color:#777;background:#eee}.ev.act{outline:2px solid #000}
#credits{position:absolute;bottom:2px;left:8px;font-size:10.5px;color:#333;background:#fffc;padding:0 4px;border-radius:3px;z-index:4}
#right{width:390px;overflow:auto;background:#fff;border-left:1px solid #d9d2c3;padding:14px 16px 28px;flex:none;position:relative}
#closeR,#closeM{position:absolute;right:10px;top:6px;border:0;background:none;font-size:26px;cursor:pointer;color:#666}
#ficha h2{font-size:17px;margin:4px 24px 6px 0}.badge{display:inline-block;font-size:11.5px;border-radius:10px;padding:1px 9px;margin:0 4px 4px 0;color:#fff}
.b-alto{background:#2e7d32}.b-medio{background:#b07a00}.b-bajo{background:#c62828}.b-capa{background:#555}.b-aprox{background:#fff;color:#b00020;border:1px solid #b00020}
#ficha h4{margin:14px 0 3px;font-size:12px;text-transform:uppercase;color:#7a5a45;letter-spacing:.05em}#ficha p{margin:3px 0}
#ficha table{width:100%;border-collapse:collapse;font-size:13px}#ficha td{border-bottom:1px solid #eee;padding:3px 4px;vertical-align:top}#ficha td:first-child{color:#665;width:38%}
.warn{background:#fff4f4;border-left:3px solid #c62828;padding:5px 8px;font-size:13px;margin:6px 0}.src{font-size:12.5px;border-left:3px solid #c4561c;margin:5px 0;padding:2px 8px;background:#faf6f0}
.src small{display:block;color:#6a5a4a}a{color:#a4400f}.act-row{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.act-row button{border:1px solid #c4561c;background:#fff;border-radius:6px;padding:4px 9px;cursor:pointer}
#modal{position:fixed;inset:0;background:#000a;z-index:100;display:flex;align-items:center;justify-content:center}#modal[hidden]{display:none}
#modal .box{background:#fff;width:min(1000px,94vw);max-height:90vh;overflow:auto;border-radius:10px;padding:20px 26px;position:relative}
#modal h2{margin-top:0}#modal h3{color:#7a3a14;margin:18px 0 4px}#modal li{margin:3px 0}
table.refs{width:100%;border-collapse:collapse;font-size:12.5px}table.refs th,table.refs td{border-bottom:1px solid #e4dccf;padding:4px 6px;text-align:left;vertical-align:top}table.refs th{position:sticky;top:-20px;background:#fff}
.tag{font-size:11px;border-radius:4px;padding:0 5px;background:#eee}.t-ok{background:#dff0d8}.t-no{background:#f8d7da}
.maplibregl-popup-content{font-size:12.5px;padding:6px 9px}.maplibregl-ctrl-top-right{top:6px}
@media(max-width:900px){#left{display:none}#right{position:absolute;right:0;top:0;bottom:0;width:88%;z-index:20}header .brand span{display:none}}

.lbl{font-size:11px;font-weight:600;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000,0 0 2px #000;pointer-events:none;white-space:nowrap}.lbl.lp{color:#ffe9a8}

#tlnote{font-size:10.5px;margin-top:2px}

#credits a{color:#7a2a00;font-weight:600}#modal table td,#modal table th{border-bottom:1px solid #e4dccf;padding:4px 6px;text-align:left;vertical-align:top;font-size:12.5px}#modal table{border-collapse:collapse;width:100%}#modal code{background:#f3eee6;padding:0 3px;border-radius:3px}
