.marker-quick-actions[data-v-a78e399f]{width:100%}.marker-quick-actions__row[data-v-a78e399f]{display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;gap:8px}.marker-quick-actions__btn[data-v-a78e399f]{flex:1;min-width:0;min-height:58px;padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:16px;border:1px solid rgba(94,152,203,.2);background:linear-gradient(180deg,#fffffffa,#f1f8fff5);color:#2f78b1;cursor:pointer;box-shadow:0 10px 20px #081f3a14,inset 0 1px #ffffffd1;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;touch-action:manipulation}.marker-quick-actions__btn[data-v-a78e399f]:hover{border-color:#00a2ff61;box-shadow:0 12px 24px #081f3a1a,inset 0 1px #ffffffe6}.marker-quick-actions__btn[data-v-a78e399f]:active{transform:scale(.97)}.marker-quick-actions__icon[data-v-a78e399f]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#1f8fff}.marker-quick-actions__icon--logo img[data-v-a78e399f]{display:block;border-radius:6px;object-fit:contain}.marker-quick-actions__svg[data-v-a78e399f]{width:22px;height:22px;display:block}.marker-quick-actions__label[data-v-a78e399f]{font-size:11px;font-weight:700;line-height:1.1;letter-spacing:.02em;color:#2f78b1}.marker-quick-actions__err[data-v-a78e399f]{margin:6px 0 0;font-size:12px;color:var(--danger, #c62828);line-height:1.4}.dash-v2[data-v-452c4b71]{--dash-bg: #070b14;--dash-panel: rgba(15, 23, 42, .72);--dash-border: rgba(56, 189, 248, .22);--dash-text: #e2e8f0;--dash-muted: #94a3b8;box-sizing:border-box;flex:1;min-height:0;height:100%;max-height:100%;padding:5px 10px 6px;display:flex;flex-direction:column;overflow:hidden;color:var(--dash-text);background:radial-gradient(1200px 600px at 50% -10%,rgba(14,165,233,.14),transparent),linear-gradient(180deg,#070b14,#030712 88%)}.dash-v2__header[data-v-452c4b71]{position:relative;flex-shrink:0;text-align:center;padding:2px 6px 4px}.dash-v2__header-bg[data-v-452c4b71]{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);width:min(920px,92vw);height:56px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.18) 40%,rgba(56,189,248,.22) 50%,rgba(56,189,248,.18) 60%,transparent);filter:blur(16px);pointer-events:none}.dash-v2__eyebrow[data-v-452c4b71]{margin:0;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--dash-muted)}.dash-v2__title[data-v-452c4b71]{margin:2px 0 0;font-size:clamp(16px,1.9vw,22px);font-weight:700;letter-spacing:.06em;text-shadow:0 0 24px rgba(56,189,248,.35)}.dash-v2__header-meta[data-v-452c4b71]{margin-top:3px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--dash-muted)}.dash-v2__clock[data-v-452c4b71]{font-variant-numeric:tabular-nums;color:#bae6fd}.dash-v2__kpi[data-v-452c4b71]{flex-shrink:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:6px}.dash-v2__kpi-card[data-v-452c4b71]{padding:5px 8px;border-radius:8px;background:var(--dash-panel);border:1px solid var(--dash-border);box-shadow:inset 0 1px #ffffff0a}.dash-v2__kpi-label[data-v-452c4b71]{display:block;font-size:12px;color:var(--dash-muted)}.dash-v2__kpi-value[data-v-452c4b71]{display:block;margin-top:2px;font-size:clamp(15px,1.55vw,19px);font-weight:700;font-variant-numeric:tabular-nums;color:#f8fafc}.dash-v2__kpi-unit[data-v-452c4b71]{font-style:normal;font-size:12px;margin-left:4px;color:#64748b}.dash-v2__grid[data-v-452c4b71]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.15fr) minmax(220px,.9fr);grid-template-rows:minmax(0,1fr);gap:7px;overflow:hidden}@media (max-width: 1280px){.dash-v2[data-v-452c4b71]{height:auto;max-height:none;overflow-y:auto}.dash-v2__grid[data-v-452c4b71]{grid-template-columns:1fr;grid-template-rows:auto;overflow:visible}.dash-v2__rail--left[data-v-452c4b71]{grid-template-rows:240px 240px 200px}.dash-v2__stage[data-v-452c4b71]{min-height:420px}}.dash-v2__rail[data-v-452c4b71]{display:flex;flex-direction:column;gap:7px;min-height:0;overflow:hidden}.dash-v2__rail--left[data-v-452c4b71]{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,.78fr);gap:7px;min-height:0}.dash-v2__rail--left>.dash-v2__panel[data-v-452c4b71]{min-height:0}.dash-v2__panel--risk-split[data-v-452c4b71]{padding:8px 10px 10px}.dash-v2__risk-split[data-v-452c4b71]{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-height:0}.dash-v2__risk-cell[data-v-452c4b71]{display:flex;flex-direction:column;min-width:0;min-height:0}.dash-v2__mini-head[data-v-452c4b71]{display:block;font-size:11px;font-weight:600;color:var(--dash-muted);margin-bottom:4px}.dash-v2__chart-flex--risk[data-v-452c4b71]{min-height:60px}.dash-v2__panel--plan-coverage .dash-v2__panel-head[data-v-452c4b71]{align-items:flex-start}.dash-v2__panel--plan-coverage .dash-v2__panel-head>span[data-v-452c4b71]{flex-shrink:0;padding-top:2px}.dash-v2__panel--plan-coverage[data-v-452c4b71]{flex-shrink:0}.dash-v2__coverage-footnote[data-v-452c4b71]{margin:2px 0 0;font-size:10px;line-height:1.25;color:var(--dash-muted);font-weight:400}.dash-v2__facility-grid[data-v-452c4b71]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.dash-v2__facility-cell[data-v-452c4b71]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:baseline;column-gap:8px;padding:8px 10px;border-radius:10px;background:#0f172a8c;border:1px solid rgba(51,65,85,.65)}.dash-v2__facility-label[data-v-452c4b71]{grid-column:1 / -1;font-size:11px;color:var(--dash-muted)}.dash-v2__facility-value[data-v-452c4b71]{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:#f8fafc}.dash-v2__facility-unit[data-v-452c4b71]{font-style:normal;font-size:11px;color:#64748b}.dash-v2__facility-grid--in-plan[data-v-452c4b71]{gap:5px 8px;padding-top:2px}.dash-v2__facility-grid--in-plan .dash-v2__facility-cell[data-v-452c4b71]{padding:5px 8px;border-radius:8px}.dash-v2__facility-grid--in-plan .dash-v2__facility-label[data-v-452c4b71]{font-size:10px}.dash-v2__facility-grid--in-plan .dash-v2__facility-value[data-v-452c4b71]{font-size:16px}.dash-v2__facility-grid--in-plan .dash-v2__facility-unit[data-v-452c4b71]{font-size:10px}.dash-v2__stage[data-v-452c4b71]{display:flex;flex-direction:column;min-height:0}.dash-v2__panel[data-v-452c4b71]{border-radius:10px;background:var(--dash-panel);border:1px solid var(--dash-border);padding:7px 10px 9px;display:flex;flex-direction:column;min-height:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dash-v2__panel--map[data-v-452c4b71]{flex:1}.dash-v2__panel-head[data-v-452c4b71]{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px}.dash-v2__panel-head--row[data-v-452c4b71]{align-items:flex-start}.dash-v2__panel-head h2[data-v-452c4b71]{margin:0;font-size:14px;font-weight:600}.dash-v2__panel-head span[data-v-452c4b71]{font-size:11px;color:var(--dash-muted)}.dash-v2__sub[data-v-452c4b71]{margin:4px 0 0;font-size:12px;color:var(--dash-muted)}.dash-v2__map-wrap[data-v-452c4b71]{flex:1;min-height:0;display:flex;flex-direction:column}.dash-v2__map-wrap[data-v-452c4b71] .dash-v2__map-embed.map-screen--embedded{min-height:0}.dash-v2__chart-flex[data-v-452c4b71]{flex:1;min-height:78px;position:relative}.dash-v2__chart-fill[data-v-452c4b71]{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.dash-v2__chart-fixed[data-v-452c4b71]{position:relative;width:100%;flex-shrink:0}.dash-v2__chart-fixed--pie[data-v-452c4b71]{height:104px}.dash-v2__rail--right[data-v-452c4b71]{overflow:hidden}.dash-v2__rail--right>.dash-v2__panel[data-v-452c4b71]:not(.dash-v2__panel--feed){flex-shrink:0}.dash-v2__panel--feed[data-v-452c4b71]{flex:1.35;min-height:140px;overflow:hidden}.dash-v2__feed-viewport[data-v-452c4b71]{flex:1;min-height:120px;overflow:hidden;position:relative}.dash-v2__feed-viewport--marquee .dash-v2__feed-track[data-v-452c4b71]{animation:dash-v2-feed-marquee-452c4b71 var(--feed-marquee-duration, 40s) linear infinite}@media (prefers-reduced-motion: reduce){.dash-v2__feed-viewport--marquee .dash-v2__feed-track[data-v-452c4b71]{animation:none}}@keyframes dash-v2-feed-marquee-452c4b71{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.dash-v2__feed-track[data-v-452c4b71]{display:flex;flex-direction:column;will-change:transform}.dash-v2__feed[data-v-452c4b71]{list-style:none;margin:0;padding:0}.dash-v2__feed--segment[data-v-452c4b71]{flex-shrink:0}.dash-v2__feed-item[data-v-452c4b71]{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(51,65,85,.55);font-size:12px}.dash-v2__feed-item--empty[data-v-452c4b71]{justify-content:center;color:var(--dash-muted);border-bottom:none}.dash-v2__feed-item strong[data-v-452c4b71]{display:block;font-size:13px;color:#f8fafc}.dash-v2__feed-item p[data-v-452c4b71]{margin:4px 0 0;color:var(--dash-muted)}.dash-v2__feed-item time[data-v-452c4b71]{flex-shrink:0;color:#64748b;font-size:11px}.dash-v2__actions[data-v-452c4b71]{display:flex;gap:8px;flex-shrink:0;padding-top:0}@media (max-width: 900px){.dash-v2__kpi[data-v-452c4b71]{grid-template-columns:repeat(3,minmax(0,1fr))}}.dash-v2__btn[data-v-452c4b71]{flex:1;padding:7px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#1e293bd9;color:#e2e8f0;font-size:13px;cursor:pointer}.dash-v2__btn[data-v-452c4b71]:disabled{opacity:.6;cursor:wait}.dash-v2__btn--primary[data-v-452c4b71]{flex:0 0 auto;border-color:#38bdf88c;background:linear-gradient(135deg,#0ea5e959,#0ea5e914)}.dash-v2__btn--ghost[data-v-452c4b71]{background:transparent}.dash-v2__toast[data-v-452c4b71]{position:fixed;left:50%;bottom:28px;transform:translate(-50%);padding:10px 18px;border-radius:999px;background:#0f172aeb;border:1px solid rgba(56,189,248,.35);font-size:13px;z-index:50}.dash-v2__toast--error[data-v-452c4b71]{border-color:#f871718c;color:#fecaca}body:has(.simulation-page),#app:has(.simulation-page),.screen-layout:has(.simulation-page),.screen-main:has(.simulation-page){overflow:auto}body.disaster-simulation-open,body.disaster-simulation-open #app,body.disaster-simulation-open .screen-layout,body.disaster-simulation-open .screen-main{overflow:auto}.simulation-page[data-v-8ad35870]{min-height:100vh;height:auto;padding:28px;display:flex;flex-direction:column;gap:18px;overflow:visible}.simulation-header[data-v-8ad35870],.chat-toolbar[data-v-8ad35870]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.simulation-header>div[data-v-8ad35870]:first-child{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.eyebrow[data-v-8ad35870]{margin:0 0 12px;width:100%;color:var(--accent);font-weight:800;font-size:clamp(1.35rem,2.8vw,1.85rem);line-height:1.35;text-align:center}.xiao[data-v-8ad35870]{margin:0;max-width:52rem;font-size:.875rem;font-weight:500;line-height:1.65;color:var(--text-soft, #5a6570);text-align:center}.simulation-header h1.xiao[data-v-8ad35870]{font-size:.875rem;font-weight:500}h1[data-v-8ad35870],h2[data-v-8ad35870],p[data-v-8ad35870]{margin:0}.choice-card[data-v-8ad35870],.setup-card[data-v-8ad35870],.chat-panel[data-v-8ad35870]{border:1px solid var(--panel-border);background:#ffffffeb;border-radius:18px;box-shadow:var(--shadow)}.choice-card[data-v-8ad35870]{width:min(560px,100%);margin-inline:auto;padding:28px;text-align:center}.choice-card p[data-v-8ad35870],.muted[data-v-8ad35870],.chat-toolbar p[data-v-8ad35870],.unit-context span[data-v-8ad35870]{color:var(--text-soft)}.action-row[data-v-8ad35870],.toolbar-actions[data-v-8ad35870]{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.choice-card .action-row[data-v-8ad35870]{justify-content:center}button[data-v-8ad35870]{border:none;border-radius:10px;cursor:pointer;font:inherit}button[data-v-8ad35870]:disabled{opacity:.48;cursor:not-allowed}.primary[data-v-8ad35870],.secondary[data-v-8ad35870],.ghost[data-v-8ad35870]{min-height:42px;padding:0 18px;font-weight:800}.primary[data-v-8ad35870]{color:#fff;background:var(--accent)}.secondary[data-v-8ad35870],.ghost[data-v-8ad35870]{color:#216da8;background:var(--accent-soft)}.setup-grid[data-v-8ad35870]{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:18px;min-height:0}.setup-card[data-v-8ad35870]{padding:22px;overflow:auto}.tabs[data-v-8ad35870]{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;background:#eaf3fb;border-radius:12px;margin-bottom:18px}.tabs button[data-v-8ad35870]{min-height:42px;color:#54708c;background:transparent;font-weight:800}.tabs button.active[data-v-8ad35870]{color:#126eb1;background:#fff}.unit-context[data-v-8ad35870]{display:grid;gap:8px;padding:18px;border-radius:12px;background:#f7fbff;border:1px solid #dbeaf7}.form-stack[data-v-8ad35870],label[data-v-8ad35870]{display:grid;gap:9px}.form-stack[data-v-8ad35870]{gap:16px}label[data-v-8ad35870]{color:#334e68;font-weight:800}input[data-v-8ad35870],textarea[data-v-8ad35870]{width:100%;border:1px solid #d9e7f3;background:#f8fbff;border-radius:10px;padding:12px 14px;color:var(--text);outline:none;resize:vertical}textarea[data-v-8ad35870]{min-height:116px;line-height:1.55}.scenario-text[data-v-8ad35870]{min-height:180px}.field-grid[data-v-8ad35870]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.field-grid .wide[data-v-8ad35870]{grid-column:1 / -1}.start[data-v-8ad35870]{margin-top:18px;width:100%}.chat-panel[data-v-8ad35870]{flex:0 0 auto;min-height:calc(100vh - 210px);display:flex;flex-direction:column;overflow:visible}.chat-toolbar[data-v-8ad35870]{padding:18px 20px;border-bottom:1px solid #dce8f4}.chat-toolbar h2[data-v-8ad35870]{margin:0;color:var(--text);font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.3}.messages[data-v-8ad35870]{flex:0 0 auto;min-height:240px;padding:18px 20px;overflow:visible;background:linear-gradient(180deg,#f5faffb8,#ffffffe6)}.message[data-v-8ad35870]{width:min(860px,92%);margin-bottom:16px}.message--user[data-v-8ad35870]{margin-left:auto}.message__role[data-v-8ad35870]{margin-bottom:6px;color:var(--text-soft);font-size:13px;font-weight:800}.message pre[data-v-8ad35870]{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.72;border-radius:12px;border:1px solid #dbe8f5;background:#fff;padding:16px;font-family:inherit}.message--user pre[data-v-8ad35870]{color:#fff;background:var(--accent);border-color:var(--accent)}.guide-list[data-v-8ad35870]{display:grid;gap:8px;margin-top:10px}.guide-list button[data-v-8ad35870]{text-align:left;padding:12px 14px;color:#126eb1;background:#edf7ff;border:1px solid #c4def3;font-weight:700}.pending-message pre[data-v-8ad35870]{color:var(--text-soft);background:#f8fbff}.composer[data-v-8ad35870]{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border-top:1px solid #dce8f4;background:#fff}.composer textarea[data-v-8ad35870]{min-height:54px;max-height:150px}.error[data-v-8ad35870]{color:var(--danger);font-weight:700}@media (max-width: 900px){.setup-grid[data-v-8ad35870]{grid-template-columns:1fr}.simulation-page[data-v-8ad35870]{padding:18px}.chat-toolbar[data-v-8ad35870]{flex-direction:column;align-items:stretch}.toolbar-actions[data-v-8ad35870]{width:100%;justify-content:stretch}.toolbar-actions button[data-v-8ad35870]{flex:1;min-width:0}.field-grid[data-v-8ad35870]{grid-template-columns:1fr}}@media (max-width: 640px){.simulation-page[data-v-8ad35870]{padding:12px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-bottom:max(12px,env(safe-area-inset-bottom,0px));box-sizing:border-box}.simulation-header[data-v-8ad35870]{flex-direction:column;align-items:stretch;gap:12px}.simulation-header .ghost[data-v-8ad35870]{width:100%;min-height:44px}.choice-card[data-v-8ad35870],.setup-card[data-v-8ad35870]{padding:18px 16px}.action-row[data-v-8ad35870]{flex-direction:column;width:100%}.action-row .primary[data-v-8ad35870],.action-row .secondary[data-v-8ad35870]{width:100%;min-height:46px}.tabs button[data-v-8ad35870]{min-height:46px;font-size:15px}.simulation-page input[data-v-8ad35870],.simulation-page textarea[data-v-8ad35870]{font-size:16px}.primary[data-v-8ad35870],.secondary[data-v-8ad35870],.ghost[data-v-8ad35870]{min-height:44px}.composer[data-v-8ad35870]{grid-template-columns:1fr;gap:10px;padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}.composer .primary[data-v-8ad35870]{width:100%;min-height:46px}.guide-list button[data-v-8ad35870]{min-height:44px;padding:12px 14px}.simulation-page--chat[data-v-8ad35870]{min-height:100dvh;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding-top:max(12px,env(safe-area-inset-top,0px))}.simulation-page--chat .simulation-header[data-v-8ad35870]{flex-direction:row;align-items:center;gap:10px;flex-shrink:0}.simulation-page--chat .simulation-header>div[data-v-8ad35870]:first-child{align-items:flex-start;text-align:left}.simulation-page--chat .eyebrow[data-v-8ad35870]{margin:0;font-size:17px;line-height:1.25;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulation-page--chat .xiao[data-v-8ad35870]{display:none}.simulation-page--chat .simulation-header .ghost[data-v-8ad35870]{width:auto;min-height:38px;padding:0 12px;flex:0 0 auto;font-size:14px}.simulation-page--chat .chat-panel[data-v-8ad35870]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;border-radius:16px}.simulation-page--chat .chat-toolbar[data-v-8ad35870]{flex-shrink:0;padding:12px;gap:10px}.simulation-page--chat .chat-toolbar h2[data-v-8ad35870]{font-size:18px;line-height:1.25;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.simulation-page--chat .chat-toolbar p[data-v-8ad35870]{margin-top:4px;font-size:12px;line-height:1.35}.simulation-page--chat .toolbar-actions[data-v-8ad35870]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:0}.simulation-page--chat .toolbar-actions button[data-v-8ad35870]{min-height:38px;padding:0 8px;font-size:14px}.simulation-page--chat .messages[data-v-8ad35870]{flex:1;min-height:0;padding:10px 12px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.simulation-page--chat .message[data-v-8ad35870]{width:100%;margin-bottom:10px}.simulation-page--chat .message__role[data-v-8ad35870]{margin-bottom:4px;font-size:12px}.simulation-page--chat .message pre[data-v-8ad35870]{padding:12px;font-size:14px;line-height:1.58;border-radius:10px}.simulation-page--chat .guide-list[data-v-8ad35870]{gap:6px;margin-top:8px}.simulation-page--chat .guide-list button[data-v-8ad35870]{min-height:40px;padding:10px 12px;font-size:14px;line-height:1.4}.simulation-page--chat .composer[data-v-8ad35870]{flex-shrink:0;padding:10px;gap:8px}.simulation-page--chat .composer textarea[data-v-8ad35870]{min-height:74px;max-height:96px;padding:10px 12px;resize:none}.simulation-page--chat .composer .primary[data-v-8ad35870]{min-height:44px}.simulation-page--chat .error[data-v-8ad35870]{flex-shrink:0;margin-top:0}}:root{--bg: #eef4f9;--panel-bg: rgba(255, 255, 255, .84);--panel-border: rgba(78, 137, 188, .16);--panel-border-strong: rgba(78, 137, 188, .28);--text: #17283d;--text-soft: #617489;--accent: #1f8fff;--accent-soft: #edf6ff;--danger: #ff6f61;--shadow: 0 18px 38px rgba(8, 31, 58, .12);--shadow-strong: 0 22px 58px rgba(8, 31, 58, .18);font-family:Segoe UI Variable,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;width:100%;background:var(--bg);color:var(--text);overflow:hidden}body{min-height:100vh;background:radial-gradient(circle at top left,rgba(31,143,255,.08),transparent 24%),radial-gradient(circle at bottom right,rgba(24,95,179,.06),transparent 22%),linear-gradient(180deg,#f7fbff,#edf3f8)}button,input{font:inherit}.attack-monitor{min-height:100vh;padding:24px;overflow:auto;background:#f1f5f9;color:#172033}.attack-monitor__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#12213f,#1f8fff);box-shadow:0 18px 38px #081f3a29}.attack-monitor__eyebrow,.attack-monitor__header p,.attack-monitor__panel-head span,.attack-monitor__entry p,.attack-monitor__message time{margin:0;color:#ffffffb8;font-size:13px}.attack-monitor__header h1{margin:6px 0;font-size:28px;letter-spacing:0}.attack-monitor__refresh{min-width:92px;height:40px;border:0;border-radius:6px;color:#12305d;background:#fff;cursor:pointer}.attack-monitor__header-actions{display:flex;align-items:center;gap:10px}.attack-monitor__back{min-height:40px;padding:0 16px;border:1px solid rgba(255,255,255,.6);border-radius:6px;color:#fff;background:transparent;cursor:pointer}.attack-monitor__empty-state{display:grid;gap:8px;margin-top:16px;padding:36px 24px;border:1px solid rgba(78,137,188,.16);border-radius:8px;background:#fff;box-shadow:0 10px 24px #081f3a14;text-align:center}.attack-monitor__empty-state strong{font-size:20px;color:#0f172a}.attack-monitor__empty-state span{color:#64748b}.attack-monitor__error{margin-top:16px;padding:14px 16px;border-radius:8px;color:#991b1b;background:#fee2e2}.attack-monitor__notice{margin-top:16px;padding:14px 16px;border-radius:8px;color:#854d0e;background:#fef3c7}.attack-monitor__kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.attack-monitor__kpis--overview{grid-template-columns:repeat(3,minmax(0,1fr))}.attack-monitor__danger-count{color:#dc2626!important}.attack-monitor__station-grid{display:grid;gap:12px;margin-top:16px}.attack-monitor__station-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;border:1px solid rgba(78,137,188,.16);border-left:6px solid #16a34a;border-radius:8px;color:#172033;background:#fff;box-shadow:0 10px 24px #081f3a14;text-align:left;cursor:pointer}.attack-monitor__station-card:hover{border-color:#1f8fff6b;box-shadow:0 14px 28px #081f3a1f}.attack-monitor__station-main{min-width:0}.attack-monitor__station-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.attack-monitor__station-title h2{margin:0;font-size:19px}.attack-monitor__station-title span{flex-shrink:0;font-size:13px;font-weight:700}.attack-monitor__station-main>p{margin:7px 0 0;color:#64748b;font-size:13px}.attack-monitor__station-stats{min-width:88px;align-self:center;text-align:right}.attack-monitor__station-stats strong,.attack-monitor__station-stats span,.attack-monitor__station-stats em{display:block}.attack-monitor__station-stats strong{font-size:28px}.attack-monitor__station-stats span,.attack-monitor__station-stats em{color:#64748b;font-size:12px;font-style:normal}.attack-monitor__station-stats em{margin-top:6px;font-weight:700}.attack-monitor__tag-muted{color:#64748b!important;background:#e2e8f0!important}.attack-monitor__sync-error{color:#b91c1c!important}.attack-monitor__kpis article,.attack-monitor__panel{border:1px solid rgba(78,137,188,.16);border-radius:8px;background:#fff;box-shadow:0 10px 24px #081f3a14}.attack-monitor__kpis article{padding:16px}.attack-monitor__kpis span{display:block;color:#64748b;font-size:13px}.attack-monitor__kpis strong{display:block;margin-top:8px;color:#0f172a;font-size:28px}.attack-monitor__layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px;margin-top:16px}.attack-monitor__panel{padding:18px}.attack-monitor__side-column{display:grid;align-content:start;gap:16px}.attack-monitor__panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.attack-monitor__panel-head h2{margin:0;font-size:18px}.attack-monitor__panel-head span,.attack-monitor__entry p,.attack-monitor__message time{color:#64748b}.attack-monitor__entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding:14px 16px;border-left:6px solid #16a34a;border-radius:8px;background:#f8fafc}.attack-monitor__photo{width:64px;height:76px;flex:0 0 64px;border-radius:6px;object-fit:cover;background:#dbeafe}.attack-monitor__photo--fallback{display:grid;place-items:center;color:#176ca0;font-size:22px;font-weight:800}.attack-monitor__person{min-width:0;flex:1}.attack-monitor__entry h3{margin:0 0 4px;font-size:17px}.attack-monitor__entry p+p{margin-top:3px}.attack-monitor__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.attack-monitor__tags span{padding:4px 7px;border-radius:4px;color:#8a6200;background:#fff1b8;font-size:12px}.attack-monitor__entry .attack-monitor__note{margin-top:8px;color:#475569}.attack-monitor__reinforcement{display:inline-flex;width:fit-content;margin-top:6px;padding:3px 8px;border-radius:999px;color:#92400e;background:#fef3c7;font-size:12px;font-weight:800}.attack-monitor__timer{min-width:98px;text-align:right}.attack-monitor__timer strong,.attack-monitor__timer span{display:block}.attack-monitor__timer strong{font-size:24px}.attack-monitor__timer span{font-size:12px}.attack-monitor__message{padding:12px 0;border-bottom:1px solid #eef2f7}.attack-monitor__message p{margin:4px 0 0;line-height:1.6}.attack-monitor__exit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f7}.attack-monitor__exit-row span{color:#64748b;font-size:13px}.attack-monitor__exit-row small{display:block;margin-top:3px;color:#92400e;font-size:12px}.attack-monitor__empty{padding:32px 0;color:#94a3b8;text-align:center}@media (max-width: 860px){.attack-monitor{padding:14px}.attack-monitor__header,.attack-monitor__entry{align-items:flex-start;flex-direction:column}.attack-monitor__kpis,.attack-monitor__kpis--overview,.attack-monitor__layout,.attack-monitor__station-card{grid-template-columns:1fr}.attack-monitor__station-stats{display:flex;align-items:baseline;gap:8px;text-align:left}.attack-monitor__header-actions{width:100%}.attack-monitor__header-actions button{flex:1}.attack-monitor__timer{text-align:left}}.attack-monitor{--attack-navy: #10213d;--attack-navy-soft: #18345d;--attack-page: #edf1f5;--attack-panel: #ffffff;--attack-border: #d8e0e8;--attack-text: #172033;--attack-muted: #667085;--attack-danger-bg: #fee2e2;--attack-danger-text: #991b1b;--attack-urgent-bg: #ffedd5;--attack-urgent-text: #9a3412;--attack-warning-bg: #fef9c3;--attack-warning-text: #854d0e;--attack-safe-bg: #dcfce7;--attack-safe-text: #166534;width:100%;height:100vh;min-height:100vh;padding:0;overflow:hidden;background:var(--attack-page);color:var(--attack-text)}.attack-monitor button,.attack-monitor input,.attack-monitor select{font:inherit}.attack-monitor button:focus-visible,.attack-monitor input:focus-visible,.attack-monitor select:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}.attack-monitor__command-bar{min-height:114px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(420px,1.5fr) auto;align-items:center;gap:24px;padding:18px 24px;color:#fff;background:var(--attack-navy);border-bottom:1px solid rgba(255,255,255,.12)}.attack-monitor__command-title p,.attack-monitor__command-title h1,.attack-monitor__command-title span,.attack-monitor__panel-heading p,.attack-monitor__panel-heading h2{margin:0}.attack-monitor__command-title p{color:#8fc5f2;font-size:12px;font-weight:700;letter-spacing:1px}.attack-monitor__command-title h1{margin-top:5px;font-size:26px;letter-spacing:1px}.attack-monitor__command-title>span{display:block;margin-top:5px;color:#b7c7dc;font-size:12px}.attack-monitor__command-kpis{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px}.attack-monitor__command-kpis article{min-height:72px;display:grid;align-content:center;padding:10px 14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d}.attack-monitor__command-kpis span{color:#afc0d5;font-size:12px}.attack-monitor__command-kpis strong{margin-top:3px;color:#fff;font-size:26px;font-variant-numeric:tabular-nums}.attack-monitor__command-kpi--danger{border-color:#f87171b3!important;background:#991b1b6b!important}.attack-monitor__command-kpi--danger span,.attack-monitor__command-kpi--danger strong{color:#fff}.attack-monitor__command-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.attack-monitor__command-actions>span{width:100%;color:#b7c7dc;font-size:12px;text-align:right}.attack-monitor__primary-button,.attack-monitor__secondary-button{min-height:40px;padding:0 16px;border-radius:6px;cursor:pointer}.attack-monitor__primary-button{border:1px solid #60a5fa;color:#10213d;background:#dbeafe;font-weight:700}.attack-monitor__secondary-button{border:1px solid rgba(255,255,255,.4);color:#fff;background:transparent}.attack-monitor__primary-button:disabled{cursor:wait;opacity:.62}.attack-monitor__stale-alert,.attack-monitor__error{min-height:42px;display:flex;align-items:center;gap:12px;margin:0;padding:8px 24px;border-radius:0}.attack-monitor__stale-alert{color:#7c2d12;background:#ffedd5;border-bottom:1px solid #fdba74}.attack-monitor__stale-alert span{font-size:13px}.attack-monitor__workspace{display:grid;grid-template-columns:176px minmax(620px,1fr) minmax(300px,360px);gap:12px;height:calc(100vh - 114px);padding:12px}.attack-monitor:has(.attack-monitor__stale-alert) .attack-monitor__workspace,.attack-monitor:has(.attack-monitor__error) .attack-monitor__workspace{height:calc(100vh - 156px)}.attack-monitor__workspace--rail-collapsed{grid-template-columns:176px minmax(620px,1fr) 48px}.attack-monitor__scope-nav,.attack-monitor__personnel-panel,.attack-monitor__right-rail,.attack-monitor__urgent-panel,.attack-monitor__message-panel{min-height:0}.attack-monitor__scope-nav,.attack-monitor__personnel-panel,.attack-monitor__urgent-panel,.attack-monitor__message-panel{border:1px solid var(--attack-border);background:var(--attack-panel)}.attack-monitor__scope-nav{display:flex;flex-direction:column;padding:10px}.attack-monitor__scope-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 14px;color:var(--attack-muted);font-size:12px}.attack-monitor__scope-heading strong{color:var(--attack-text);font-size:18px}.attack-monitor__scope-nav>button{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:0;border-radius:6px;color:#475467;background:transparent;cursor:pointer;text-align:left}.attack-monitor__scope-nav>button:hover{background:#f3f6f9}.attack-monitor__scope-nav>button.is-active{color:#fff;background:var(--attack-navy-soft)}.attack-monitor__scope-nav>button strong{font-variant-numeric:tabular-nums}.attack-monitor__scope-divider{height:1px;margin:10px 4px;background:var(--attack-border)}.attack-monitor__scope-clear{margin-top:auto;color:#475467!important;background:#f3f6f9!important}.attack-monitor__personnel-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.attack-monitor__panel-heading{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--attack-border)}.attack-monitor__panel-heading p{color:#64748b;font-size:11px;font-weight:700;letter-spacing:1px}.attack-monitor__panel-heading h2{margin-top:3px;color:var(--attack-text);font-size:18px}.attack-monitor__panel-heading>span,.attack-monitor__panel-heading>strong{color:#475467;font-size:14px}.attack-monitor__urgent-panel .attack-monitor__panel-heading>strong{min-width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#b91c1c}.attack-monitor__filters{min-height:66px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) minmax(180px,260px) auto auto;align-items:end;gap:10px;padding:10px 14px;border-bottom:1px solid var(--attack-border);background:#f8fafc}.attack-monitor__filters label{display:grid;gap:5px;color:#64748b;font-size:11px}.attack-monitor__filters input[type=search],.attack-monitor__filters select{width:100%;height:38px;padding:0 11px;border:1px solid #cbd5e1;border-radius:5px;color:var(--attack-text);background:#fff;font-size:13px}.attack-monitor__checkbox{min-height:38px;display:flex!important;align-items:center;gap:7px!important;padding:0 8px;color:#344054!important;font-size:13px!important;white-space:nowrap}.attack-monitor__checkbox input{width:18px;height:18px}.attack-monitor__filter-clear{height:38px;padding:0 14px;border:1px solid #cbd5e1;border-radius:5px;color:#344054;background:#fff;cursor:pointer}.attack-monitor__personnel-table{min-width:880px;min-height:0;overflow:auto;background:#f5f7fa}.attack-monitor__table-head,.attack-monitor__personnel-row{display:grid;grid-template-columns:minmax(155px,1fr) minmax(145px,.9fr) minmax(210px,1.35fr) minmax(90px,.6fr) 100px 94px;align-items:center;gap:12px}.attack-monitor__table-head{position:sticky;top:0;z-index:2;min-height:42px;padding:0 14px;border-bottom:1px solid var(--attack-border);color:#667085;background:#eef2f6;font-size:12px;font-weight:700}.attack-monitor__personnel-row{width:100%;min-height:66px;padding:8px 14px;border:0;border-bottom:1px solid rgba(100,116,139,.16);color:var(--attack-text);background:#fff;cursor:pointer;text-align:left;transition:filter .16s ease,box-shadow .16s ease}.attack-monitor__personnel-row:hover{filter:brightness(.975);box-shadow:inset 3px 0 #2563eb}.attack-monitor__personnel-row--timeout,.attack-monitor__personnel-row--evacuate{background:var(--attack-danger-bg);color:var(--attack-danger-text)}.attack-monitor__personnel-row--urgent,.attack-monitor__personnel-row--prepare{background:var(--attack-urgent-bg);color:var(--attack-urgent-text)}.attack-monitor__personnel-row--watch{background:var(--attack-warning-bg);color:var(--attack-warning-text)}.attack-monitor__personnel-row--safe{background:var(--attack-safe-bg);color:var(--attack-safe-text)}.attack-monitor__personnel-row--unknown{color:#475467;background:#f1f5f9}.attack-monitor__identity{min-width:0;display:flex;align-items:center;gap:10px}.attack-monitor__identity img,.attack-monitor__avatar{width:42px;height:48px;flex:0 0 42px;border-radius:5px;object-fit:cover}.attack-monitor__avatar{display:grid;place-items:center;color:#1d4ed8;background:#dbeafe;font-size:17px;font-weight:800}.attack-monitor__identity>span:last-child,.attack-monitor__basic-cell,.attack-monitor__task-cell,.attack-monitor__air-cell{min-width:0}.attack-monitor__identity strong,.attack-monitor__identity small,.attack-monitor__basic-cell strong,.attack-monitor__basic-cell small,.attack-monitor__task-cell strong,.attack-monitor__task-cell small,.attack-monitor__air-cell strong,.attack-monitor__air-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attack-monitor__identity strong,.attack-monitor__basic-cell strong,.attack-monitor__task-cell strong,.attack-monitor__air-cell strong{font-size:14px}.attack-monitor__identity small,.attack-monitor__basic-cell small,.attack-monitor__task-cell small,.attack-monitor__air-cell small{margin-top:3px;color:currentColor;font-size:11px;opacity:.72}.attack-monitor__identity em{display:block;margin-top:2px;color:#9a3412;font-style:normal;font-weight:700}.attack-monitor__remaining{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.attack-monitor__risk-badge{justify-self:start;min-width:76px;padding:6px 9px;border:1px solid currentColor;border-radius:4px;font-size:12px;font-weight:800;text-align:center}.attack-monitor__empty{min-height:220px;display:grid;place-content:center;gap:7px;padding:32px;color:#64748b;background:#fff;text-align:center}.attack-monitor__empty strong{color:#344054;font-size:18px}.attack-monitor__pagination{min-height:48px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 12px;border-top:1px solid var(--attack-border);color:#667085;background:#fff;font-size:12px}.attack-monitor__pagination button{min-height:32px;padding:0 12px;border:1px solid #cbd5e1;border-radius:4px;color:#344054;background:#fff;cursor:pointer}.attack-monitor__pagination button:disabled{cursor:not-allowed;opacity:.42}.attack-monitor__right-rail{position:relative;display:grid;grid-template-rows:auto minmax(220px,.9fr) minmax(220px,1.1fr);gap:12px}.attack-monitor__rail-toggle{min-height:34px;border:1px solid var(--attack-border);color:#344054;background:#fff;cursor:pointer}.attack-monitor__workspace--rail-collapsed .attack-monitor__right-rail{display:block}.attack-monitor__workspace--rail-collapsed .attack-monitor__rail-toggle{width:48px;height:100%;padding:10px;writing-mode:vertical-rl}.attack-monitor__workspace--rail-collapsed .attack-monitor__urgent-panel,.attack-monitor__workspace--rail-collapsed .attack-monitor__message-panel{display:none}.attack-monitor__urgent-panel,.attack-monitor__message-panel{overflow:auto}.attack-monitor__urgent-entry{width:calc(100% - 20px);min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 10px 0;padding:9px 10px;border:1px solid #fecaca;border-left:5px solid #b91c1c;border-radius:5px;color:#991b1b;background:#fff1f2;cursor:pointer;text-align:left}.attack-monitor__urgent-entry>span:last-child{flex:0 0 auto;text-align:right}.attack-monitor__urgent-entry strong,.attack-monitor__urgent-entry small{display:block}.attack-monitor__urgent-entry small{margin-top:3px;font-size:11px;opacity:.76}.attack-monitor__compact-empty{padding:28px 16px;color:#64748b;text-align:center}.attack-monitor__message{padding:12px 14px;border-bottom:1px solid #edf0f3}.attack-monitor__message time{display:block;color:#64748b;font-size:11px}.attack-monitor__task-cell .attack-monitor__location-address{color:#64748b}.attack-monitor__message strong{display:block;margin-top:4px;color:#344054;font-size:13px}.attack-monitor__message p{margin:5px 0 0;color:#475467;font-size:13px;line-height:1.55}.attack-monitor__drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end;background:#0f172a7a}.attack-monitor__drawer{width:min(460px,92vw);height:100%;padding:20px;overflow:auto;color:var(--attack-text);background:#fff;box-shadow:-18px 0 48px #0f172a33}.attack-monitor__drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--attack-border)}.attack-monitor__drawer-identity{min-width:0;display:flex;align-items:center;gap:12px}.attack-monitor__drawer-identity img,.attack-monitor__drawer-avatar{width:64px;height:64px;flex:0 0 auto;border-radius:8px}.attack-monitor__drawer-identity img{object-fit:cover}.attack-monitor__drawer-avatar{display:grid;place-items:center;color:#fff;background:#356783;font-size:24px;font-weight:800}.attack-monitor__drawer-identity>div{min-width:0}.attack-monitor__drawer-identity>div>span{display:block;margin-top:5px;color:#475467;font-size:12px}.attack-monitor__drawer-identity em{display:block;margin-top:3px;color:#8a4b0f;font-style:normal;font-weight:700}.attack-monitor__drawer header p,.attack-monitor__drawer header h2{margin:0}.attack-monitor__drawer header p{color:#64748b;font-size:12px}.attack-monitor__drawer header h2{margin-top:4px;font-size:24px}.attack-monitor__drawer header button{min-width:56px;min-height:36px;border:1px solid #cbd5e1;border-radius:5px;color:#344054;background:#fff;cursor:pointer}.attack-monitor__drawer-status{margin-top:14px;padding:10px 12px;color:#854d0e;background:#fef3c7;border:1px solid #fde68a}.attack-monitor__drawer-risk{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:16px;border:1px solid currentColor}.attack-monitor__drawer-risk span{font-weight:800}.attack-monitor__drawer-risk strong{font-size:30px;font-variant-numeric:tabular-nums}.attack-monitor__drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0}.attack-monitor__drawer-grid div:last-child:nth-child(odd){grid-column:1 / -1}.attack-monitor__drawer-grid div{padding:11px;border:1px solid var(--attack-border);background:#f8fafc}.attack-monitor__drawer-grid dt{color:#64748b;font-size:11px}.attack-monitor__drawer-grid dd{margin:5px 0 0;color:#344054;font-size:14px;font-weight:700}.attack-monitor__drawer-section{margin-top:18px}.attack-monitor__drawer-section h3{margin:0 0 8px;font-size:15px}.attack-monitor__drawer-section>.attack-monitor__drawer-grid{margin-top:0}.attack-monitor__contacts{padding:14px;border:1px solid var(--attack-border);background:#f8fafc}.attack-monitor__contact-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--attack-border)}.attack-monitor__contact-row:first-of-type{border-top:0}.attack-monitor__contact-row span,.attack-monitor__contact-row strong{display:block}.attack-monitor__contact-row span{color:#64748b;font-size:11px}.attack-monitor__contact-row strong{margin-top:4px;color:#1e293b;font-size:16px;font-variant-numeric:tabular-nums}.attack-monitor__contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.attack-monitor__contact-actions button{min-height:44px;padding:0 12px;border:1px solid #94a3b8;border-radius:5px;color:#25455d;background:#fff;cursor:pointer}.attack-monitor__contact-actions button:hover{border-color:#356783;background:#edf5f8}.attack-monitor__contact-actions button:focus-visible,.attack-monitor__drawer button:focus-visible{outline:3px solid rgba(14,116,144,.3);outline-offset:2px}.attack-monitor__contact-status{min-height:20px;margin:4px 0 0!important;color:#0f6848!important;font-size:12px}.attack-monitor__drawer-section p{margin:0;color:#475467;line-height:1.65}.attack-monitor__drawer-tags{display:flex;flex-wrap:wrap;gap:7px}.attack-monitor__drawer-tags span{padding:5px 8px;border-radius:4px;color:#1e3a5f;background:#e5eef7;font-size:12px}.attack-monitor__drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--attack-border)}.attack-monitor__drawer-actions button{min-height:44px;border:1px dashed #94a3b8;border-radius:5px;color:#64748b;background:#f1f5f9;cursor:not-allowed}@media (max-width: 520px){.attack-monitor__drawer{width:100vw;padding:16px}.attack-monitor__contact-row{align-items:flex-start;flex-direction:column}.attack-monitor__contact-actions{width:100%;justify-content:stretch}.attack-monitor__contact-actions button{flex:1}}@media (min-width: 1680px){.attack-monitor__command-kpis strong{font-size:30px}.attack-monitor__personnel-row{min-height:72px}.attack-monitor__remaining{font-size:24px}}@media (max-width: 1366px){.attack-monitor__command-bar{grid-template-columns:minmax(210px,.8fr) minmax(360px,1.4fr) auto;gap:14px;padding-inline:16px}.attack-monitor__command-title h1{font-size:22px}.attack-monitor__command-kpis article{padding-inline:9px}.attack-monitor__workspace{grid-template-columns:132px minmax(560px,1fr) minmax(264px,310px)}.attack-monitor__workspace--rail-collapsed{grid-template-columns:132px minmax(560px,1fr) 48px}}@media (max-width: 1180px){.attack-monitor{overflow:auto}.attack-monitor__command-bar{grid-template-columns:1fr auto;min-width:780px}.attack-monitor__command-kpis{grid-column:1 / -1;grid-row:2}.attack-monitor__workspace,.attack-monitor__workspace--rail-collapsed{min-width:780px;height:auto;grid-template-columns:1fr;overflow:visible}.attack-monitor__scope-nav{flex-direction:row;overflow-x:auto}.attack-monitor__scope-heading,.attack-monitor__scope-divider,.attack-monitor__scope-clear{display:none!important}.attack-monitor__scope-nav>button{min-width:118px}.attack-monitor__personnel-panel{min-height:620px}.attack-monitor__right-rail{display:none!important}}@media (prefers-reduced-motion: reduce){.attack-monitor *,.attack-monitor *:before,.attack-monitor *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 12%,rgba(31,143,255,.18),transparent 18%),radial-gradient(circle at 84% 20%,rgba(19,92,179,.12),transparent 18%),linear-gradient(180deg,#f8fbff,#edf3f8)}.login-page--mini{position:relative;overflow:hidden}.login-bg-decoration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-bg-circle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(0,162,255,.18) 0%,transparent 70%);filter:blur(28px)}.login-bg-circle--one{width:280px;height:280px;top:-80px;right:-60px}.login-bg-circle--two{width:220px;height:220px;bottom:120px;left:-60px}.login-bg-circle--three{width:180px;height:180px;top:48%;right:14%}.login-card{width:min(1040px,100%);min-height:640px;display:grid;grid-template-columns:1.1fr .9fr;background:#ffffffeb;border:1px solid rgba(94,152,203,.14);box-shadow:0 26px 70px #081f3a24;border-radius:32px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.login-card--mini{position:relative;z-index:1;width:min(430px,100%);min-height:auto;display:grid;grid-template-columns:1fr;gap:10px;padding:0;background:transparent;border:none;box-shadow:none}.login-card__logo{text-align:center}.login-card__logo img{display:block;width:min(400px,76vw);margin:0 auto -4px}.login-card__logo h1{margin:-6px 0 0;color:#7c8b9f;font-size:clamp(30px,4vw,40px);letter-spacing:2px;font-weight:800}.login-card__intro,.login-form{padding:48px}.login-card__intro{display:flex;flex-direction:column;justify-content:flex-end;gap:16px;background:linear-gradient(180deg,rgba(0,162,255,.1),transparent 40%),linear-gradient(140deg,#fff,#eef8ff)}.login-card__intro h1{margin:0;font-size:clamp(42px,5vw,72px);line-height:1.05;color:#1f3148}.login-card__intro p:last-child{max-width:480px;color:var(--text-soft);line-height:1.8}.login-form{display:flex;flex-direction:column;justify-content:center;gap:18px}.login-form--mini{gap:14px;padding:24px 22px;border-radius:28px;background:#ffffffeb;border:1px solid rgba(94,152,203,.16);box-shadow:0 22px 48px #081f3a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.input-group-mini{display:grid;gap:14px}.input-section-mini{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 16px 0 14px;border-radius:16px;border:1px solid rgba(94,152,203,.16);background:linear-gradient(180deg,#fffffffa,#f4f9fff5);box-shadow:inset 0 1px #ffffffb3}.input-section-mini:focus-within{border-color:#1f8fff7a;box-shadow:0 0 0 4px #1f8fff14,inset 0 0 0 1px #1f8fff2e}.input-icon-mini{width:18px;height:18px;object-fit:contain;flex:0 0 18px}.input-section-mini input{width:100%;height:48px;border:none;background:transparent;outline:none;padding:0;font-size:16px}.login-form label{display:grid;gap:8px}.login-form span{color:var(--text-soft);font-size:14px}.login-form input[type=text],.login-form input[type=password]{height:52px;border-radius:14px;border:1px solid rgba(0,162,255,.16);background:#f8fcff;color:var(--text);padding:0 16px}.remember-line{display:flex;align-items:center;gap:10px}.remember-line--mini{padding-left:4px;justify-content:flex-start}.remember-line span{color:var(--text)}.primary-button,.ghost-button{height:44px;border-radius:22px;cursor:pointer}.primary-button{border:none;color:#fff;background:linear-gradient(135deg,#2cb7ff,#127dff 52%,#0f67da);font-weight:700;box-shadow:0 14px 28px #1068d838,inset 0 1px #ffffff38}.primary-button--search{width:50%;min-width:132px;height:38px;margin:0 auto;border-radius:19px;font-size:14px}.login-submit-mini{height:52px;border-radius:24px;font-size:18px}.ghost-button{padding:0 14px;border:1px solid rgba(94,152,203,.18);background:linear-gradient(180deg,#fffffffa,#f3f9fff5);color:#31475f;box-shadow:0 10px 22px #123e6714,inset 0 1px #ffffffb8}.ghost-button--header{height:42px;border-radius:21px;padding:0 18px}.ghost-button--strong{border-color:#186ec733;background:#fff;color:#1f436e}.ghost-button--brand{border-color:#1190ff3d;background:linear-gradient(180deg,#e4f4ffeb,#d6ecffe0);color:#0d76cc}.error-text{margin:0;color:var(--danger)}.screen-layout{min-height:100vh;width:100vw;padding:0;overflow:hidden}.screen-header{position:absolute;top:14px;right:14px;z-index:90;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 18px;border-radius:26px;background:#ffffffd1;border:1px solid var(--panel-border-strong);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.screen-header__eyebrow,.screen-header__title{display:none}.screen-header__meta{display:flex;align-items:center;gap:14px;color:#596c82;font-size:14px;font-weight:600;letter-spacing:.2px}.screen-main{min-height:100vh;width:100vw;overflow:hidden}.screen-main--minimal{box-sizing:border-box;height:100dvh;max-height:100dvh;min-height:0;display:flex;flex-direction:column}.dashboard-screen{min-height:100vh;padding:22px;display:grid;grid-template-rows:auto 1fr;gap:18px;background:radial-gradient(circle at top left,rgba(22,141,255,.14),transparent 24%),radial-gradient(circle at bottom right,rgba(28,110,201,.1),transparent 26%),linear-gradient(180deg,#eef5fb,#e7eef6)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-radius:28px;background:#ffffffd1;border:1px solid rgba(76,136,186,.18);box-shadow:0 22px 58px #081f3a24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-header__eyebrow{margin:0 0 6px;color:#5e7691;font-size:40px;letter-spacing:2px}.dashboard-header h1{margin:0;font-size:34px;color:#18314d}.dashboard-header__meta{display:flex;align-items:center;gap:16px;color:#5e7691}.dashboard-grid{min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr) 320px;gap:18px}.dashboard-column,.dashboard-center{min-height:0;display:grid;gap:18px}.dashboard-center{grid-template-rows:minmax(0,1fr) 260px}.dashboard-panel{min-height:0;padding:18px;border-radius:28px;background:#ffffffdb;border:1px solid rgba(76,136,186,.18);box-shadow:0 18px 44px #081f3a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;gap:16px}.dashboard-panel--cards{align-content:start}.dashboard-panel--map{padding-bottom:20px}.dashboard-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.dashboard-panel__head h2{margin:0;font-size:20px;color:#18314d}.dashboard-panel__head span{color:#6d8097;font-size:13px}.dashboard-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-stat-card{min-height:118px;padding:16px;border-radius:22px;background:linear-gradient(180deg,#f8fcfffa,#f0f7fdf5);border:1px solid rgba(90,148,196,.14);display:grid;align-content:space-between}.dashboard-stat-card span{color:#617489;font-size:13px}.dashboard-stat-card strong{font-size:34px;line-height:1;color:#18314d}.dashboard-stat-card--danger strong{color:#d14b57}.dashboard-stat-card--warning strong{color:#d98b18}.dashboard-stat-card--success strong{color:#148a58}.dashboard-stat-card--info strong{color:#146fcf}.dashboard-map-shell{position:relative;min-height:0;border-radius:24px;overflow:hidden;background:#e6f0f9e6}.dashboard-map-shell .map-canvas,.dashboard-map-shell .fallback-map{height:100%;min-height:420px}.dashboard-map-entry{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:linear-gradient(180deg,#0c1c2e08,#0c1c2e24);cursor:pointer}.dashboard-map-entry span{position:absolute;right:20px;bottom:20px;min-height:42px;padding:0 18px;border-radius:999px;background:#fffffff5;box-shadow:0 10px 28px #081f3a2e;color:#18314d;font-weight:700;display:inline-flex;align-items:center}.dashboard-rank-list,.dashboard-activity-list,.dashboard-focus-list{min-height:0;overflow:auto}.dashboard-rank-list,.dashboard-activity-list{display:grid;gap:10px}.dashboard-rank-item,.dashboard-activity-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#f8fcfffa,#eff6fcf5);border:1px solid rgba(90,148,196,.12)}.dashboard-rank-item strong,.dashboard-activity-item strong{display:block;margin-bottom:4px;color:#18314d}.dashboard-rank-item span,.dashboard-activity-item p,.dashboard-activity-item time,.dashboard-activity-item__meta span,.dashboard-focus-list li{color:#617489;font-size:13px;line-height:1.6;margin:0}.dashboard-rank-item b{font-size:28px;color:#18314d}.dashboard-activity-item__meta{text-align:right}.dashboard-focus-list{margin:0;padding-left:18px}.dashboard-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);min-height:42px;padding:0 18px;border-radius:999px;background:#18314deb;color:#fff;display:inline-flex;align-items:center;z-index:150}.dashboard-toast--error{background:#c54551f0}.map-locate-toast{position:fixed;left:50%;bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 72px));transform:translate(-50%);z-index:125;max-width:min(92vw,360px);padding:12px 18px;border-radius:14px;background:#18314deb;color:#fff;font-size:13px;font-weight:600;line-height:1.5;text-align:center;box-shadow:0 12px 32px #081f3a38;pointer-events:none;white-space:pre-wrap;word-break:break-word}.float-button--locate{width:44px;min-width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,162,255,.22);background:#fff;box-shadow:0 2px 8px #00000014}.float-button--locate .float-button__loc-icon{color:#00a2ff}.dashboard-screen--command{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 0%,rgba(31,143,255,.18),transparent 28%),radial-gradient(circle at 85% 18%,rgba(255,111,97,.12),transparent 18%),linear-gradient(180deg,#07111d,#091826 54%,#0a1320)}.dashboard-screen__noise{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(125,176,232,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(125,176,232,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at center,#000 48%,transparent 100%);mask-image:radial-gradient(circle at center,#000 48%,transparent 100%)}.dashboard-command-header{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.85fr auto;gap:12px;align-items:stretch}.dashboard-command-header__title,.dashboard-command-header__stats,.dashboard-command-header__actions,.dashboard-command-panel{border:1px solid rgba(102,152,208,.16);background:linear-gradient(180deg,#091b2bf0,#091624e6);box-shadow:inset 0 1px #c3e2ff0f,0 18px 48px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-command-header__title{padding:14px 18px;border-radius:28px}.dashboard-command-header__title p,.dashboard-command-panel__head p{margin:0 0 8px;color:#59b8ff;font-size:12px;letter-spacing:2px}.dashboard-command-header__title h1{margin:0;color:#f5fbff;font-size:clamp(24px,2.1vw,34px);line-height:1.08;letter-spacing:1px}.dashboard-command-header__stats{padding:8px;border-radius:28px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.dashboard-headline-pill{min-height:70px;padding:10px 12px;border-radius:22px;background:linear-gradient(180deg,#0d2439e6,#0c1d2ed6);border:1px solid rgba(102,152,208,.12);display:grid;align-content:space-between}.dashboard-headline-pill span{color:#86a9c6;font-size:12px}.dashboard-headline-pill strong{color:#f5fbff;font-size:22px;line-height:1}.dashboard-headline-pill--danger strong{color:#ff8d7e}.dashboard-headline-pill--warning strong{color:#ffc45c}.dashboard-headline-pill--alert strong{color:#ff6565}.dashboard-command-header__actions{padding:8px;border-radius:28px;display:grid;gap:8px;align-content:start;min-width:184px}.dashboard-status-chip{min-height:62px;padding:10px 12px;border-radius:18px;background:linear-gradient(180deg,#0d2439e6,#0c1d2ed6);border:1px solid rgba(102,152,208,.12);display:grid;gap:8px}.dashboard-status-chip span{color:#86a9c6;font-size:12px}.dashboard-status-chip strong{color:#eff8ff;font-size:15px}.dashboard-ghost-button{color:#d9ecff;border-color:#6698d03d;background:linear-gradient(180deg,#102b44eb,#0b1f30e0)}.dashboard-command-grid{position:relative;z-index:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr) 240px;gap:12px}.dashboard-rail,.dashboard-stage{min-height:0;display:grid;gap:18px}.dashboard-stage{grid-template-rows:minmax(520px,1fr) 220px}.dashboard-command-panel{padding:16px;border-radius:28px;min-height:0;display:grid;gap:14px}.dashboard-command-panel--stage,.dashboard-command-panel--feed{grid-template-rows:auto minmax(0,1fr)}.dashboard-command-panel--tall{align-content:start}.dashboard-command-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.dashboard-command-panel__head h2{margin:0;color:#f4fbff;font-size:22px}.dashboard-command-panel__head span{color:#6f8da8;font-size:13px}.dashboard-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-resource-card{min-height:88px;padding:12px;border-radius:22px;background:radial-gradient(circle at top right,rgba(89,184,255,.18),transparent 28%),linear-gradient(180deg,#0b2031f5,#091826f0);border:1px solid rgba(89,184,255,.12);display:grid;align-content:end;gap:8px}.dashboard-resource-card span,.dashboard-business-card span,.dashboard-business-card small,.dashboard-station-item p,.dashboard-feed-item p,.dashboard-feed-item__meta span,.dashboard-feed-item__meta time,.dashboard-focus-list--command li{color:#7f9bb5}.dashboard-resource-card strong,.dashboard-business-card strong,.dashboard-feed-item strong,.dashboard-station-item strong{color:#f5fbff}.dashboard-resource-card strong{font-size:26px;line-height:1}.dashboard-resource-card em{color:#59b8ff;font-style:normal;font-size:12px;letter-spacing:1px}.dashboard-focus-list--command{margin:0;padding-left:18px;display:grid;gap:12px}.dashboard-stage-map{position:relative;min-height:0;height:100%;min-height:420px;border-radius:24px;overflow:hidden;background:#06121df0;border:1px solid rgba(89,184,255,.12)}.dashboard-stage-map:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid rgba(89,184,255,.12);border-radius:20px;pointer-events:none}.dashboard-stage-map .map-panel{width:100%;min-height:0!important;height:100%;overflow:hidden}.dashboard-stage-map .map-canvas,.dashboard-stage-map .fallback-map{width:100%;height:100%!important;min-height:100%!important}.dashboard-stage-map__entry{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:radial-gradient(circle at center,transparent 48%,rgba(4,14,24,.24) 100%),linear-gradient(180deg,#0000,#05121d52);cursor:pointer}.dashboard-stage-map__entry span{position:absolute;left:50%;bottom:24px;transform:translate(-50%);min-height:46px;padding:0 22px;border-radius:999px;background:linear-gradient(135deg,#33b9ff,#177bff);box-shadow:0 14px 36px #177bff42;color:#fff;font-weight:700;display:inline-flex;align-items:center}.dashboard-feed-list,.dashboard-station-list{min-height:0;overflow:auto;display:grid;gap:12px}.dashboard-feed-item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px}.dashboard-feed-item__line{margin-top:7px;width:10px;height:10px;border-radius:50%;background:#33b9ff;box-shadow:0 0 0 6px #33b9ff1f}.dashboard-feed-item__body{min-height:82px;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg,#0b2031f5,#091826f0);border:1px solid rgba(89,184,255,.12);display:flex;justify-content:space-between;gap:16px}.dashboard-feed-item strong{display:block;margin-bottom:6px}.dashboard-feed-item__meta{text-align:right;white-space:nowrap}.dashboard-business-stack{display:grid;gap:10px}.dashboard-business-card{min-height:72px;padding:12px;border-radius:22px;border:1px solid rgba(89,184,255,.12);background:linear-gradient(180deg,#0b2031f5,#091826f0);display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.dashboard-business-card strong{font-size:28px;line-height:1}.dashboard-mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-mini-metric{min-height:64px;padding:10px 12px;border-radius:18px;background:linear-gradient(180deg,#0b2031f5,#091826f0);border:1px solid rgba(89,184,255,.12);display:flex;justify-content:space-between;align-items:end;gap:12px}.dashboard-mini-metric span{color:#7f9bb5;font-size:12px}.dashboard-mini-metric strong{color:#f5fbff;font-size:24px;line-height:1}.dashboard-business-card--cyan{box-shadow:inset 4px 0 #33b9ff}.dashboard-business-card--emerald{box-shadow:inset 4px 0 #25c88b}.dashboard-station-item{padding:12px 14px;border-radius:20px;background:linear-gradient(180deg,#0b2031f5,#091826f0);border:1px solid rgba(89,184,255,.12);display:grid;gap:10px}.dashboard-station-item__head{display:flex;justify-content:space-between;gap:12px;align-items:center}.dashboard-station-item__head span{color:#d4ebff;font-size:13px}.dashboard-station-item__bar{height:8px;border-radius:999px;background:#86a9c61f;overflow:hidden}.dashboard-station-item__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34beff,#1f84ff)}.dashboard-screen--command .dashboard-toast{background:#07111df0;border:1px solid rgba(89,184,255,.18)}.dashboard-screen--command .dashboard-toast--error{background:#7a181ff0;border-color:#ff6f6138}.map-screen{position:relative;min-height:100vh;width:100vw;overflow:hidden;isolation:isolate}.map-screen--embedded{min-height:0;height:100%;width:100%;flex:1;display:flex;flex-direction:column}.map-screen--embedded>.map-panel{flex:1;min-height:0}.map-panel.map-panel--embedded,.map-panel.map-panel--embedded .map-canvas,.map-panel.map-panel--embedded .fallback-map{width:100%;height:100%;min-height:0}.panel,.map-panel{border-radius:24px;overflow:hidden}.panel{position:relative;z-index:60;display:flex;flex-direction:column;gap:14px;padding:16px;background:linear-gradient(180deg,#fffffff2,#f7fbffeb);border:1px solid var(--panel-border-strong);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel__header h2{margin:0 0 6px;font-size:18px;color:var(--text);letter-spacing:.3px}.panel__header p{margin:0;color:var(--text-soft);line-height:1.6;font-size:12px}.panel-close{width:32px;height:32px;padding:0;border-radius:16px;border:1px solid rgba(94,152,203,.18);background:linear-gradient(180deg,#f8fcff,#edf6ff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.panel-close img{width:14px;height:14px}.sidebar-panel,.detail-panel,.patrol-panel{position:absolute;top:92px;bottom:16px;z-index:80;width:300px;max-width:calc(100vw - 32px);transition:transform .24s ease,opacity .24s ease;opacity:0;pointer-events:none;overflow:hidden}.sidebar-panel{left:16px;transform:translate(-108%)}.detail-panel{position:fixed;top:50%;left:50%;right:auto;bottom:auto;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 96px);transform:translate(-50%,-50%) scale(.96);z-index:110}.patrol-panel{right:16px;width:360px;transform:translate(108%)}.sidebar-panel--open,.detail-panel--open,.patrol-panel--open{opacity:1;pointer-events:auto;transform:translate(0)}.detail-panel--open{transform:translate(-50%,-50%) scale(1)}.panel-scroll{min-height:0;overflow:auto;padding-right:4px}.detail-scroll{display:grid;gap:14px}.marker-preview{position:absolute;top:86px;left:50%;z-index:105;width:min(520px,calc(100vw - 40px));padding:18px;border-radius:26px;background:#ffffffe0;border:1px solid rgba(95,151,199,.2);box-shadow:0 24px 60px #04162c38;transform:translate(-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.marker-preview__head{display:flex;align-items:center;gap:10px}.marker-preview__head img{width:24px;height:24px}.marker-preview__head strong{flex:1;font-size:20px;line-height:1.4}.marker-preview__close{width:30px;height:30px;border:none;border-radius:50%;background:#f1f8ff;color:#4b6a8f;font-size:20px;cursor:pointer}.marker-preview__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;color:var(--text-soft);font-size:12px}.marker-preview__meta span{min-height:24px;padding:0 10px;border-radius:12px;background:#f6fbff;border:1px solid rgba(0,162,255,.12);display:inline-flex;align-items:center}.marker-preview__quick{margin-top:12px}.marker-preview__media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.marker-preview__media-card{position:relative;min-height:132px;border-radius:16px;overflow:hidden;background:#eef5fb}.marker-preview__media-card img,.marker-preview__media-card video{width:100%;height:132px;object-fit:cover;display:block}.marker-preview__media-card--video span{position:absolute;right:12px;bottom:10px;min-height:24px;padding:0 10px;border-radius:12px;background:#081422a8;color:#fff;font-size:12px;display:inline-flex;align-items:center}.marker-preview__action-wrap{display:flex;justify-content:center;margin-top:14px}.marker-preview__action{min-width:110px;height:44px;padding:0 20px;margin:0;border:none;border-radius:22px;background:linear-gradient(135deg,#42c561,#2fa34a);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 10px 18px #2fa34a38}.search-box{display:grid;gap:10px}.search-box__row{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:24px;border:1px solid rgba(94,152,203,.16);background:linear-gradient(180deg,#fffffffa,#f3f8fff5);box-shadow:inset 0 1px #ffffffd1}.search-box__icon{width:18px;height:18px;opacity:.8}.search-box input{width:100%;height:100%;border:none;background:transparent;color:var(--text);padding:0;font-size:14px;outline:none}.search-clear-button{border:none;background:transparent;color:var(--accent);cursor:pointer;font-size:12px;padding:0}.filter-fab-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none}.filter-fab-row::-webkit-scrollbar{display:none}.filter-fab-item{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(0,162,255,.16);background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014;cursor:pointer}.filter-fab-item img{width:22px;height:22px;object-fit:contain}.filter-fab-item--active{background:#00a2ff;box-shadow:0 4px 14px #00a2ff47}.filter-fab-item--active img{filter:brightness(0) invert(1)}.filter-fab-grid{display:grid;grid-template-columns:repeat(3,44px);gap:10px 14px;justify-content:start}.patrol-scroll{display:grid;gap:12px}.patrol-result-meta{display:flex;align-items:center;justify-content:space-between;color:var(--text-soft);font-size:12px}.patrol-toolbar{display:flex;justify-content:flex-start}.patrol-list{display:grid;gap:12px}.patrol-card{display:grid;gap:10px;padding:14px;border-radius:20px;border:1px solid rgba(94,152,203,.14);background:linear-gradient(180deg,#fffffffa,#f6fafff5);color:var(--text);box-shadow:0 14px 28px #11345c14}.patrol-card--button{width:100%;text-align:left;cursor:pointer}.patrol-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.patrol-card__header strong{font-size:15px;line-height:1.4}.patrol-card__header span,.patrol-card p{color:var(--text-soft);font-size:12px;line-height:1.6;margin:0}.patrol-card__tags{display:flex;flex-wrap:wrap;gap:6px}.patrol-card__tags span{min-height:24px;padding:0 10px;border-radius:12px;background:#f6fbff;border:1px solid rgba(0,162,255,.12);color:#5f6f87;font-size:12px;display:inline-flex;align-items:center}.patrol-load-more{justify-self:center}.result-meta{display:flex;justify-content:space-between;gap:12px;color:var(--text-soft);font-size:12px}.result-list{display:grid;gap:12px;min-height:0}.result-card{display:grid;gap:5px;text-align:left;padding:12px 14px;border-radius:20px;border:1px solid rgba(94,152,203,.14);background:linear-gradient(180deg,#fffffffa,#f6fafff5);color:var(--text);cursor:pointer;box-shadow:0 14px 28px #11345c14}.result-card__head{display:flex;align-items:center;gap:8px}.result-card__head img{width:22px;height:22px;object-fit:contain}.result-card__place-dot{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0,#fff 22%,#f04438 24%,#f04438 46%,#f0443829 48%,#f0443829);box-shadow:0 0 0 1px #f044382e;flex:0 0 auto}.result-card strong{font-size:13px;line-height:1.4}.result-card span,.result-card small{color:var(--text-soft);font-size:12px;line-height:1.5}.result-card--active{border-color:#00a2ff59;box-shadow:inset 0 0 0 1px #00a2ff29}.detail-section{display:grid;gap:10px}.detail-section h3,.detail-section h4{margin:0}.detail-section h3{font-size:18px;line-height:1.4}.detail-section h4{font-size:14px;color:#304255}.detail-section p{margin:0;color:#5f6f87;line-height:1.7;font-size:13px}.detail-section--hero{padding:2px 2px 10px;border-bottom:1px solid rgba(0,162,255,.12)}.detail-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 10px;border-radius:999px;background:linear-gradient(180deg,#f0f8fff5,#e4f2fff0);color:#2a6596;font-size:12px;border:1px solid rgba(0,162,255,.12)}.detail-badge img{width:18px;height:18px}.detail-grid{display:grid;gap:8px;color:#5f6f87;font-size:13px;line-height:1.6}.detail-grid--inline{margin-bottom:12px}.detail-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid rgba(15,127,143,.18);border-radius:12px;background:#0f7f8f0f}.detail-contact div{display:grid;gap:4px;min-width:0}.detail-contact span{color:var(--muted);font-size:13px}.detail-contact a{flex-shrink:0;color:#0f7180;font-weight:700;text-decoration:none}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-actions--compact{gap:8px}.detail-media-ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:16px 12px;align-items:start}.detail-media-ai-col h4{margin:0 0 8px}.detail-quick-row{display:flex;flex-direction:row;align-items:stretch;justify-content:stretch}.detail-quick-row .detail-quick-tile{flex:1;width:100%}.detail-quick-tile{min-height:58px;padding:8px 6px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:16px;border:1px solid rgba(94,152,203,.2);background:linear-gradient(180deg,#fffffffa,#f1f8fff5);color:#2f78b1;cursor:pointer;box-shadow:0 10px 20px #081f3a14,inset 0 1px #ffffffd1;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,opacity .15s ease;touch-action:manipulation;font:inherit}.detail-quick-tile:hover:not(:disabled){border-color:#00a2ff61;box-shadow:0 12px 24px #081f3a1a,inset 0 1px #ffffffe6}.detail-quick-tile:active:not(:disabled){transform:scale(.97)}.detail-quick-tile:disabled{opacity:.55;cursor:not-allowed;transform:none}.detail-quick-tile__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#1f8fff}.detail-quick-tile__icon img{display:block}.detail-quick-tile__svg{width:22px;height:22px;display:block}.detail-quick-tile__label{font-size:11px;font-weight:700;line-height:1.15;letter-spacing:.02em;color:#2f78b1;text-align:center}.detail-quick-tile--ai{border-color:#168cf16b;background:linear-gradient(135deg,#1f8fff,#49b5ff);color:#fff;box-shadow:0 12px 22px #1181e647,inset 0 1px #ffffff38}.detail-quick-tile--ai:hover:not(:disabled){border-color:#ffffff59;box-shadow:0 14px 26px #1181e652,inset 0 1px #ffffff47}.detail-quick-tile--ai .detail-quick-tile__label,.detail-quick-tile__icon--on-ai{color:#fff}.video-card{display:grid;gap:8px;padding:14px;border-radius:20px;background:linear-gradient(180deg,#f8fcfffa,#f0f8fff2);border:1px solid rgba(94,152,203,.14);font-size:13px;color:#4e6179}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.media-item{display:block;border-radius:14px;overflow:hidden;border:1px solid rgba(0,162,255,.12)}.media-item--button{padding:0;background:#fff;cursor:pointer}.media-item img{width:100%;height:120px;object-fit:cover;display:block}.detail-links{display:grid;gap:10px}.detail-links--compact{gap:8px}.detail-link{display:flex;align-items:center;min-height:42px;padding:0 14px;border-radius:14px;border:1px solid rgba(94,152,203,.16);color:#1861a0;background:linear-gradient(180deg,#fffffffa,#eef7fff5);text-decoration:none;box-shadow:0 10px 22px #0f4e8814}.detail-link--small{min-height:36px;padding:0 12px;border-radius:12px;font-size:13px}.detail-link--button{width:100%;justify-content:flex-start;cursor:pointer}.detail-link--primary{justify-content:center;min-width:124px;color:#fff;border-color:#168cf147;background:linear-gradient(135deg,#1f8fff,#49b5ff);box-shadow:0 14px 26px #1181e638}.detail-link--primary:hover{background:linear-gradient(135deg,#167fe8,#3da9f4)}.detail-hint{margin:8px 0 0;color:var(--text-soft);font-size:12px;line-height:1.6}.ai-notice{position:fixed;right:24px;bottom:24px;z-index:80;display:grid;gap:12px;max-width:min(420px,calc(100vw - 32px));padding:16px 18px;border-radius:18px;color:#10304f;background:#fffffff5;box-shadow:0 20px 42px #08285038;border:1px solid rgba(46,146,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ai-notice__actions{display:flex;gap:10px;justify-content:flex-end}.summary-list{display:grid;gap:14px;margin-top:20px}.summary-card{display:grid;gap:8px;padding:18px;border-radius:18px;border:1px solid rgba(0,162,255,.12);background:linear-gradient(180deg,#fff,#f8fcff);color:var(--text);text-decoration:none;box-shadow:0 10px 24px #11345c0f}.summary-card--button{width:100%;text-align:left;cursor:pointer}.summary-card span,.summary-card small{color:var(--text-soft)}.summary-detail{display:grid;gap:18px;margin-top:20px}.summary-section{display:grid;gap:8px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f9fcfff5);border:1px solid rgba(94,152,203,.12);box-shadow:0 14px 28px #11345c0f}.summary-section h3{margin:0}.summary-section__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-section p,.summary-section pre{margin:0;color:#5f6f87;line-height:1.8;white-space:pre-wrap;font-family:inherit}.risk-report{display:grid;gap:12px;padding-top:2px}.risk-report__row{display:grid;gap:8px}.risk-report__row--text p{margin:0;color:#5f6f87;line-height:1.8}.risk-report__label{color:var(--text);font-weight:700}.risk-report__tags{display:flex;flex-wrap:wrap;gap:8px}.risk-report__tag{min-height:28px;padding:0 12px;border-radius:14px;background:#eef7ff;color:#1880e8;display:inline-flex;align-items:center;font-size:13px}.risk-report__level{width:fit-content;min-height:30px;padding:0 14px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.risk-report__level--高{background:#ffe7e2;color:#e24d32}.risk-report__level--中{background:#fff0dc;color:#f08a1a}.risk-report__level--低{background:#e7f8eb;color:#29a553}.plan-content{margin:20px 0 0;padding:22px;border-radius:18px;background:#fff;border:1px solid rgba(0,162,255,.1);white-space:pre-wrap;line-height:1.9;font-family:inherit;color:var(--text)}.map-panel{position:relative;z-index:1;padding:0;border-radius:0;border:none;box-shadow:none;width:100vw;min-height:100vh}.map-canvas{width:100vw;height:100vh;position:relative;z-index:1}.map-canvas [class*=compass],.map-canvas [class*=Compass],.map-canvas [class*=control],.map-canvas [class*=Control],.map-canvas [class*=tmap-control],.map-canvas [class*=TMapControl]{display:none!important}.fallback-map{position:relative;width:100vw;height:100vh;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(0,162,255,.12),transparent 18%),radial-gradient(circle at 80% 70%,rgba(0,162,255,.08),transparent 20%),linear-gradient(180deg,#f6fbff,#edf5fb)}.fallback-map--satellite{background:radial-gradient(circle at 20% 20%,rgba(86,173,255,.12),transparent 18%),linear-gradient(180deg,#d9e5ec,#bfcdd5)}.fallback-map__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,162,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,162,255,.08) 1px,transparent 1px);background-size:60px 60px;opacity:.28}.screen-floating{position:absolute;z-index:90;display:flex;flex-direction:column;gap:10px;pointer-events:none}.screen-floating .float-button{pointer-events:auto}.screen-floating--left{top:18px;left:18px;flex-direction:row;align-items:center}.screen-floating--right{right:18px;bottom:22px;align-items:flex-end}.floating-grid{display:flex;align-items:center;gap:8px;width:auto;padding:8px 10px;border-radius:22px;border:1px solid rgba(94,152,203,.18);background:#ffffffe0;box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transform:translate(-8px) scale(.98);transition:opacity .2s ease,transform .2s ease}.screen-floating--open .floating-grid{opacity:1;pointer-events:auto;transform:translate(0) scale(1)}.screen-floating--right .float-button:not(.float-button--main){opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}.screen-floating--right.screen-floating--open .float-button:not(.float-button--main){opacity:1;pointer-events:auto;transform:translateY(0)}.float-button{min-height:46px;min-width:46px;padding:0;border-radius:24px;border:1px solid rgba(94,152,203,.18);background:#ffffffe0;color:#42536a;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:manipulation;box-shadow:0 16px 28px #081f3a1f,inset 0 1px #ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.float-button--icon{display:inline-flex;align-items:center;justify-content:center}.float-button--icon-text{font-size:18px;background:linear-gradient(180deg,#fff,#f2f9ff)}.float-button--tool{min-width:58px;min-height:58px;padding:8px 0 7px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,#fffffffa,#f1f8fff5)}.float-button--icon img{width:20px;height:20px}.float-button--tool img{width:18px;height:18px}.float-button__loc-icon{display:block;flex-shrink:0;color:#2f78b1}.float-button--main{font-size:14px;font-weight:700}.float-button--main-icon img{width:25px;height:25px}.float-button--dash-back{min-width:0;width:auto;min-height:46px;padding:0 14px;border-radius:23px;font-size:13px;font-weight:700;color:#1861a0;background:linear-gradient(180deg,#fffffffa,#eef7fff5);border:1px solid rgba(22,140,241,.28);box-shadow:0 12px 22px #081f3a1a,inset 0 1px #ffffffe0}.float-button--dash-back:hover{border-color:#00a2ff73;color:#0f4f86}.float-button__dash-text{white-space:nowrap;letter-spacing:.04em}.float-button--filter{width:38px;min-width:38px;min-height:38px;border-radius:19px;background:#fff;box-shadow:none}.float-button--filter img{width:20px;height:20px}.float-button--filter-active{background:#eaf7ff;border-color:#00a2ff66;box-shadow:inset 0 0 0 1px #00a2ff29}.float-button__text{font-size:12px;font-weight:700;color:#2f78b1;letter-spacing:.2px}.float-button__label{font-size:11px;line-height:1;font-weight:700;color:#2f78b1;letter-spacing:.2px}.float-button__badge{min-width:24px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#1f8fff,#4cb6ff);color:#fff;font-size:10px;font-weight:800;line-height:1}.float-button--sim{align-items:center;justify-content:center;padding:9px 10px 8px}.float-button--sim .float-button__label{width:100%;text-align:center}.ghost-button--small{height:32px;padding:0 10px;border-radius:16px;font-size:12px;font-weight:600}.fallback-marker{position:absolute;z-index:3;width:auto;height:auto;padding:0;border:none;background:transparent;cursor:pointer;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.fallback-marker__icon{display:block;width:24px;height:24px;background-repeat:no-repeat;background-position:center;background-size:contain}.fallback-marker__label{order:-1;margin-bottom:2px;padding:5px 12px;border-radius:14px;background:#f7ebbff5;color:#7a592a;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid rgba(194,169,107,.55);box-shadow:0 3px 10px #08203614}.fallback-current{position:absolute;z-index:5;width:56px;height:56px;transform:translate(-50%,-50%);pointer-events:none}.fallback-current__dot{display:block;position:relative;width:56px;height:56px}.fallback-current__dot:before{content:"";position:absolute;z-index:2;left:17px;top:17px;width:16px;height:16px;border-radius:50%;background:#16c754;border:3px solid #ffffff;box-shadow:0 0 0 9px #20c85638,0 2px 8px #081f3a2e}.fallback-current__dot:after{content:"";position:absolute;z-index:1;left:18px;top:5px;width:20px;height:28px;transform:rotate(var(--user-location-heading, 0deg));transform-origin:50% 23px;clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);background:#16c754;border:3px solid #ffffff;filter:drop-shadow(0 2px 6px rgba(8,31,58,.18))}.fallback-current img{width:100%;height:100%}.fallback-place{position:absolute;z-index:6;width:38px;height:46px;padding:0;border:0;background:transparent;cursor:pointer;transform:translate(-50%,-100%)}.fallback-place__pin{display:block;position:relative;width:38px;height:46px;filter:drop-shadow(0 4px 10px rgba(132,24,24,.28))}.fallback-place__pin:before{content:"";position:absolute;left:3px;top:0;width:32px;height:32px;border-radius:50% 50% 50% 0;background:#f04438;border:3px solid #ffffff;transform:rotate(-45deg)}.fallback-place__pin:after{content:"";position:absolute;left:14px;top:11px;width:10px;height:10px;border-radius:50%;background:#fff}.fallback-route{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2}.fallback-route polyline{fill:none;stroke:#00a2ff;stroke-width:.6;stroke-linejoin:round;stroke-linecap:round}.placeholder-block{display:grid;place-items:center;min-height:140px;padding:20px;border-radius:22px;background:linear-gradient(180deg,#f8fcfff0,#f2f8ffeb);border:1px solid rgba(94,152,203,.12);color:var(--text-soft);text-align:center}.placeholder-block--small{min-height:88px}.media-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;background:#05101fb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-viewer__body{position:relative;max-width:min(88vw,1180px);max-height:84vh;display:flex;align-items:center;justify-content:center}.media-viewer__body img,.media-viewer__body video{max-width:100%;max-height:84vh;border-radius:18px;background:#0f1722;box-shadow:0 18px 54px #00000047}.media-viewer__body--video{width:min(88vw,1100px)}.media-viewer__body--video video{width:100%;height:auto}.media-viewer__close,.media-viewer__nav{position:absolute;z-index:1;border:none;border-radius:999px;background:#ffffffeb;color:#1d2b3b;box-shadow:0 10px 28px #04162c2e;cursor:pointer}.media-viewer__close{top:24px;right:24px;min-width:68px;height:40px}.media-viewer__nav{top:50%;width:48px;height:48px;transform:translateY(-50%);font-size:30px;line-height:1}.media-viewer__nav--prev{left:24px}.media-viewer__nav--next{right:24px}.media-viewer__counter{position:absolute;left:50%;bottom:16px;transform:translate(-50%);padding:6px 12px;border-radius:999px;background:#05101fb8;color:#fff;font-size:13px}.mini-program-viewer{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:grid;gap:14px;padding:24px;border-radius:28px;overflow:auto;background:#fffffff5;box-shadow:0 24px 60px #00000047}.mini-program-viewer__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-program-viewer__header strong{font-size:20px}.mini-program-viewer__header span,.mini-program-viewer__desc,.mini-program-viewer__status{color:var(--text-soft)}.mini-program-viewer__desc,.mini-program-viewer__status{margin:0;line-height:1.7}.mini-program-viewer__meta,.mini-program-viewer__paths{display:grid;gap:10px}.mini-program-viewer__meta span,.mini-program-viewer__paths label{display:grid;gap:6px;padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,#f6fafffa,#eef5fcf5);border:1px solid rgba(94,152,203,.14)}.mini-program-viewer__paths span{font-size:13px;color:var(--text-soft)}.mini-program-viewer__paths code{white-space:normal;word-break:break-all;color:#1d3550}.mini-program-viewer__qr{display:grid;justify-items:center;gap:10px}.mini-program-viewer__qr img{width:min(280px,68vw);max-width:100%;border-radius:22px;background:#fff;padding:12px;box-shadow:0 12px 32px #04162c1f}.ai-viewer{width:min(900px,88vw);max-height:84vh;display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:#fffffff0;box-shadow:0 24px 60px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ai-viewer__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid rgba(0,162,255,.12)}.ai-viewer__body{overflow:auto;padding:20px}.primary-button:hover,.marker-preview__action:hover,.ghost-button:hover,.detail-link:hover,.float-button:hover,.result-card:hover,.patrol-card--button:hover,.summary-card--button:hover,.media-item--button:hover{transform:translateY(-1px)}.ghost-button:hover,.detail-link:hover,.float-button:hover,.result-card:hover,.patrol-card--button:hover,.summary-card--button:hover{box-shadow:0 12px 24px #11345c1f}.plan-content--modal{margin:0;max-height:none}@media (max-width: 1200px){.dashboard-command-header{grid-template-columns:1fr}.dashboard-command-header__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-command-grid{grid-template-columns:250px minmax(0,1fr)}.dashboard-stage{grid-column:2;grid-row:1 / span 2}.dashboard-command-grid>.dashboard-rail:last-child{grid-column:1}.dashboard-grid{grid-template-columns:280px minmax(0,1fr) 280px}.sidebar-panel,.detail-panel{width:min(88vw,320px)}}@media (max-width: 900px){.dashboard-command-grid{grid-template-columns:1fr}.dashboard-stage{grid-column:auto;grid-row:auto;grid-template-rows:420px auto}.dashboard-command-header__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stage-map .map-canvas,.dashboard-stage-map .fallback-map{min-height:320px}.dashboard-screen{padding:14px}.dashboard-header,.dashboard-grid{grid-template-columns:1fr}.dashboard-header{padding:16px 18px}.dashboard-header h1{font-size:26px}.dashboard-header__meta{flex-wrap:wrap;justify-content:flex-end}.dashboard-center{grid-template-rows:360px auto}.dashboard-map-shell .map-canvas,.dashboard-map-shell .fallback-map{min-height:300px}.login-card{grid-template-columns:1fr}.login-card__intro,.login-form{padding:32px 24px}.screen-header{top:12px;right:12px}.screen-header__meta{gap:10px;font-size:13px}.screen-floating--right{right:12px;bottom:132px}.screen-floating--left{left:12px;top:12px}.screen-floating--left.screen-floating--open{flex-wrap:wrap;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));row-gap:8px;align-items:flex-start}.screen-floating--left.screen-floating--open .floating-grid{flex:1 1 100%;width:100%;max-width:100%;min-width:0;box-sizing:border-box;flex-wrap:wrap;justify-content:flex-start;-webkit-overflow-scrolling:touch}.sidebar-panel,.patrol-panel{top:124px;bottom:12px}.mini-program-viewer{width:min(100vw - 24px,520px);padding:20px;border-radius:24px}}.dashboard-reference{min-height:100vh;height:100vh;display:grid;grid-template-rows:62px minmax(0,1fr);gap:10px;padding:8px 14px 10px;color:#d9ecff;background:radial-gradient(circle at 50% 12%,rgba(23,118,214,.2),transparent 24%),radial-gradient(circle at 16% 72%,rgba(18,91,168,.14),transparent 28%),radial-gradient(circle at 82% 78%,rgba(11,68,131,.16),transparent 32%),linear-gradient(180deg,#061423,#07192c 45%,#06111d)}.dashboard-reference__header,.dashboard-reference__topline,.dashboard-reference__content,.dashboard-reference__rail,.dashboard-reference__stage,.dashboard-reference__stage-bottom,.dashboard-reference__risk-grid,.dashboard-reference__ai-stats,.dashboard-reference__compare-list,.dashboard-reference__actions{min-height:0}.dashboard-reference__header{position:relative;display:flex;align-items:center;justify-content:flex-end}.dashboard-reference__line{position:absolute;inset:50% 0 auto;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(63,167,255,.28) 10%,rgba(63,167,255,.68) 50%,rgba(63,167,255,.28) 90%,transparent 100%);transform:translateY(-50%)}.dashboard-reference__title-wrap{position:absolute;left:50%;transform:translate(-50%);padding:10px 34px 12px;min-width:420px;text-align:center;clip-path:polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%);border:1px solid rgba(66,181,255,.32);background:linear-gradient(180deg,#0a315beb,#061a2fe0);box-shadow:inset 0 0 0 1px #69ceff14,0 0 22px #115faa38}.dashboard-reference__title-wrap h1{margin:0;font-size:28px;font-weight:900;letter-spacing:3px;color:#f2fbff;text-shadow:0 0 20px rgba(79,196,255,.22)}.dashboard-reference__meta{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.dashboard-reference__meta-chip,.dashboard-reference__time{padding:8px 14px;border-radius:14px;border:1px solid rgba(71,183,255,.18);background:#081728e6;box-shadow:inset 0 0 24px #12599e1f}.dashboard-reference__meta-chip{display:grid;gap:2px}.dashboard-reference__meta-chip span,.dashboard-reference__time span{color:#78cfff;font-size:11px;letter-spacing:1px}.dashboard-reference__meta-chip strong,.dashboard-reference__time{color:#f2fbff;font-size:14px;font-weight:700}.dashboard-reference__main{min-height:0;display:grid;grid-template-rows:74px minmax(0,1fr);gap:10px;overflow:hidden}.dashboard-reference__topline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;min-height:0}.dashboard-reference__content{min-height:0;display:grid;grid-template-columns:284px minmax(0,1fr) 272px;gap:10px;overflow:hidden}.dashboard-reference__rail,.dashboard-reference__stage{display:grid;gap:10px;min-height:0;overflow:hidden}.dashboard-reference__rail--left{grid-template-rows:minmax(142px,.78fr) minmax(140px,.8fr) minmax(0,1fr)}.dashboard-reference__rail--right{grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr) 36px;overflow:hidden}.dashboard-reference__stage{grid-template-rows:minmax(252px,.78fr) 182px}.dashboard-reference__stage-bottom{display:grid;grid-template-columns:.72fr 1.28fr;gap:10px}.dashboard-reference__panel,.dashboard-reference__map-panel,.dashboard-reference__ticker{position:relative;overflow:hidden;border:1px solid rgba(56,157,227,.18);background:linear-gradient(180deg,#081c30eb,#051322f5);box-shadow:inset 0 0 0 1px #4cb2ff0d,0 12px 28px #0000002e}.dashboard-reference__panel:before,.dashboard-reference__map-panel:before,.dashboard-reference__ticker:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(66,195,255,.22) 0 28px,transparent 28px calc(100% - 28px),rgba(66,195,255,.22) calc(100% - 28px) 100%),linear-gradient(180deg,rgba(66,195,255,.2) 0 28px,transparent 28px calc(100% - 28px),rgba(66,195,255,.2) calc(100% - 28px) 100%);mask:linear-gradient(#000 0 0) left top / 24px 2px no-repeat,linear-gradient(#000 0 0) left top / 2px 24px no-repeat,linear-gradient(#000 0 0) right top / 24px 2px no-repeat,linear-gradient(#000 0 0) right top / 2px 24px no-repeat,linear-gradient(#000 0 0) left bottom / 24px 2px no-repeat,linear-gradient(#000 0 0) left bottom / 2px 24px no-repeat,linear-gradient(#000 0 0) right bottom / 24px 2px no-repeat,linear-gradient(#000 0 0) right bottom / 2px 24px no-repeat;-webkit-mask:linear-gradient(#000 0 0) left top / 24px 2px no-repeat,linear-gradient(#000 0 0) left top / 2px 24px no-repeat,linear-gradient(#000 0 0) right top / 24px 2px no-repeat,linear-gradient(#000 0 0) right top / 2px 24px no-repeat,linear-gradient(#000 0 0) left bottom / 24px 2px no-repeat,linear-gradient(#000 0 0) left bottom / 2px 24px no-repeat,linear-gradient(#000 0 0) right bottom / 24px 2px no-repeat,linear-gradient(#000 0 0) right bottom / 2px 24px no-repeat}.dashboard-reference__panel{padding:10px;min-height:0;display:flex;flex-direction:column}.dashboard-reference__rail--right .dashboard-reference__panel{overflow:hidden}.dashboard-reference__rail--right .dashboard-reference__panel>*{min-width:0}.dashboard-reference__rail--right .dashboard-reference__panel:nth-child(1),.dashboard-reference__rail--right .dashboard-reference__panel:nth-child(2){overflow:auto}.dashboard-reference__panel-title,.dashboard-reference__subhead{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#7fd0ff;font-size:14px;font-weight:700;letter-spacing:1px;flex:0 0 auto}.dashboard-reference__panel-title:before{content:"";width:14px;height:14px;clip-path:polygon(0 50%,100% 0,100% 100%);background:linear-gradient(180deg,#4ce3ff,#118dff);box-shadow:0 0 10px #3fcbff66}.dashboard-reference__headline-card{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:8px;padding:10px 12px;border:1px solid rgba(68,174,255,.16);background:linear-gradient(180deg,#0c1f34eb,#071727e0);box-shadow:inset 0 0 18px #146ac124}.dashboard-reference__headline-card span,.dashboard-reference__metric-card span,.dashboard-reference__coverage-card span,.dashboard-reference__risk-card span,.dashboard-reference__ai-stat span,.dashboard-reference__plan-coverage span,.dashboard-reference__compare-item span,.dashboard-reference__hot-item span{color:#89b7d7;font-size:13px}.dashboard-reference__headline-card strong,.dashboard-reference__metric-card strong,.dashboard-reference__coverage-card strong,.dashboard-reference__risk-card strong,.dashboard-reference__ai-stat strong,.dashboard-reference__plan-coverage strong,.dashboard-reference__hot-item strong{color:#f6fcff;line-height:1;font-weight:800}.dashboard-reference__headline-card strong{font-size:24px}.dashboard-reference__headline-card em,.dashboard-reference__metric-card em,.dashboard-reference__risk-card em{align-self:end;font-style:normal;color:#42bcff;font-size:12px}.dashboard-reference__metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0}.dashboard-reference__metric-grid--resource .dashboard-reference__metric-card{min-height:58px}.dashboard-reference__metric-card{min-height:58px;display:grid;align-content:space-between;padding:8px 10px;border:1px solid rgba(71,165,242,.14);background:linear-gradient(180deg,#0d263ee0,#07182ae6)}.dashboard-reference__metric-card strong{font-size:20px}.dashboard-reference__trend-bars,.dashboard-reference__rank-track,.dashboard-reference__activity-track,.dashboard-reference__compare-block{display:grid;gap:8px;min-height:0}.dashboard-reference__trend-item,.dashboard-reference__coverage-card,.dashboard-reference__rank-item,.dashboard-reference__activity-item,.dashboard-reference__plan-coverage,.dashboard-reference__compare-item,.dashboard-reference__hot-item{border:1px solid rgba(72,164,240,.12);background:#0a1d2fc2}.dashboard-reference__trend-item,.dashboard-reference__coverage-card,.dashboard-reference__rank-item,.dashboard-reference__activity-item,.dashboard-reference__plan-coverage,.dashboard-reference__compare-item,.dashboard-reference__hot-item{padding:8px 10px}.dashboard-reference__trend-head,.dashboard-reference__rank-head,.dashboard-reference__plan-coverage-head,.dashboard-reference__compare-item,.dashboard-reference__hot-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-reference__trend-head strong,.dashboard-reference__plan-coverage-head strong{color:#f2fbff;font-size:20px}.dashboard-reference__trend-head span{font-size:13px;font-weight:700;color:#8fbfe0}.dashboard-reference__trend-bar,.dashboard-reference__rank-bar,.dashboard-reference__progress{height:8px;margin-top:10px;border-radius:999px;background:#1d548452;overflow:hidden}.dashboard-reference__trend-bar i,.dashboard-reference__rank-bar i,.dashboard-reference__progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1fe2ff,#2f91ff);box-shadow:0 0 12px #27b3ff6b}.dashboard-reference__coverage-card{margin-top:8px;flex:0 0 auto}.dashboard-reference__coverage-card strong{display:block;margin:6px 0 4px;font-size:24px}.dashboard-reference__coverage-card p,.dashboard-reference__rank-item p,.dashboard-reference__activity-item p,.dashboard-reference__plan-coverage p{margin:6px 0 0;color:#86b9da;font-size:11px;line-height:1.4}.dashboard-reference__rank-list,.dashboard-reference__activity-list{max-height:100%;min-height:0;overflow:hidden;flex:1 1 auto}.dashboard-reference__rank-track--animated{animation:dashboardVerticalLoop 18s linear infinite}.dashboard-reference__metric-grid--resource{overflow:auto}.dashboard-reference__rank-head strong,.dashboard-reference__activity-item strong,.dashboard-reference__compare-item strong{color:#f2fbff;font-size:13px;font-weight:700}.dashboard-reference__rank-head span,.dashboard-reference__activity-item time{color:#86b9da;font-size:11px}.dashboard-reference__map-panel{min-height:0;display:grid;grid-template-rows:34px 32px minmax(0,1fr);padding:8px;max-height:100%}.dashboard-reference__map-panel--triage .map-canvas,.dashboard-reference__map-panel--triage .fallback-map{width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important}.dashboard-reference__map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 6px}.dashboard-reference__map-head strong{display:block;color:#f3fbff;font-size:15px;font-weight:800;letter-spacing:1px}.dashboard-reference__map-head span,.dashboard-reference__map-head p{margin:0;color:#7eaecd;font-size:11px}.dashboard-reference__map-entry{position:absolute;right:14px;bottom:12px;z-index:5;min-width:132px;height:30px;border:1px solid rgba(83,199,255,.22);background:linear-gradient(180deg,#0b2841e6,#08192af5);color:#e8f7ff;font-size:12px;letter-spacing:1px;box-shadow:inset 0 0 18px #2fa4ff1f}.dashboard-reference__ticker{display:grid;grid-template-columns:108px 1fr;align-items:center;gap:12px;padding:0 10px;margin-bottom:6px}.dashboard-reference__ticker span{color:#6ed8ff;font-size:12px;font-weight:700;letter-spacing:1px}.dashboard-reference__ticker p{margin:0;color:#d2ebff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-reference__hot-list,.dashboard-reference__tag-cloud,.dashboard-reference__ai-stats,.dashboard-reference__compare-list{display:grid;gap:8px;min-height:0}.dashboard-reference__empty{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px;border:1px dashed rgba(88,181,245,.22);background:#091a2b85;color:#95bedd}.dashboard-reference__empty--compact{flex:0 0 auto;min-height:84px}.dashboard-reference__empty strong{color:#dff4ff;font-size:14px;font-weight:700}.dashboard-reference__empty p{margin:0;color:#86b9da;font-size:12px;line-height:1.5}.dashboard-reference__hot-list{grid-template-columns:1fr;overflow:auto}.dashboard-reference__risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:0 0 auto}.dashboard-reference__risk-card{display:grid;gap:8px;padding:10px;border:1px solid rgba(71,165,242,.14);background:linear-gradient(180deg,#0d263ee0,#07182ae6)}.dashboard-reference__risk-card strong{font-size:22px}.dashboard-reference__tag-cloud{margin-top:10px;grid-template-columns:1fr;overflow:auto}.dashboard-reference__tag-pill{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border:1px solid rgba(77,172,241,.14);background:#0a1d2fb8}.dashboard-reference__tag-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dff4ff;font-size:12px}.dashboard-reference__tag-pill strong{flex:0 0 auto;color:#4fd2ff;font-size:14px}.dashboard-reference__ai-stats{margin-top:10px;grid-template-columns:1fr;overflow:auto}.dashboard-reference__ai-stat{padding:10px 12px;border:1px solid rgba(77,172,241,.14);background:#0a1d2fb8;display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-reference__ai-stat strong{display:block;margin-top:0;font-size:22px}.dashboard-reference__mini-trend{height:92px;margin:10px 0 8px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;flex:0 0 auto}.dashboard-reference__mini-trend-item{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;gap:8px}.dashboard-reference__mini-trend-item i{align-self:end;width:100%;min-height:8px;border-radius:12px 12px 2px 2px;background:linear-gradient(180deg,#34d9ff,#1b7eff);box-shadow:0 0 14px #34d9ff47}.dashboard-reference__mini-trend-item strong{color:#f2fbff;font-size:12px}.dashboard-reference__mini-trend-item span{color:#7eaecd;font-size:10px}.dashboard-reference__compare-list{grid-template-columns:1fr;gap:8px;overflow:auto}.dashboard-reference__compare-block{padding-bottom:2px}.dashboard-reference__hot-rank-item,.dashboard-reference__compare-rank-item{padding:8px 10px;border:1px solid rgba(72,164,240,.12);background:#0a1d2fc2}.dashboard-reference__hot-rank-head,.dashboard-reference__compare-rank-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-reference__hot-rank-head span,.dashboard-reference__compare-rank-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d7efff;font-size:12px}.dashboard-reference__hot-rank-head strong,.dashboard-reference__compare-rank-head strong{flex:0 0 auto;color:#f4fbff;font-size:14px}.dashboard-reference__hot-rank-bar,.dashboard-reference__compare-rank-bar{height:7px;margin-top:8px;border-radius:999px;background:#1d548452;overflow:hidden}.dashboard-reference__hot-rank-bar i,.dashboard-reference__compare-rank-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2bd6ff,#2b86ff);box-shadow:0 0 10px #2b86ff47}.dashboard-reference__subhead{margin-bottom:8px;color:#82d5ff;font-size:12px}.dashboard-reference__subhead:before{display:none}.dashboard-reference__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0}.dashboard-reference__action{height:36px;border:1px solid rgba(79,190,255,.22);background:linear-gradient(180deg,#0c2c49e6,#07182af5);color:#eefaff;font-size:13px;font-weight:700;letter-spacing:1px}.dashboard-reference__action--ghost{background:linear-gradient(180deg,#182a3eb8,#0c1824d6);color:#a6c2d9}.dashboard-reference__action:hover,.dashboard-reference__map-entry:hover{transform:translateY(-1px)}@keyframes dashboardRadarSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dashboardVerticalLoop{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (max-width: 1600px){.dashboard-reference{padding:8px 12px 10px}.dashboard-reference__content{grid-template-columns:258px minmax(0,1fr) 244px}.dashboard-reference__title-wrap{min-width:390px}.dashboard-reference__title-wrap h1{font-size:25px}}@media (max-width: 1280px){.dashboard-reference__main{grid-template-rows:auto minmax(0,1fr)}.dashboard-reference__topline{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-reference__content{grid-template-columns:1fr}.dashboard-reference__stage{order:-1;min-height:720px}.dashboard-reference__rail--left,.dashboard-reference__rail--right{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}}@media (max-width: 900px){.dashboard-reference{grid-template-rows:auto auto;padding:12px;gap:12px}.dashboard-reference__header{min-height:104px;justify-content:center}.dashboard-reference__title-wrap{position:relative;left:auto;transform:none;min-width:0;width:100%;padding-inline:22px}.dashboard-reference__title-wrap h1{font-size:22px}.dashboard-reference__meta{position:absolute;inset:auto 0 0;justify-content:center}.dashboard-reference__topline,.dashboard-reference__rail--left,.dashboard-reference__rail--right,.dashboard-reference__stage-bottom,.dashboard-reference__risk-grid,.dashboard-reference__ai-stats,.dashboard-reference__compare-list,.dashboard-reference__hot-list,.dashboard-reference__tag-cloud,.dashboard-reference__actions{grid-template-columns:1fr}.dashboard-reference__stage{grid-template-rows:360px auto}.dashboard-reference__ticker{grid-template-columns:1fr;padding-block:14px}.dashboard-reference__ticker p{white-space:normal}}@media (max-width: 640px){.ai-notice{right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));max-width:min(420px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px))}.detail-panel{top:auto;left:0;right:0;bottom:0;width:100%;max-width:none;max-height:min(92dvh,calc(100dvh - env(safe-area-inset-top,0px) - 8px));margin:0;border-radius:22px 22px 0 0;transform:translateY(108%);padding-bottom:max(12px,env(safe-area-inset-bottom,0px));box-sizing:border-box}.detail-panel--open{transform:translateY(0)}.detail-panel .panel-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-panel,.patrol-panel{top:max(92px,calc(env(safe-area-inset-top,0px) + 76px));bottom:max(16px,env(safe-area-inset-bottom,0px))}.marker-preview{top:max(86px,calc(env(safe-area-inset-top,0px) + 70px));width:min(520px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px))}.screen-floating--right{bottom:max(22px,calc(env(safe-area-inset-bottom,0px) + 12px));right:max(12px,env(safe-area-inset-right,0px))}.screen-floating--left{top:max(18px,calc(env(safe-area-inset-top,0px) + 8px));left:max(12px,env(safe-area-inset-left,0px));bottom:auto}.screen-header{top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}.login-page{padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}}
