*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#02070b;color:#dffcff;font-family:Inter,system-ui,-apple-system,sans-serif}canvas{display:block}.hud{position:fixed;top:28px;left:32px;z-index:2;pointer-events:none;max-width:470px}.eyebrow{font-size:10px;letter-spacing:.28em;color:#65eaff;opacity:.7}.hud h1{margin:8px 0 4px;font-size:34px;letter-spacing:.06em;font-weight:750}.hud h1 span{color:#65eaff;text-shadow:0 0 18px #19d7ff}.hud p{margin:0;color:#8fb4bd;font-size:13px;line-height:1.5}.hud #status{margin-top:13px;display:inline-block;padding:7px 10px;border:1px solid #164653;background:#06151acc;color:#6fe9ff;font:11px ui-monospace,monospace}.help{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;padding:8px 14px;border:1px solid #163d47;background:#031015d9;color:#779da6;font-size:11px}.info{position:fixed;right:28px;top:250px;z-index:3;width:300px;max-height:calc(100vh - 278px);overflow:auto;padding:16px;border:1px solid #246675;background:#04141be8}.info.hidden{display:none}.info strong{color:#72edff}.info small{display:block;color:#7da0a8;margin-top:6px}.compass{position:fixed;right:34px;bottom:38px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px;border:1px solid #246675;background:#04141be8;user-select:none}.compass>div{display:flex;align-items:center;gap:4px}.compass button{width:30px;height:30px;border:1px solid #246675;background:#06151a;color:#72edff;font-weight:700;cursor:pointer}.needle{width:34px;height:34px;display:grid;place-items:center;color:#72edff;font-size:19px}.layers{position:fixed;right:28px;top:28px;z-index:5;width:180px;padding:13px;border:1px solid #246675;background:#04141be8;display:flex;flex-direction:column;gap:9px;font-size:12px}.layers strong{font-size:10px;letter-spacing:.2em;color:#72edff;margin-bottom:3px}.layers label{cursor:pointer;color:#a5c6cd}.layers input{accent-color:#52e8ff;margin-right:7px}.info button{width:100%;margin-top:13px;padding:9px 10px;border:1px solid #38cae5;background:#08232b;color:#72edff;font:700 10px ui-monospace,monospace;letter-spacing:.08em;cursor:pointer}.info button:hover{background:#103d49}.info button.active{border-color:#ff365f;color:#fff;background:#7a1630;box-shadow:0 0 18px #ff365f66}.emergency-panel{margin-top:14px;padding-top:12px;border-top:1px solid #174b57}.emergency-panel label{display:block;margin-bottom:7px;color:#72edff;font:700 9px ui-monospace,monospace;letter-spacing:.12em}.emergency-panel select{width:100%;padding:9px 10px;border:1px solid #246675;border-radius:0;background:#06151a;color:#dffcff;font:11px system-ui,sans-serif;outline:none}.emergency-panel select:focus{border-color:#56eaff;box-shadow:0 0 0 2px #56eaff22}.emergency-state{display:none;margin-top:9px;padding:8px;border:1px solid #ff4b64;background:#4b101ccc;color:#fff;font:700 9px ui-monospace,monospace;letter-spacing:.08em;text-align:center}.emergency-state.visible{display:block}.info button:disabled{opacity:.38;cursor:not-allowed;background:#06151a}.info .emergency-stop{border-color:#8a4652;color:#ff8fa1;background:#271016}.info .emergency-stop:hover{background:#431520}.operations{position:fixed;right:220px;top:28px;z-index:5;width:220px;padding:13px;border:1px solid #246675;background:#04141be8;display:flex;flex-direction:column;gap:8px}.operations strong{font-size:10px;letter-spacing:.2em;color:#72edff}.operations button{padding:9px;border:1px solid #7b6331;background:#211b0d;color:#ffc45b;font:700 9px ui-monospace,monospace;cursor:pointer}.operations button.active{border-color:#ff8a22;background:#56280d;color:#fff;box-shadow:0 0 15px #ff8a2255}.operations .emergency-access{border-color:#c52e49;background:#32101a;color:#ff9daf}.operations .emergency-access:hover,.operations .emergency-access.active{border-color:#ff365f;background:#71172c;color:#fff;box-shadow:0 0 18px #ff365f66}.operations #emergencyAccessStatus{padding-bottom:7px;border-bottom:1px solid #174b57;color:#9ebac1;line-height:1.35}.operations small{color:#789ca5;font:10px ui-monospace,monospace}.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.ops-grid input{width:100%;padding:9px;border:1px solid #246675;background:#06151a;color:#fff}.unit-checks{display:grid;grid-template-columns:1fr;gap:4px;padding:7px 0}.unit-checks label{margin:0;color:#9fc2ca;font:10px system-ui,sans-serif;letter-spacing:0}.incident-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.incident-metrics span{padding:7px;border:1px solid #174b57;background:#06151a;color:#789ca5;font:8px ui-monospace,monospace}.incident-metrics b{display:block;margin-top:3px;color:#72edff;font-size:11px}.camera-view{display:none;margin-top:8px;min-height:58px;padding:10px;border:1px solid #246675;background:repeating-linear-gradient(0deg,#051318,#051318 3px,#08232b 4px);color:#55eaff;font:9px ui-monospace,monospace}.camera-view.visible{display:grid;place-items:center}.incident-history{margin-top:8px;padding:8px;border-left:2px solid #35cfe8;color:#8eafb7;font:9px/1.7 ui-monospace,monospace}.incident-history b{color:#55eaff}.info::-webkit-scrollbar{width:5px}.info::-webkit-scrollbar-thumb{background:#246675}@media(max-width:900px){.operations{right:18px;top:230px}.info{right:18px;top:360px;width:280px}.layers{right:18px}}.operations button.secondary{border-color:#31545d;background:#09191e;color:#8eb2ba}.operations button.secondary:not(:disabled):hover{border-color:#65eaff;color:#65eaff}.operations button:disabled{opacity:.35;cursor:not-allowed}.operations #closureHint{color:#d3a34d;line-height:1.35}.operations #detourStatus{color:#64eaff;font-weight:700}.flood-controls{position:fixed;left:32px;top:220px;z-index:5;width:270px;padding:13px;border:1px solid #246675;background:#04141be8;display:flex;flex-direction:column;gap:9px}.flood-controls strong{font-size:10px;letter-spacing:.18em;color:#72edff}.flood-controls label{color:#9fc2ca;font:10px system-ui,sans-serif}.flood-controls label b{float:right;color:#72edff}.flood-controls input[type=range]{width:100%;accent-color:#37d7f2}.flood-controls select{float:right;border:1px solid #246675;background:#06151a;color:#dffcff;font-size:10px}.flood-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.flood-actions button{padding:8px 4px;border:1px solid #246675;background:#08232b;color:#72edff;font:700 8px ui-monospace,monospace;cursor:pointer}.flood-actions button:disabled{opacity:.35;cursor:not-allowed}.flood-controls small{color:#7399a2;font:9px/1.4 ui-monospace,monospace}@media(max-width:900px){.flood-controls{left:18px;top:210px;width:245px}}.event-controls{position:fixed;left:32px;top:405px;z-index:5;width:270px;padding:13px;border:1px solid #544179;background:#0a0b19e8;display:flex;flex-direction:column;gap:8px}.event-controls strong{font-size:10px;letter-spacing:.15em;color:#c997ff}.event-controls select{width:100%;padding:8px;border:1px solid #544179;background:#0b1020;color:#e9ddff;font-size:10px}.event-controls button,.event-card button{padding:9px;border:1px solid #7455a5;background:#20143a;color:#d8b7ff;font:700 9px ui-monospace,monospace;cursor:pointer}.event-controls button.active{background:#56318b;color:#fff;box-shadow:0 0 16px #b875ff66}.event-controls small{color:#9b8eaf;font:9px/1.4 ui-monospace,monospace}.event-card{position:fixed;left:320px;top:220px;z-index:7;width:260px;padding:15px;border:1px solid #7455a5;background:#080d18f2;box-shadow:0 0 28px #0009}.event-card.hidden{display:none}.event-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.event-card-head strong{min-width:0;padding-top:3px}.event-card .event-card-close{flex:0 0 28px;width:28px;height:28px;margin:0;padding:0;border:1px solid #7455a5;background:#160f27;color:#e3caff;font:700 20px/1 system-ui;cursor:pointer}.event-card .event-card-close:hover{border-color:#d8b7ff;background:#4b286f;color:#fff}.event-card strong{display:block;color:#d8b7ff;font-size:14px}.event-card small{display:block;margin-top:5px;color:#829aa3}.event-card label{display:block;margin-top:10px;color:#9db7bf;font:9px ui-monospace,monospace}.event-card input,.event-card textarea{width:100%;margin-top:5px;padding:8px;border:1px solid #294c57;background:#06151a;color:#fff;font-size:10px}.event-card textarea{min-height:55px;resize:vertical}.event-card button{width:100%;margin-top:9px}.event-card button.danger{border-color:#80414d;background:#2b1118;color:#ff8397}.event-state{margin-top:10px;padding:7px;border:1px solid #35616c;color:#64eaff;background:#071b20;font:700 9px ui-monospace,monospace}@media(max-width:900px){.event-controls{left:18px;top:400px;width:245px}.event-card{left:18px;top:auto;bottom:18px;width:280px}}.address-search{position:fixed;left:50%;top:28px;transform:translateX(-50%);z-index:8;width:min(430px,calc(100vw - 500px));min-width:330px;padding:12px;border:1px solid #246675;background:#04141bf0;box-shadow:0 10px 30px #0008}.address-search>strong{display:block;margin-bottom:8px;color:#72edff;font-size:10px;letter-spacing:.18em}.address-search-row{display:grid;grid-template-columns:1fr 76px;gap:6px}.address-search input{min-width:0;padding:9px;border:1px solid #246675;background:#06151a;color:#fff;font-size:11px;outline:none}.address-search input:focus{border-color:#69eaff;box-shadow:0 0 0 2px #69eaff22}.address-search-row button{border:1px solid #38cae5;background:#08232b;color:#72edff;font:700 9px ui-monospace,monospace;cursor:pointer}.address-search-row button:disabled{opacity:.55}.address-search>small{display:block;margin-top:6px;color:#87aab2;font:9px/1.35 ui-monospace,monospace}.address-search .osm-credit{color:#5f7d84;font-size:8px}.address-results{margin-top:7px;max-height:210px;overflow:auto;border:1px solid #174b57;background:#031015}.address-results.hidden{display:none}.address-results button{display:block;width:100%;padding:8px 9px;border:0;border-bottom:1px solid #123943;background:transparent;color:#dffcff;text-align:left;cursor:pointer}.address-results button:hover{background:#0b2931}.address-results b,.address-results small{display:block}.address-results b{color:#72edff;font-size:10px}.address-results small{margin-top:3px;color:#76969e;font-size:8px}.selected-address{padding:7px;border-left:2px solid #69eaff;background:#08232b;color:#c9f8ff!important}@media(max-width:1050px){.address-search{top:160px;width:430px;min-width:0}}@media(max-width:700px){.address-search{left:14px;right:14px;top:145px;width:auto;transform:none}.flood-controls{top:280px}.event-controls{top:465px}}
/* Escritorio operativo: paneles minimizables y barra inferior */
.workspace-panel{transition:opacity .16s ease,transform .16s ease;box-shadow:0 12px 36px #000a!important}
.workspace-panel.dock-minimized{display:none!important}
.workspace-panel.dock-visible{display:flex!important;opacity:1;transform:none}
.info.workspace-panel.dock-visible,.event-card.workspace-panel.dock-visible{display:block!important}
.panel-minimize{position:absolute!important;top:8px!important;right:8px!important;width:26px!important;height:26px!important;margin:0!important;padding:0!important;border:1px solid #2b6977!important;background:#06151a!important;color:#8defff!important;font:700 16px/1 system-ui!important;z-index:12;cursor:pointer}
.panel-minimize:hover{background:#123942!important;color:#fff!important}
.layers,.operations,.address-search,.flood-controls,.event-controls,.info,.event-card{top:auto!important;bottom:92px!important;max-height:calc(100vh - 135px);overflow:auto}
.layers{right:28px!important;left:auto!important;transform:none!important;width:260px!important}
.operations{right:28px!important;left:auto!important;width:300px!important}
.address-search{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:430px!important}
.address-search.dock-visible{transform:translateX(-50%)!important}
.flood-controls{left:28px!important;width:300px!important}
.event-controls{left:28px!important;width:300px!important}
.info{right:28px!important;width:320px!important}
.event-card{left:28px!important;width:300px!important}
.panel-action{width:100%;padding:9px;border:1px solid #246675;background:#08232b;color:#72edff;font:700 9px ui-monospace,monospace;cursor:pointer}
.panel-action.secondary{color:#9db4ba;background:#06151a}
#territoryStatus{display:block;color:#71959e;font:9px/1.45 ui-monospace,monospace}
.workspace-dock{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:30;display:flex;align-items:stretch;gap:5px;padding:7px;border:1px solid #286473;background:#031016f2;box-shadow:0 12px 40px #000d;backdrop-filter:blur(12px)}
.workspace-dock button{position:relative;min-width:66px;height:54px;padding:5px 7px;border:1px solid transparent;background:#06151a;color:#789ca5;cursor:pointer}
.workspace-dock button:hover,.workspace-dock button.active{border-color:#43d9ef;background:#0b2c34;color:#dffcff;box-shadow:0 0 16px #28cfe744}
.workspace-dock button.has-alert:after{content:"";position:absolute;right:7px;top:6px;width:7px;height:7px;border-radius:50%;background:#ff365f;box-shadow:0 0 9px #ff365f}
.workspace-dock span{display:block;color:#72edff;font-size:18px;line-height:22px}
.workspace-dock small{display:block;margin-top:2px;font:8px ui-monospace,monospace}
.help{bottom:82px!important}
.compass{bottom:90px!important}
.territory-loading{color:#ffc45b!important}
@media(max-width:760px){
 .workspace-dock{left:8px;right:8px;bottom:8px;transform:none;overflow-x:auto;justify-content:flex-start}
 .workspace-dock button{min-width:58px}
 .layers,.operations,.address-search,.flood-controls,.event-controls,.info,.event-card{left:12px!important;right:12px!important;bottom:76px!important;width:auto!important;max-height:calc(100vh - 100px);transform:none!important}
 .address-search.dock-visible{transform:none!important}
 .hud{left:16px;top:16px;max-width:calc(100vw - 32px)}
 .hud h1{font-size:27px}
 .help{display:none}
 .compass{bottom:82px!important;right:12px}
}

/* Panel independiente de patrullas conectadas */
.patrol-panel{
  position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:8;
  width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 140px);overflow:auto;
  padding:14px;border:1px solid #27759a;background:rgba(4,18,28,.96);
  box-shadow:0 14px 42px rgba(0,0,0,.42);display:flex;flex-direction:column;gap:10px
}
.patrol-panel.dock-visible{transform:translateX(-50%)!important}
.patrol-panel>strong{color:#77eaff;letter-spacing:.16em;font-size:14px}
.patrol-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.patrol-summary span{padding:7px 5px;border:1px solid rgba(73,212,244,.24);background:rgba(31,122,153,.12);color:#a9cbd6;text-align:center;font:11px ui-monospace,monospace}
.patrol-summary b{display:block;color:#70e8ff;font-size:17px;margin-bottom:2px}
.patrol-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.patrol-actions button,.patrol-list button{border:1px solid #27759a;background:#081d28;color:#bcecf5;padding:9px;cursor:pointer;font:700 11px ui-monospace,monospace}
.patrol-actions button:hover,.patrol-list button:hover{background:#103548;color:#fff}
.patrol-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:225px;overflow:auto}
.patrol-list button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;text-align:left;padding:7px 8px}
.patrol-list .patrol-dot{width:8px;height:8px;border-radius:50%;background:#5de7ff;box-shadow:0 0 8px #5de7ff}
.patrol-list .fixed .patrol-dot{background:#ffb54c;box-shadow:0 0 8px #ffb54c}
.patrol-list small{color:#7195a1;text-align:right}
.patrol-status{color:#7195a1;font:11px ui-monospace,monospace;line-height:1.35}
@media(max-width:760px){
  .patrol-panel{left:10px;right:10px;bottom:76px;width:auto;max-height:62vh;transform:none}
  .patrol-panel.dock-visible{transform:none!important}
}

/* Predicción meteorológica oficial AEMET */
.weather-panel{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:8;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 140px);overflow:auto;padding:14px;border:1px solid #2b7895;background:rgba(4,18,28,.96);box-shadow:0 14px 42px rgba(0,0,0,.42);display:flex;flex-direction:column;gap:10px}
.weather-panel.dock-visible{transform:translateX(-50%)!important}.weather-panel>strong{color:#78eaff;letter-spacing:.16em;font-size:14px}.weather-now{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid #1b5369;background:#071b25}.weather-now>span{font-size:38px;color:#65eaff}.weather-now b{display:block;font-size:28px;color:#e5fbff}.weather-now small{color:#84aab4}.weather-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.weather-metrics span{padding:7px 4px;text-align:center;border:1px solid rgba(101,234,255,.2);color:#789ba5;font:10px ui-monospace,monospace}.weather-metrics b{display:block;margin-top:4px;color:#9fefff;font-size:12px}.weather-days{display:grid;gap:5px}.weather-days>span{display:grid;grid-template-columns:55px 30px 1fr;align-items:center;border-bottom:1px solid #123746;padding:5px;color:#a8cad2}.weather-days i{font-style:normal;font-size:18px}.weather-days small{text-align:right}.weather-panel>button{border:1px solid #2b7895;background:#082432;color:#8cecff;padding:9px;font:700 11px ui-monospace,monospace;cursor:pointer}.weather-panel>button:disabled{opacity:.45}.weather-panel>small{color:#668d98;font:10px ui-monospace,monospace}
@media(max-width:760px){.weather-panel{left:10px;right:10px;bottom:76px;width:auto;max-height:62vh;transform:none}.weather-panel.dock-visible{transform:none!important}}

.flood-legend{display:grid;grid-template-columns:1fr;gap:4px;padding:7px;border:1px solid rgba(101,234,255,.16);background:rgba(3,15,21,.45)}
.flood-legend span{display:flex;align-items:center;gap:7px;color:#83aab4;font:10px ui-monospace,monospace}.flood-legend i{width:11px;height:11px;border-radius:2px}.flood-low{background:#60dff2}.flood-medium{background:#168dcc}.flood-critical{background:#ff5b42}

.focus-flood-risk{width:100%;border:1px solid #ff6a3d;background:rgba(96,25,12,.45);color:#ffc4ae;padding:9px;font:700 10px ui-monospace,monospace;cursor:pointer}.focus-flood-risk:hover:not(:disabled){background:rgba(160,48,20,.58);color:#fff}.focus-flood-risk:disabled{border-color:#254550;color:#52707a;background:rgba(4,18,25,.45);cursor:default}

.crowd-simulator{margin-top:5px;padding-top:10px;border-top:1px solid #4e3a70;display:flex;flex-direction:column;gap:7px}.crowd-simulator>b{font:700 9px ui-monospace,monospace;letter-spacing:.12em;color:#ff78c8}.crowd-simulator label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;color:#bba9ce;font-size:9px}.crowd-simulator label span{color:#fff}.crowd-simulator input[type=range]{width:100%;accent-color:#c76cff}.crowd-actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4px}.crowd-actions button{padding:7px 3px;font-size:7px}.crowd-actions button:disabled{opacity:.35;cursor:not-allowed}.crowd-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.crowd-metrics span{padding:5px 3px;border:1px solid #3b3154;background:#100d1e;color:#9b8eaf;text-align:center;font:7px ui-monospace,monospace}.crowd-metrics b{display:block;color:#f0d9ff;font-size:11px}.crowd-legend{display:flex;gap:10px;color:#9b8eaf;font:8px ui-monospace,monospace}.crowd-legend span{display:flex;align-items:center;gap:4px}.crowd-legend i{width:8px;height:8px;border-radius:50%;background:#ffb52e;box-shadow:0 0 8px #ffb52e}.crowd-legend span:last-child i{background:#ff3d32;box-shadow:0 0 8px #ff3d32}

.police-alert-panel{position:fixed;left:50%;top:34px;transform:translateX(-50%);z-index:8;width:390px;padding:15px;border:1px solid #1d7180;background:#06151af2;box-shadow:0 18px 50px #0009;display:flex;flex-direction:column;gap:9px}.police-alert-panel>strong{color:#68eaff;font-size:11px;letter-spacing:.18em}.alert-form-intro{color:#7399a2;font:8px ui-monospace,monospace}.police-alert-panel label{display:flex;flex-direction:column;gap:4px;color:#8fb4bd;font-size:9px}.police-alert-panel input,.police-alert-panel select,.police-alert-panel textarea{width:100%;padding:9px;border:1px solid #245764;background:#071116;color:#effdff;font:9px ui-monospace,monospace}.police-alert-panel textarea{height:62px;resize:vertical}.alert-form-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:7px}.alert-form-actions{display:grid;grid-template-columns:2fr 1fr;gap:6px}.alert-form-actions button{padding:10px;border:1px solid #2aa9c1;background:#092933;color:#74edff;font:700 8px ui-monospace,monospace;cursor:pointer}.alert-form-actions button.active{border-color:#ff4c60;background:#3c1118;color:#fff;box-shadow:0 0 18px #ff354f66}.police-alert-panel>small:last-child{color:#75a0a9;font:8px/1.45 ui-monospace,monospace}.police-alert-card{--alert-color:#ff354f;position:fixed;right:32px;top:160px;z-index:9;width:470px;padding:17px;border:1px solid var(--alert-color);background:#050c12f5;box-shadow:0 0 38px #000c}.alert-card-head{display:flex;justify-content:space-between;gap:12px}.alert-card-head small{display:block;color:var(--alert-color);font:700 8px ui-monospace,monospace;letter-spacing:.12em}.alert-card-head strong{display:block;margin-top:8px;color:#f3fdff;font-size:18px}.alert-card-head code{display:block;margin-top:4px;color:#668b94;font-size:9px}.alert-card-head button{width:30px;height:30px;border:1px solid #34515a;background:#091820;color:#b8dce2;font-size:20px;cursor:pointer}.alert-priority{display:flex;justify-content:space-between;margin-top:13px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--alert-color) 55%,#233);background:#190e13;color:var(--alert-color);font:700 9px ui-monospace,monospace}.alert-location{margin-top:9px;padding:11px;border:1px solid #183d47;background:#07151a}.alert-location b,.alert-location span{display:block}.alert-location b{color:#cff8ff;font-size:10px}.alert-location span{margin-top:6px;color:#87a9b0;font-size:9px;line-height:1.45}.alert-operational{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.alert-operational span{padding:9px;border:1px solid #183d47;background:#07151a}.alert-operational small,.alert-operational b{display:block}.alert-operational small{color:#668b94;font:7px ui-monospace,monospace}.alert-operational b{margin-top:4px;color:#bff5ff;font:700 9px ui-monospace,monospace}.alert-timeline{max-height:120px;overflow:auto;margin-top:10px;padding:10px;border-top:1px solid #183d47}.alert-timeline>strong{display:block;margin-bottom:6px;color:#68bcca;font:8px ui-monospace,monospace}.alert-timeline div{display:flex;gap:12px;padding:4px;color:#88adb5;font:8px ui-monospace,monospace}.alert-timeline div b{color:var(--alert-color)}.alert-card-actions{display:grid;grid-template-columns:1fr 1.2fr 1.15fr;gap:6px;margin-top:10px}.alert-card-actions button{padding:9px 4px;border:1px solid #246675;background:#081c23;color:#8eefff;font:700 7px ui-monospace,monospace;cursor:pointer}.alert-card-actions button:last-child{border-color:var(--alert-color);color:#fff;background:#291015}.alert-card-actions button:disabled{opacity:.45}@media(max-width:900px){.police-alert-panel{left:16px;right:16px;top:90px;transform:none;width:auto}.police-alert-card{left:16px;right:16px;top:150px;width:auto}}

/* Ficha táctica completa de Central de avisos */
.police-alert-card{width:650px;top:105px;right:28px;padding:20px;border-color:var(--alert-color);background:linear-gradient(145deg,#050b10f8,#07141af5);box-shadow:0 0 0 1px #ffffff08 inset,0 0 45px #000e}.ops-topline{display:flex;justify-content:space-between;color:var(--alert-color);font:700 9px ui-monospace,monospace;letter-spacing:.12em}.ops-title-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px}.ops-title-row h2{margin:0;color:#f5fdff;font:700 22px ui-monospace,monospace;letter-spacing:.04em}.ops-title-row code{display:block;margin-top:5px;color:#638992;font-size:9px}.ops-clock{margin-left:auto;padding:8px 13px;border:1px solid #173b44;background:#07161c}.ops-clock strong,.ops-clock small{display:block}.ops-clock strong{color:#a7f4ff;font:700 13px ui-monospace,monospace}.ops-clock small{margin-top:2px;color:#668991;font:7px ui-monospace,monospace}.ops-title-row>button{width:29px;height:29px;border:1px solid #2b4b53;background:#08161c;color:#a9dce4;font-size:19px}.ops-security{display:flex;align-items:center;gap:15px;margin-top:14px;padding:13px 16px;border:1px solid var(--alert-color);background:color-mix(in srgb,var(--alert-color) 10%,#0a0d12)}.ops-security i{color:var(--alert-color);font-size:25px}.ops-security b,.ops-security small{display:block}.ops-security b{color:#ff9ba6;font-size:10px}.ops-security small{margin-top:4px;color:#668b94;font:8px ui-monospace,monospace}.ops-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;border-top:1px solid #193840;border-left:1px solid #193840}.ops-grid span{min-height:53px;padding:10px 12px;border-right:1px solid #193840;border-bottom:1px solid #193840;background:#071218}.ops-grid small,.ops-grid b{display:block}.ops-grid small{color:#57808a;font:7px ui-monospace,monospace}.ops-grid b{margin-top:5px;color:#c6edf3;font:700 9px ui-monospace,monospace}.ops-grid span:nth-child(1) b,.ops-grid span:nth-child(2) b{color:var(--alert-color)}.ops-description{margin-top:9px;padding:9px 12px;border-left:2px solid var(--alert-color);background:#08151a}.ops-description small{color:#5f8992;font:7px ui-monospace,monospace}.ops-description p{margin:4px 0 0;color:#9dc0c6;font-size:9px;line-height:1.4}.ops-section-title{margin-top:13px;padding-bottom:6px;border-bottom:1px solid #193840;color:#63b6c5;font:700 8px ui-monospace,monospace;letter-spacing:.08em}.ops-units{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.ops-units span{min-height:45px;padding:8px;border:1px solid #1e5148;background:#071712}.ops-units span.primary{border-color:#17a57b;background:#072019}.ops-units span.empty{grid-column:1/-1;border-color:#34464b;background:#0b1114}.ops-units b,.ops-units small{display:block}.ops-units b{color:#55dfa9;font:700 8px ui-monospace,monospace}.ops-units small{margin-top:4px;color:#789991;font:7px ui-monospace,monospace}.police-alert-card .alert-timeline{height:105px;max-height:105px;margin-top:5px;padding:5px 8px;border:1px solid #102d34;background:#061116}.police-alert-card .alert-timeline div{padding:5px 3px}.ops-actions{display:grid;grid-template-columns:1fr 1.15fr 1.1fr 1.1fr 1.2fr;gap:6px;margin-top:12px}.ops-actions button{padding:10px 3px;border:1px solid #1f5966;background:#07171d;color:#74dbe9;font:700 7px ui-monospace,monospace;cursor:pointer}.ops-actions button:disabled{opacity:.45}.ops-actions button.danger{border-color:var(--alert-color);background:#2a0b10;color:#fff}@media(max-width:1100px){.police-alert-card{left:20px;right:20px;top:90px;width:auto;max-height:calc(100vh - 180px);overflow:auto}.ops-actions{grid-template-columns:1fr 1fr}.ops-units{grid-template-columns:1fr 1fr}}
