/* 仅在统计分析打开时适配内容容器，其他页面恢复原布局。 */
body.analysis-active{min-width:0}
body.analysis-active .app-shell{grid-template-columns:224px minmax(0,1fr);grid-template-rows:52px minmax(0,1fr);height:100vh;height:100dvh;min-height:0}
body.analysis-active .content{min-width:0;min-height:0;padding:clamp(16px,2vw,32px)}
#page-analysis{width:100%;min-width:0}
#page-analysis .page-heading{gap:18px;flex-wrap:wrap}
#page-analysis .heading-actions{flex-wrap:wrap}
#page-analysis .search-box{max-width:100%;min-width:0}
/* 深海蓝监测大屏，颜色与组件仅作用于统计分析。 */
body.analysis-active .content{background:radial-gradient(ellipse at 48% 0%,#15365580,transparent 65%),#080f20;color:#dce9fa}
#page-analysis{--ink:#e3edfc;--muted:#8a9fbc;--blue:#42c9f4;max-width:none;color:var(--ink);color-scheme:dark}
#page-analysis:fullscreen{background:radial-gradient(ellipse at 50% 0%,#15365580,transparent 65%),#080f20;padding:clamp(18px,2.2vw,48px);overflow:auto;width:100%;height:100%;box-sizing:border-box}
.analysis-heading{padding:4px 0 23px;border-bottom:1px solid #22415d;margin-bottom:22px;position:relative;align-items:center}
.analysis-heading:after{content:"";position:absolute;bottom:-1px;left:0;width:130px;height:2px;background:linear-gradient(90deg,#42d9f5,transparent)}
#page-analysis .eyebrow{color:#69cde8;font-size:11px;letter-spacing:.18em;display:flex;gap:9px;align-items:center}
.analysis-live-light{width:6px;height:6px;background:#5ce3c1;border-radius:50%;box-shadow:0 0 10px #5ce3c180}
#page-analysis h1{font-size:clamp(25px,2vw,38px);font-weight:700;letter-spacing:.06em}
#page-analysis h1>span{font-size:12px;letter-spacing:.18em;font-weight:400;color:#829cbd;margin-left:19px;border-left:1px solid #345170;padding-left:19px}
#page-analysis .page-heading p:not(.eyebrow){font-size:12px;color:#8098b7}
#page-analysis .heading-actions{gap:12px;width:auto}
.analysis-clock{text-align:right;margin-right:14px;min-width:142px}.analysis-clock strong{display:block;font:600 25px Consolas,monospace;letter-spacing:.09em;color:#dcf6ff}.analysis-clock span{font-size:10px;color:#87a0bf}
#page-analysis .toggle-label{color:#adc1db;font-size:11px}
#page-analysis .toggle{background:#34445d}#page-analysis .toggle-label input:checked+.toggle{background:#218cad}
#page-analysis .btn.secondary{height:36px;background:#15324a;border-color:#2d546f;color:#c3e9fa;font-size:11px}
#page-analysis .btn.secondary:hover{background:#214560;border-color:#59b8d1}
#page-analysis #analysisFullscreen{background:linear-gradient(135deg,#166d8b,#1c416d);border-color:#368ca5;color:#edfbff}
.analysis-toolbar.panel{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:15px 18px;background:#0f1d32;border:1px solid #243950;border-radius:10px;margin-bottom:20px;box-shadow:none}
.analysis-date,.analysis-filter{display:flex;align-items:center;gap:10px;font-size:11px;color:#8da5c3}
.analysis-toolbar input[type=date],.analysis-toolbar select{height:34px;padding:0 11px;border:1px solid #2a435f;border-radius:6px;background:#0a172b;color:#c3d8f1;min-width:0;outline:none}
.analysis-toolbar .search-box{flex:1;min-width:180px;height:34px;width:auto;background:#0a172b;border:1px solid #2a435f;color:#6990b3}
.analysis-toolbar .search-box input{color:#d6e5fa;min-width:0;font-size:11px}
.analysis-toolbar input::placeholder{color:#647e9e}
.analysis-toolbar input:focus-visible,.analysis-toolbar select:focus-visible{outline:2px solid #38b9d9;outline-offset:2px}
.analysis-toolbar .search-box:focus-within{border-color:#38b9d9}
.analysis-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,22px)}
.analysis-summary article{--accent:#59baff;position:relative;overflow:hidden;padding:19px 23px;background:linear-gradient(120deg,#152941,#101c30);border:1px solid #2a425e;border-radius:11px;min-width:0}
.analysis-summary article.green{--accent:#54e1b8}.analysis-summary article.cyan{--accent:#47d8ee}.analysis-summary article.violet{--accent:#aba0ff}
.analysis-summary article:before{content:"";position:absolute;top:0;left:23px;width:42px;height:2px;background:var(--accent);box-shadow:0 0 16px var(--accent)}
.analysis-summary article:after{content:"";position:absolute;width:110px;height:110px;right:-25px;bottom:-65px;border:1px solid #ffffff09;border-radius:50%;box-shadow:0 0 0 20px #ffffff02}
.analysis-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#a1b5d0;font-size:12px}
.analysis-kpi-top i{display:grid;place-items:center;width:32px;height:32px;color:var(--accent);background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px}
.analysis-kpi-top svg{width:21px;height:21px}
.analysis-summary strong{display:block;color:var(--accent);font:600 clamp(28px,2.5vw,46px) Consolas,monospace;letter-spacing:-.04em;margin:9px 0;overflow-wrap:anywhere}
.analysis-summary small{font:400 11px "Microsoft YaHei",sans-serif;color:#839fbc;margin-left:10px}
.analysis-summary p{font-size:10px;color:#7c95b4;margin:0;line-height:1.6}
.analysis-hint{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10px;color:#6985a7;margin:16px 0 23px;line-height:1.7}
#analysisSync{color:#97b1cf}
.analysis-fleet-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.analysis-fleet-heading h2{font-size:15px;font-weight:600;margin:0;display:flex;gap:9px;align-items:center;letter-spacing:.06em}
.analysis-fleet-heading h2>span{height:15px;width:3px;background:#46cceb;border-radius:2px}
#analysisVisibleCount{font-size:10px;color:#7793b3}
.analysis-legend{margin-left:auto;display:flex;gap:14px;font-size:10px;color:#8da3be}
.analysis-legend span{display:flex;align-items:center;gap:5px}.analysis-legend i{width:5px;height:5px;border-radius:50%;background:#7b90ad}.analysis-legend i.online{background:#52d9b0}.analysis-legend i.offline{background:#ec8c7e}
.analysis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(12px,1.2vw,24px);align-items:stretch}
.analysis-card{position:relative;min-width:0;padding:18px 20px 14px;border:1px solid #2a405a;border-radius:11px;background:linear-gradient(140deg,#13233a,#0f1b30);box-shadow:0 7px 22px #00000018;display:flex;flex-direction:column}
.analysis-card:before{content:"";position:absolute;left:20px;top:-1px;width:40px;height:2px;background:#748daf}
.analysis-card.online:before{background:#53d6bc}.analysis-card.offline:before{background:#e99185}
.analysis-card-header{display:flex;align-items:center;gap:10px;margin-bottom:17px;min-width:0}
.analysis-device-icon{width:38px;height:42px;display:grid;place-items:center;flex-shrink:0;border:1px solid #2f4d69;background:#162e47;border-radius:8px;color:#6ebfdc}
.analysis-device-icon svg{width:25px;height:25px}.analysis-device-title{flex:1;min-width:0}
.analysis-device-title h3{font-size:18px;font-weight:650;margin:0 0 4px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;overflow-wrap:anywhere}
.analysis-device-title h3 span{font:400 10px Consolas,monospace;color:#718cab}
.analysis-device-title p{font-size:11px;color:#92a9c6;margin:0;overflow-wrap:anywhere;line-height:1.5}
.analysis-network{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:5px 9px;border-radius:5px;border:1px solid #3e4c63;background:#8192a910;color:#91a3bd;white-space:nowrap;flex-shrink:0}
.analysis-network i{width:5px;height:5px;border-radius:50%;background:currentColor}
.analysis-network.online{background:#30bd9410;border-color:#2e6a61;color:#68deba}.analysis-network.offline{background:#d8746410;border-color:#74473f;color:#eda194}
.analysis-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#0a172980;border:1px solid #273b55;border-radius:8px;padding:14px 15px}
.analysis-counts>div{min-width:0}.analysis-counts div+div{border-left:1px solid #2c3e56;padding-left:14px}
.analysis-counts span{font-size:10px;color:#87a1c0}.analysis-counts strong{display:block;font:600 clamp(27px,1.9vw,36px) Consolas,monospace;color:#6bd9fa;margin:7px 0 3px;overflow-wrap:anywhere;letter-spacing:-.05em}
.analysis-counts div+div strong{color:#c6dafa}.analysis-counts small{font:400 10px "Microsoft YaHei",sans-serif;color:#6684a7;margin-left:7px}
.analysis-counts p{font-size:9px;color:#647f9e;margin:0}
.analysis-device-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:17px 0;padding:0}
.analysis-card dt{font-size:10px;color:#7892b2;margin-bottom:4px}.analysis-card dd{font-size:11px;color:#c0d0e6;margin:0;line-height:1.5;overflow-wrap:anywhere}.analysis-device-info .is-enabled dd{color:#68ccb0}
.analysis-network-info{display:grid;gap:8px;background:#ffffff03;border:1px solid #223951;padding:10px 12px;border-radius:6px;margin:0 0 15px}
.analysis-network-info>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;align-items:baseline}.analysis-network-info dt{margin:0}.analysis-network-info dd{font:11px Consolas,monospace;color:#99c8e1;line-height:1.5}
.analysis-card footer{margin-top:auto;border-top:1px solid #263b54;padding-top:11px}
.analysis-last{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10px;color:#7892b2;line-height:1.6}.analysis-last strong{font:400 11px Consolas,"Microsoft YaHei",sans-serif;color:#bbcee5}
.analysis-check{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:9px;color:#5b789c;margin:7px 0 0;line-height:1.5}
.analysis-error{color:#f19d8d!important}#page-analysis .empty-state{background:#102038;border:1px dashed #2f4968;border-radius:10px}#page-analysis .empty-state strong{color:#b4c8e0}
#page-analysis button:focus-visible{outline:2px solid #62d5ef;outline-offset:3px}
@media(min-width:2100px){.analysis-grid{grid-template-columns:repeat(auto-fill,minmax(390px,1fr))}.analysis-card{padding:22px 24px 18px}.analysis-device-title h3{font-size:21px}.analysis-card dd{font-size:13px}.analysis-card dt{font-size:11px}.analysis-network-info dd{font-size:13px}.analysis-last strong{font-size:13px}}
@media(max-width:1200px){.analysis-clock{margin-right:0}.analysis-heading .heading-actions{width:100%;justify-content:flex-end}.analysis-heading .analysis-clock{margin-right:auto}.analysis-summary article{padding:16px}.analysis-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}}
@media(max-width:700px){.analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-heading{gap:16px}#page-analysis h1>span{font-size:10px;margin-left:12px;padding-left:12px}.analysis-heading .heading-actions{gap:8px}.analysis-clock{min-width:120px}.analysis-clock strong{font-size:20px}.analysis-toolbar.panel{gap:12px;padding:12px}.analysis-toolbar .search-box{order:3;flex-basis:100%}.analysis-date,.analysis-filter{flex:1;justify-content:space-between}.analysis-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.analysis-hint{margin-bottom:18px}.analysis-summary strong{font-size:30px}.analysis-summary article{padding:14px}.analysis-summary p{font-size:9px}}
@media(max-width:420px){.analysis-grid{grid-template-columns:minmax(0,1fr)}.analysis-date,.analysis-filter{flex-basis:100%}.analysis-heading .analysis-clock{width:100%;text-align:left;display:flex;align-items:baseline;gap:12px}.analysis-heading .heading-actions{justify-content:flex-start}.analysis-card{padding:16px}.analysis-summary strong{font-size:26px}.analysis-kpi-top i{width:25px;height:25px}.analysis-kpi-top{font-size:10px}.analysis-legend{margin-left:0}}

/* 机器卡片：数据为主，资料紧凑排列，地址与最近时间独立分区。 */
.analysis-card{padding:18px 18px 14px;container-type:inline-size}
.analysis-card-header{margin-bottom:15px;align-items:flex-start}
.analysis-device-title h3{font-size:20px;line-height:1.3}
.analysis-device-title h3 span{white-space:nowrap;border:1px solid #304661;padding:2px 5px;border-radius:4px;align-self:center;font-size:9px}
.analysis-device-title p{margin-top:6px;color:#a0b5d0;line-height:1.6}
.analysis-network{margin-top:2px}
.analysis-count-block{border:1px solid #2b435f;background:linear-gradient(120deg,#132e4655,#09172b99);border-radius:9px;overflow:hidden}
.analysis-count-date{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border-bottom:1px solid #273e56;color:#7699b9;font-size:9px}
.analysis-count-date>span{color:#a5c4dd;letter-spacing:.1em}
.analysis-count-date time{font-family:Consolas,monospace;color:#88a8c5}
.analysis-counts{padding:13px;border:0;background:transparent;border-radius:0;gap:14px}
.analysis-counts span{color:#92acc9;font-size:10px}
.analysis-counts strong{font-size:clamp(28px,1.9vw,36px);margin:5px 0 0;line-height:1.15}
.analysis-counts small{margin-left:7px;color:#799bb7}
.analysis-device-info{gap:12px 18px;margin:16px 0;padding:0 1px}
.analysis-device-info>div{min-width:0}
.analysis-device-info dt{font-size:9px;color:#6f8bac;margin-bottom:4px}
.analysis-device-info dd{font-size:11px;line-height:1.5;color:#c5d6e9}
.analysis-network-info{gap:0;padding:0 12px;margin-bottom:14px;background:#10243a50;border-color:#283e56}
.analysis-network-info>div{padding:9px 0;grid-template-columns:64px minmax(0,1fr);align-items:center}
.analysis-network-info>div+div{border-top:1px solid #24394f}
.analysis-network-info dt{font-size:9px}.analysis-network-info dd{font-size:12px;color:#b0d6e9;letter-spacing:.02em}
.analysis-last{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;background:#ffffff02;padding:1px 0 3px}
.analysis-last>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#7895b5}
.analysis-last i{display:inline-block;width:9px;height:9px;border:1px solid #6788ab;border-radius:50%;position:relative}
.analysis-last i:after{content:"";position:absolute;left:3px;top:1px;width:2px;height:3px;border-left:1px solid #6788ab;border-bottom:1px solid #6788ab}
.analysis-last strong{font-size:13px;line-height:1.5;color:#c7def2;letter-spacing:.035em;overflow-wrap:anywhere}
.analysis-check{border-top:1px dashed #243950;padding-top:8px;margin-top:8px;color:#6682a3}
@container(min-width:360px){.analysis-device-info>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.analysis-device-info dt{margin:0;flex-shrink:0}.analysis-device-info dd{text-align:right}}
@media(min-width:2100px){.analysis-card{padding:22px 24px 18px}.analysis-device-title h3{font-size:23px}.analysis-network-info dd{font-size:14px}.analysis-last strong{font-size:15px}}
@media(max-width:420px){.analysis-card{padding:16px}.analysis-device-title h3{font-size:18px}.analysis-counts strong{font-size:28px}}
