[hidden]{display:none!important}
.period-switch{position:relative;z-index:2;margin:13px 15px 0;padding:13px 14px 12px;border:1px solid #dce7ee;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(19,55,78,.07)}
.period-switch-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:11px}.period-switch-head div span,.period-switch-head div strong{display:block}.period-switch-head div span{color:#278dc4;font-size:7px;letter-spacing:1.4px}.period-switch-head div strong{margin-top:4px;color:#2a455a;font-size:10px}.period-switch-head>i{color:#90a1ae;font-size:8px;font-style:normal}
.period-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px;border-radius:9px;background:#edf3f7}.period-options button{height:34px;border:0;border-radius:7px;color:#748b9c;background:transparent;font-size:10px;font-weight:700;cursor:pointer;transition:.2s}.period-options button.active{color:#fff;background:linear-gradient(145deg,#147bc5,#21a4d0);box-shadow:0 5px 12px rgba(20,123,197,.25)}
.map-dashboard{position:relative;margin:14px 15px 0;padding:16px 14px 14px;overflow:hidden;border:1px solid #173f5d;border-radius:15px;color:#fff;background:radial-gradient(circle at 75% 16%,rgba(59,201,238,.13),transparent 30%),linear-gradient(155deg,#061a2d,#082943 55%,#061c31);box-shadow:0 16px 38px rgba(5,29,49,.22)}
.map-dashboard:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(89,210,240,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(89,210,240,.035) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,#000,transparent 86%)}
.map-dashboard-head,.map-summary,.map-canvas,.map-legend,.map-tip{position:relative;z-index:1}
.map-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.map-dashboard-head span{font-size:8px;letter-spacing:1.5px;color:#5fdaf4}
.map-dashboard-head h2{margin:5px 0 4px;font-size:18px;letter-spacing:.5px}
.map-dashboard-head p{margin:0;color:#8db3c7;font-size:8px;line-height:1.55}
.map-dashboard-head button{flex:0 0 auto;min-width:45px;height:30px;border:1px solid rgba(94,217,245,.32);border-radius:8px;color:#a6eafb;background:rgba(61,192,226,.09);font-size:9px;font-weight:700}
.map-summary{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:7px;margin:13px 0 8px}
.map-summary>div{min-width:0;padding:9px 10px;border:1px solid rgba(106,211,235,.12);border-radius:8px;background:rgba(255,255,255,.045)}
.map-summary span,.map-summary strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-summary span{color:#749caf;font-size:7px}
.map-summary strong{margin-top:4px;color:#eafaff;font-size:12px}
.map-canvas{min-height:420px;display:grid;place-items:center;margin:3px -2px 0;padding:8px 3px 3px;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 47% 43%,rgba(70,187,218,.18),rgba(19,91,126,.055) 42%,transparent 70%)}
.map-canvas:before{content:"";position:absolute;z-index:0;width:78%;height:74%;left:11%;top:13%;border-radius:48%;pointer-events:none;background:radial-gradient(ellipse,rgba(75,215,242,.17),rgba(33,134,173,.055) 48%,transparent 72%);filter:blur(22px);animation:mapAura 6s ease-in-out infinite alternate}
.map-loading{color:#78a9bc;font-size:10px}.map-loading.error{color:#ff9fa7}
.station-map{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:590px;overflow:visible}
.map-zones{filter:drop-shadow(0 11px 14px rgba(1,18,31,.34))}
.station-zone{transition:transform .3s ease;transform-box:fill-box;transform-origin:center}
.station-shape{fill:url(#softLevel0);fill-opacity:.94;stroke:#c9eef5;stroke-opacity:.62;stroke-width:1.15;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:url(#zoneSoftDepth);cursor:pointer;transition:fill .45s ease,filter .32s ease,stroke .3s ease,stroke-opacity .3s ease,fill-opacity .3s ease}
.station-zone.level-0 .station-shape{fill:url(#softLevel0);fill-opacity:.38}
.station-zone.level-1 .station-shape{fill:url(#softLevel1)}
.station-zone.level-2 .station-shape{fill:url(#softLevel2)}
.station-zone.level-3 .station-shape{fill:url(#softLevel3)}
.station-zone.level-4 .station-shape{fill:url(#softLevel4)}
.station-zone.level-5 .station-shape{fill:url(#softLevel5)}
.station-zone.level-6 .station-shape{fill:url(#softLevel6)}
.station-zone.level-7 .station-shape{fill:url(#softLevel7)}
.station-zone.level-8 .station-shape{fill:url(#softLevel8)}
.station-zone.level-9 .station-shape{fill:url(#softLevel9)}
.station-zone.level-10 .station-shape{fill:url(#softLevel10)}
.station-zone:hover .station-shape,.station-zone:focus .station-shape{stroke:#eaffff;stroke-opacity:.9;stroke-width:2.1;fill-opacity:1;filter:url(#zoneGlow);outline:none}
.station-zone:hover,.station-zone:focus{transform:translateY(-1.5px)}
.station-zone:focus{outline:none}
.station-label,.station-callout{font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;font-size:24px;font-weight:800;letter-spacing:.5px;fill:#fff;stroke:#06243c;stroke-width:5;paint-order:stroke fill;pointer-events:none}
.station-label.compact{font-size:21px}
.station-label.split-label{font-size:17px;letter-spacing:0;stroke-width:4}
.station-callout{font-size:22px}
.label-leader{fill:none;stroke:#8de9fb;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.map-legend{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:1px;color:#7fa5b8;font-size:7px}
.map-legend i{display:block;width:16px;height:6px;border-radius:3px}.map-legend .level-1{background:linear-gradient(135deg,#d4f2f7,#a8dce9)}.map-legend .level-2{background:linear-gradient(135deg,#b9e9f2,#77c7dd)}.map-legend .level-3{background:linear-gradient(135deg,#91dbe9,#46b2d2)}.map-legend .level-4{background:linear-gradient(135deg,#67c9df,#278fc0)}.map-legend .level-5{background:linear-gradient(135deg,#48b6d4,#1979aa)}.map-legend .level-6{background:linear-gradient(135deg,#329fc5,#156795)}.map-legend .level-7{background:linear-gradient(135deg,#2588b3,#10577f)}.map-legend .level-8{background:linear-gradient(135deg,#1c72a0,#0b496c)}.map-legend .level-9{background:linear-gradient(135deg,#155e8b,#073c5c)}.map-legend .level-10{background:linear-gradient(135deg,#104d76,#042f4e)}
.map-tip{display:flex;align-items:center;justify-content:center;gap:7px;min-height:31px;margin-top:10px;padding:6px 9px;border:1px solid rgba(105,216,239,.12);border-radius:8px;color:#93bbcd;background:rgba(255,255,255,.035);font-size:8px;text-align:center}
.map-tip i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#4dd8f2;box-shadow:0 0 9px #4dd8f2}
@keyframes mapAura{from{opacity:.65;transform:scale(.97)}to{opacity:1;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.map-canvas:before{animation:none}.station-zone{transition:none}}

.home-module{margin:14px 15px 0;padding:16px 14px;border:1px solid #dce6ed;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(22,55,77,.06)}
.module-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:13px}.module-heading span{color:#278ec5;font-size:7px;letter-spacing:1.5px}.module-heading h2{margin:4px 0 0;color:#203c51;font-size:17px}.module-heading em{color:#8a9daa;font-size:8px;font-style:normal}
.insight-card{margin-top:10px;padding:14px;border:1px solid #e4ecf1;border-radius:11px;background:linear-gradient(155deg,#fff,#f8fbfd)}.insight-card:first-of-type{margin-top:0}.insight-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.insight-title span{color:#59a8cf;font-size:6px;letter-spacing:1px}.insight-title h3{margin:4px 0 0;font-size:12px}.insight-title strong{color:#1479bd;font-size:19px}.insight-title small{color:#9aa9b4;font-size:7px}
.recent-trend-chart{height:150px;margin-top:12px}.recent-trend-chart svg{display:block;width:100%;height:100%;overflow:visible}.trend-grid{stroke:#e8eff3;stroke-width:1}.trend-area{fill:url(#recentTrendFill)}.trend-line{fill:none;stroke:#188bca;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:#fff;stroke:#1685c5;stroke-width:2}.trend-axis-label{fill:#8195a4;font-size:7px;text-anchor:middle}.trend-value-label{fill:#315369;font-size:7px;font-weight:700;text-anchor:middle}
.recent-time-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;height:130px;margin-top:12px;align-items:end}.recent-time-item{text-align:center}.recent-time-track{width:30px;height:82px;display:flex;align-items:flex-end;margin:0 auto 7px;border-radius:7px;background:#edf3f6;overflow:hidden}.recent-time-track i{display:block;width:100%;border-radius:7px 7px 0 0;background:linear-gradient(#42c9df,#167bc2)}.recent-time-item b,.recent-time-item span{display:block}.recent-time-item b{font-size:8px}.recent-time-item span{margin-top:3px;color:#8a9ca9;font-size:7px}
.category-share-list{position:relative;min-height:238px;margin:10px -2px 0;padding-top:15px}.category-axis-title{position:absolute;z-index:3;left:0;top:0;color:#6f899a;font-size:7px;font-weight:700}.category-xy-shell{display:flex;width:100%;height:224px}.category-y-axis{position:relative;z-index:2;flex:0 0 45px;width:45px;height:220px;background:#fff;overflow:visible}.category-y-axis text{fill:#718998;font-size:7px;text-anchor:end}.category-y-axis line{stroke:#8fa7b5;stroke-width:.8}.category-chart-scroll{flex:1;min-width:0;height:224px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#91c9df #eaf2f6}.category-chart-scroll::-webkit-scrollbar{height:5px}.category-chart-scroll::-webkit-scrollbar-track{border-radius:5px;background:#eaf2f6}.category-chart-scroll::-webkit-scrollbar-thumb{border-radius:5px;background:#91c9df}.category-xy-chart{display:block;height:220px;overflow:visible}.xy-grid line{stroke:#dfe9ef;stroke-width:.8;stroke-dasharray:3 3}.xy-x-axis{stroke:#8fa7b5;stroke-width:1}.xy-bar rect{fill:#178dca;filter:drop-shadow(0 4px 5px rgba(20,126,185,.16));transition:opacity .2s}.xy-bar:nth-of-type(3n+1) rect{fill:#19a6cc}.xy-bar:nth-of-type(3n+2) rect{fill:#167dbd}.xy-bar:hover rect{opacity:.78}.xy-value{fill:#246a89;font-size:7px;font-weight:700;text-anchor:middle}.xy-label{fill:#526c7d;font-size:7px;font-weight:700;text-anchor:end}.category-bar-empty{width:100%;padding:76px 10px;color:#8ca0ad;font-size:9px;text-align:center}
.feature-grid{display:grid;gap:9px}.service-grid{grid-template-columns:1fr 1fr}.tools-grid{grid-template-columns:1fr 1fr}.feature-grid button{min-height:105px;padding:13px;text-align:left;border:1px solid #dfe9ef;border-radius:11px;color:#27465b;background:linear-gradient(145deg,#fff,#f4f9fc);cursor:pointer}.feature-grid button i{width:35px;height:35px;display:grid;place-items:center;margin-bottom:10px;border-radius:10px;color:#fff;background:linear-gradient(145deg,#187fc5,#2fb4d6);box-shadow:0 7px 14px rgba(24,127,197,.2);font-size:13px;font-style:normal;font-weight:800}.feature-grid button span,.feature-grid button small{display:block}.feature-grid button span{font-size:11px;font-weight:800}.feature-grid button small{margin-top:5px;color:#8a9ca9;font-size:7px}.tools-grid button i{color:#3f748e;background:#e5f2f7;box-shadow:none}.feature-grid button:active{transform:translateY(1px);background:#edf6fa}
.service-dialog-mask{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,20,34,.72);backdrop-filter:blur(5px)}.service-dialog{position:relative;width:min(100%,350px);padding:27px 25px 22px;border:1px solid rgba(80,206,234,.2);border-radius:18px;color:#e9faff;background:radial-gradient(circle at 80% 0,rgba(48,190,224,.18),transparent 35%),linear-gradient(150deg,#071c30,#0a3b59);box-shadow:0 22px 60px rgba(0,0,0,.35);text-align:center}.service-dialog-close{position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;color:#8fc5d6;background:transparent;font-size:20px}.service-dialog-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 13px;border:1px solid rgba(92,222,243,.3);border-radius:15px;color:#fff;background:linear-gradient(145deg,#178bc5,#29c1cf);font-size:18px;font-weight:900}.service-dialog>span{color:#60d1e8;font-size:7px;letter-spacing:1.4px}.service-dialog h2{margin:7px 0 12px;font-size:19px}.service-dialog p{margin:0;color:#98bdcc;font-size:9px}.service-dialog strong{display:block;margin:10px 0 17px;color:#fff;font-size:28px;letter-spacing:2px}.service-dialog-confirm{width:100%;height:41px;border:0;border-radius:9px;color:#fff;background:linear-gradient(145deg,#1481c5,#22a9cf);font-size:10px;font-weight:800}

.station-detail-page{min-height:100vh;color:#e8f8ff;background:radial-gradient(circle at 80% 10%,#115b7d 0,transparent 28%),linear-gradient(155deg,#061827,#092b44)}
.station-detail-shell{width:min(100%,520px);min-height:100vh;margin:auto;padding:18px 16px 30px}
.station-detail-back{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(119,219,242,.23);border-radius:9px;color:#b9eaf5;background:rgba(255,255,255,.05);text-decoration:none;font-size:11px}
.station-detail-head{padding:40px 8px 25px}.station-detail-head span{font-size:9px;letter-spacing:1.6px;color:#5bd5f0}.station-detail-head h1{margin:10px 0 7px;font-size:28px}.station-detail-head p{margin:0;color:#80aabc;font-size:10px}
.station-detail-count{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px;padding:18px;border:1px solid rgba(98,211,235,.18);border-radius:13px;background:rgba(255,255,255,.055)}
.station-detail-count span,.station-detail-count strong{display:block}.station-detail-count span{color:#7da9ba;font-size:9px}.station-detail-count strong{margin-top:6px;font-size:28px}.station-detail-count em{color:#65daee;font-size:9px;font-style:normal}
.station-detail-empty{min-height:340px;display:grid;place-items:center;padding:35px;border:1px dashed rgba(112,211,234,.2);border-radius:14px;background:rgba(255,255,255,.035);text-align:center}
.station-detail-empty i{display:block;width:52px;height:52px;margin:0 auto 16px;border:1px solid rgba(104,220,245,.25);border-radius:16px;background:linear-gradient(145deg,rgba(77,205,235,.12),rgba(77,205,235,.03));box-shadow:inset 0 0 22px rgba(77,205,235,.08)}
.station-detail-empty h2{margin:0 0 8px;font-size:17px}.station-detail-empty p{margin:0;color:#7099aa;font-size:9px;line-height:1.7}

/* 派出所辖区态势驾驶舱 */
.station-detail-page{position:relative;min-height:100vh;overflow-x:hidden;color:#eaf8fc;background:radial-gradient(circle at 85% 4%,rgba(23,151,193,.32),transparent 28%),radial-gradient(circle at 2% 38%,rgba(20,102,153,.24),transparent 35%),linear-gradient(165deg,#061722 0%,#08283a 45%,#071b2a 100%)}
.station-detail-page:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(91,211,239,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(91,211,239,.18) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to bottom,#000,transparent 65%)}
.station-ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(60px)}.station-ambient-one{right:-80px;top:260px;width:180px;height:180px;background:rgba(19,185,213,.12)}.station-ambient-two{left:-100px;top:720px;width:220px;height:220px;background:rgba(32,110,194,.12)}
.station-detail-shell{position:relative;z-index:1;width:min(100%,520px);min-height:100vh;margin:auto;padding:15px 14px 38px}.station-topbar{display:flex;align-items:center;justify-content:space-between}.station-detail-back{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid rgba(121,220,241,.2);border-radius:10px;color:#c2edf5;background:rgba(255,255,255,.05);backdrop-filter:blur(10px);text-decoration:none;font-size:16px}.station-detail-back span{font-size:10px}.station-security{display:flex;align-items:center;gap:6px;color:#84bdc9;font-size:8px}.station-security i{width:6px;height:6px;border-radius:50%;background:#40d6b0;box-shadow:0 0 10px #40d6b0}
.station-detail-head{padding:30px 7px 24px}.station-detail-head>span{color:#4fd2e8;font-size:8px;letter-spacing:1.55px}.station-detail-head h1{margin:9px 0 10px;color:#fff;font-size:27px;letter-spacing:.5px;text-shadow:0 5px 25px rgba(45,198,226,.16)}.station-detail-head p{display:flex;align-items:center;justify-content:space-between;margin:0;color:#759dac;font-size:9px}.station-detail-head p b{font-weight:500}.station-detail-head p em{font-style:normal}
.station-section{margin-bottom:14px;padding:15px 14px;border:1px solid rgba(116,211,230,.14);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 18px 45px rgba(0,9,18,.2),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(15px)}.station-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:13px}.station-section-title span{display:block;color:#3bc8e4;font-size:7px;letter-spacing:1.35px}.station-section-title h2{margin:4px 0 0;color:#eefaff;font-size:15px}.station-section-title em{color:#729aaa;font-size:8px;font-style:normal}
.station-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.station-kpi-grid article{position:relative;min-height:112px;padding:13px 10px;border:1px solid rgba(125,210,229,.11);border-radius:12px;background:rgba(3,20,31,.32);overflow:hidden}.station-kpi-grid article:after{content:"";position:absolute;right:-16px;bottom:-25px;width:62px;height:62px;border-radius:50%;background:rgba(35,185,214,.08)}.station-kpi-grid article.primary{background:linear-gradient(150deg,rgba(15,139,185,.35),rgba(4,38,56,.36));box-shadow:inset 0 0 28px rgba(38,188,215,.08)}.station-kpi-grid article>i{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:21px;height:21px;border:1px solid rgba(76,209,233,.2);border-radius:7px;color:#50d0e5;background:rgba(41,186,215,.09);font-size:8px;font-style:normal}.station-kpi-grid span,.station-kpi-grid strong,.station-kpi-grid small{display:block}.station-kpi-grid span{max-width:62px;color:#88aeba;font-size:8px}.station-kpi-grid strong{margin-top:17px;color:#fff;font-size:24px;line-height:1}.station-kpi-grid small{margin-top:8px;color:#5e8999;font-size:7px}
.station-chart-card{position:relative;padding:11px 8px 4px;border:1px solid rgba(111,204,223,.1);border-radius:12px;background:rgba(3,20,31,.26)}.station-trend-summary{display:flex;align-items:center;justify-content:space-between;padding:0 5px 5px}.station-trend-summary span{color:#6f99a9;font-size:8px}.station-trend-summary strong{color:#63d9ec;font-size:12px}.station-trend-chart{height:146px}.station-trend-chart svg{display:block;width:100%;height:100%}.station-trend-grid line{stroke:rgba(131,194,209,.15);stroke-width:.8;stroke-dasharray:3 4}.station-trend-area{fill:url(#stationTrendFill)}.station-trend-line{fill:none;stroke:#31c2de;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(42,195,222,.3))}.station-trend-chart circle{fill:#071d2a;stroke:#5ce1f1;stroke-width:2}.station-trend-chart text{font-size:7px;text-anchor:middle}.station-trend-chart .trend-number{fill:#bcebf3;font-weight:700}.station-trend-chart .trend-date{fill:#668e9d}
.station-category-card{padding:10px 5px 4px}.station-category-chart{position:relative;min-height:235px}.station-axis-label{position:absolute;left:1px;top:0;color:#7099a8;font-size:7px}.station-category-shell{display:flex;height:220px;padding-top:13px}.station-category-axis{flex:0 0 45px;width:45px;height:216px;overflow:visible}.station-category-axis text{fill:#759baa;font-size:7px;text-anchor:end}.station-category-axis line{stroke:#769dac;stroke-width:.8}.station-category-scroll{flex:1;min-width:0;height:220px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#2c92ac rgba(255,255,255,.05)}.station-category-scroll::-webkit-scrollbar{height:4px}.station-category-scroll::-webkit-scrollbar-thumb{border-radius:5px;background:#2c92ac}.station-category-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}.station-category-scroll svg{display:block;height:216px}.station-category-grid line{stroke:rgba(130,195,209,.14);stroke-width:.8;stroke-dasharray:3 4}.station-category-x{stroke:#789cab;stroke-width:1}.station-category-bar rect{fill:#168fc2;filter:drop-shadow(0 4px 5px rgba(20,164,201,.18))}.station-category-bar:nth-of-type(3n+1) rect{fill:#25bad3}.station-category-bar:nth-of-type(3n+2) rect{fill:#2d83c5}.station-category-bar .category-number{fill:#a8e1eb;font-size:7px;font-weight:700;text-anchor:middle}.station-category-bar .category-name{fill:#83a8b5;font-size:7px;font-weight:700;text-anchor:end}.station-empty{display:grid;place-items:center;min-height:220px;color:#688f9e;font-size:9px}
.station-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.station-analysis-grid article{min-height:116px;padding:11px 9px;border:1px solid rgba(124,207,226,.1);border-radius:12px;background:rgba(3,20,31,.3)}.station-analysis-grid article>div{display:flex;align-items:center;gap:6px}.station-analysis-grid i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font-size:8px;font-style:normal}.station-analysis-grid span{color:#9fc0ca;font-size:8px;line-height:1.35}.station-analysis-grid strong,.station-analysis-grid small{display:block}.station-analysis-grid strong{margin:15px 0 9px;color:#e8f7fa;font-size:22px}.station-analysis-grid small{color:#5e8492;font-size:7px;line-height:1.45}.station-analysis-grid .risk i{color:#ff9c89;background:rgba(239,96,76,.13)}.station-analysis-grid .repeat i{color:#f7cc74;background:rgba(234,177,68,.13)}.station-analysis-grid .person i{color:#70d8ef;background:rgba(63,190,221,.13)}.station-analysis-note{display:flex;gap:9px;margin-top:10px;padding:10px 11px;border-radius:10px;background:rgba(31,142,172,.08)}.station-analysis-note>i{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1px solid rgba(76,205,230,.2);border-radius:50%;color:#5bd3e8;font-size:8px;font-style:normal}.station-analysis-note p{margin:0}.station-analysis-note b,.station-analysis-note span{display:block}.station-analysis-note b{color:#91c8d3;font-size:8px}.station-analysis-note span{margin-top:3px;color:#587f8e;font-size:7px;line-height:1.55}.station-toast{position:fixed;z-index:10;left:50%;bottom:24px;max-width:340px;padding:10px 14px;border-radius:9px;color:#fff;background:#b94b4b;font-size:9px;opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:.25s}.station-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:390px){.station-detail-shell{padding-left:10px;padding-right:10px}.station-section{padding-left:10px;padding-right:10px}.station-kpi-grid{gap:6px}.station-kpi-grid article{padding-left:8px;padding-right:8px}.station-analysis-grid{gap:6px}.station-analysis-grid article{padding-left:7px;padding-right:7px}}

/* Yesterday screening cockpit */
.station-screening-section{position:relative;overflow:hidden;border-color:rgba(62,201,228,.22);background:radial-gradient(circle at 92% 4%,rgba(25,150,194,.2),transparent 34%),linear-gradient(145deg,rgba(8,43,61,.96),rgba(5,25,38,.92))}.station-screening-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 42%,rgba(95,222,242,.025) 42% 43%,transparent 43% 100%)}.station-screening-section>*{position:relative;z-index:1}.screening-title{margin-bottom:9px}.screening-title h2{font-size:17px}.screening-scope{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:8px 10px;border:1px solid rgba(82,205,228,.12);border-radius:10px;background:rgba(31,138,169,.075)}.screening-scope div{display:flex;align-items:center;gap:7px}.screening-scope i{width:6px;height:6px;border-radius:50%;background:#45d5b0;box-shadow:0 0 9px rgba(69,213,176,.8)}.screening-scope span{color:#a5d8e0;font-size:8px}.screening-scope b{color:#638f9d;font-size:7px;font-weight:500}
.screening-period-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:-1px 0 10px;padding:4px;border:1px solid rgba(82,205,228,.11);border-radius:11px;background:rgba(2,17,27,.38)}.screening-period-switch button{height:34px;border:0;border-radius:8px;background:transparent;color:#668d99;font:inherit;font-size:8px;font-weight:700;cursor:pointer;transition:.2s}.screening-period-switch button.active{color:#e5fbff;background:linear-gradient(135deg,rgba(35,177,205,.34),rgba(26,103,150,.3));box-shadow:inset 0 0 0 1px rgba(87,218,239,.16),0 4px 12px rgba(0,0,0,.16)}
.screening-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:9px}.risk-orbit{display:flex;align-items:center;gap:12px;min-height:148px;padding:14px;border:1px solid rgba(248,112,93,.14);border-radius:14px;background:radial-gradient(circle at 18% 20%,rgba(238,92,73,.13),transparent 48%),rgba(4,20,31,.4)}.risk-orbit-ring{--risk-rate:0;position:relative;display:grid;place-items:center;flex:0 0 88px;width:88px;height:88px;border-radius:50%;background:conic-gradient(#ff7966 calc(var(--risk-rate)*1%),rgba(255,255,255,.075) 0);box-shadow:0 0 30px rgba(238,92,73,.11)}.risk-orbit-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#092333;box-shadow:inset 0 0 18px rgba(0,0,0,.3)}.risk-orbit-ring>div{position:relative;text-align:center}.risk-orbit-ring strong,.risk-orbit-ring small{display:block}.risk-orbit-ring strong{color:#fff;font-size:18px}.risk-orbit-ring small{margin-top:3px;color:#8aacb7;font-size:7px}.risk-orbit p{margin:0}.risk-orbit p span,.risk-orbit p b{display:block}.risk-orbit p span{max-width:70px;color:#9fc0c9;font-size:8px;line-height:1.45}.risk-orbit p b{margin-top:11px;color:#718f99;font-size:8px;font-weight:500}.risk-orbit p em{color:#ff9a87;font-size:25px;font-style:normal;font-weight:800}
.screening-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.screening-hero-stats article{min-height:70px;padding:10px;border:1px solid rgba(113,207,226,.1);border-radius:11px;background:rgba(3,19,29,.35)}.screening-hero-stats article:last-child{grid-column:1/3;min-height:66px}.screening-hero-stats span,.screening-hero-stats strong,.screening-hero-stats small{display:block}.screening-hero-stats span{color:#6f98a6;font-size:7px}.screening-hero-stats strong{margin-top:7px;color:#e9f8fb;font-size:20px}.screening-hero-stats strong.rule-name{overflow:hidden;margin-top:6px;color:#62d4e7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.screening-hero-stats small{margin-top:4px;color:#4f7785;font-size:6px}
.screening-signal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:9px}.screening-signal-grid article{position:relative;min-height:85px;padding:9px 7px;border:1px solid rgba(118,205,224,.1);border-radius:11px;background:rgba(4,20,30,.37);overflow:hidden}.screening-signal-grid article:after{content:"";position:absolute;right:-12px;bottom:-17px;width:42px;height:42px;border-radius:50%;background:currentColor;opacity:.045}.screening-signal-grid i{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:rgba(255,255,255,.06);font-size:7px;font-style:normal}.screening-signal-grid span,.screening-signal-grid strong{display:block}.screening-signal-grid span{height:22px;margin-top:7px;color:#789eaa;font-size:7px;line-height:1.35}.screening-signal-grid strong{margin-top:5px;color:#eefbfe;font-size:17px}.screening-signal-grid .danger{color:#ff806d}.screening-signal-grid .warning{color:#f3c563}.screening-signal-grid .violet{color:#b49bff}.screening-signal-grid .cyan{color:#48d6de}.screening-signal-grid .blue{color:#5bb9f0}
.screening-structure-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:9px}.screening-subcard{padding:11px;border:1px solid rgba(112,203,222,.1);border-radius:12px;background:rgba(3,19,29,.31)}.screening-subcard header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.screening-subcard header span{display:block;color:#3fc5df;font-size:6px;letter-spacing:1px}.screening-subcard header h3{margin:3px 0 0;color:#dff4f8;font-size:11px}.screening-subcard header b{color:#567e8c;font-size:6px;font-weight:500}
.screening-time-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;min-height:99px}.time-bucket{position:relative;padding:10px 8px;border-radius:10px;background:linear-gradient(180deg,rgba(25,115,146,.12),rgba(3,16,25,.3));overflow:hidden}.time-bucket:before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--bucket-height);max-height:100%;background:linear-gradient(180deg,rgba(43,192,217,.02),rgba(43,192,217,.17))}.time-bucket>*{position:relative}.time-bucket span,.time-bucket strong,.time-bucket small{display:block}.time-bucket span{color:#7098a5;font-size:7px}.time-bucket strong{margin-top:13px;color:#e8f8fb;font-size:17px}.time-bucket small{margin-top:7px;color:#527986;font-size:6px}.time-bucket small b{color:#ff8974;font-weight:700}
.screening-tabs{display:flex;gap:4px;margin-bottom:9px;padding:3px;border-radius:9px;background:rgba(3,15,24,.45)}.screening-tabs button{flex:1;padding:7px 8px;border:0;border-radius:7px;color:#668d99;background:transparent;font:inherit;font-size:7px;cursor:pointer}.screening-tabs button.active{color:#d7f6fb;background:linear-gradient(135deg,rgba(34,165,196,.28),rgba(35,110,151,.2));box-shadow:inset 0 0 0 1px rgba(79,205,228,.12)}.screening-category-list{display:grid;gap:7px;min-height:80px}.category-analysis-row{display:grid;grid-template-columns:minmax(72px,1.1fr) 2.6fr 32px;align-items:center;gap:8px}.category-analysis-row>span{overflow:hidden;color:#8eb2bc;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.category-analysis-row>div{height:6px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden}.category-analysis-row>div i{display:block;width:var(--category-width);height:100%;border-radius:5px;background:linear-gradient(90deg,#258fc5,#39ccda);box-shadow:0 0 8px rgba(54,203,221,.18)}.category-analysis-row>b{color:#bfe9ef;font-size:8px;text-align:right}.category-analysis-row small{grid-column:2/4;margin-top:-5px;color:#587f8a;font-size:6px}.category-analysis-row small em{color:#ff8d78;font-style:normal}.screening-empty{display:grid;place-items:center;grid-column:1/-1;min-height:70px;color:#557d8a;font-size:8px}
.screening-quality{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.screening-quality article{padding:10px;border:1px solid rgba(112,203,222,.09);border-radius:11px;background:rgba(3,19,29,.3)}.screening-quality article>div{display:flex;align-items:center;justify-content:space-between}.screening-quality span{color:#749ca8;font-size:7px}.screening-quality strong{color:#dff7fb;font-size:11px}.screening-quality p{height:5px;margin:9px 0 6px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden}.screening-quality p i{display:block;width:0;height:100%;border-radius:5px;background:linear-gradient(90deg,#2aa6ce,#41d6c4);transition:width .5s ease}.screening-quality small{color:#527985;font-size:6px}.station-screening-section .station-analysis-note{border:1px solid rgba(79,196,218,.08);background:rgba(30,129,155,.075)}
@media(min-width:470px){.screening-structure-grid{grid-template-columns:1fr 1fr}.screening-time-chart{grid-template-columns:1fr 1fr}.screening-subcard{min-height:220px}}
@media(max-width:390px){.screening-hero{grid-template-columns:1fr}.risk-orbit{min-height:126px}.screening-signal-grid{grid-template-columns:repeat(3,1fr)}.screening-signal-grid article{min-height:78px}.screening-quality{grid-template-columns:1fr}.screening-time-chart{grid-template-columns:1fr 1fr}.screening-scope{align-items:flex-start;gap:7px}.screening-scope b{max-width:150px;text-align:right}}
@media(max-width:380px){.map-canvas{min-height:350px}.station-label{font-size:22px}.station-label.compact{font-size:19px}.station-callout{font-size:20px}.map-summary{grid-template-columns:1.3fr .8fr 1fr}}

/* 2026-08-09 派出所普通警情主分析与意见反馈 */
.ordinary-period-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.ordinary-period-switch button{min-height:62px;padding:8px 4px;border:1px solid rgba(99,205,226,.11);border-radius:10px;color:#6f98a7;background:rgba(2,18,28,.38);cursor:pointer}.ordinary-period-switch span,.ordinary-period-switch strong{display:block}.ordinary-period-switch span{font-size:7px}.ordinary-period-switch strong{margin-top:7px;color:#bfe9f1;font-size:16px}.ordinary-period-switch button.active{border-color:rgba(67,211,235,.33);color:#dffaff;background:linear-gradient(145deg,rgba(22,158,197,.42),rgba(19,85,127,.31));box-shadow:0 8px 20px rgba(0,10,20,.18),inset 0 0 0 1px rgba(91,223,242,.08)}.ordinary-period-switch button.active strong{color:#fff}.ordinary-hero{display:grid;grid-template-columns:.72fr 1.7fr;gap:8px}.ordinary-hero>article{padding:14px;border:1px solid rgba(80,210,233,.14);border-radius:13px;background:radial-gradient(circle at 10% 10%,rgba(38,191,221,.19),transparent 60%),rgba(3,20,31,.4)}.ordinary-hero>article span,.ordinary-hero>article strong,.ordinary-hero>article small{display:block}.ordinary-hero>article span{color:#92bac5;font-size:8px}.ordinary-hero>article strong{margin:15px 0 7px;color:#fff;font-size:34px}.ordinary-hero>article small{color:#5d8998;font-size:7px}.ordinary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ordinary-metrics article{min-height:74px;padding:9px;border:1px solid rgba(115,207,226,.1);border-radius:10px;background:rgba(3,19,29,.35)}.ordinary-metrics i{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;color:#50d8ea;background:rgba(49,190,216,.1);font-size:7px;font-style:normal}.ordinary-metrics span{display:block;margin-top:5px;color:#739da9;font-size:7px}.ordinary-metrics strong{display:block;margin-top:5px;color:#edfaff;font-size:16px}.ordinary-structure{margin-top:9px}.ordinary-quality{margin-top:8px}.compact-screening{border-color:rgba(239,117,95,.18);background:linear-gradient(145deg,rgba(43,34,40,.72),rgba(5,28,40,.84))}.compact-screening-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:7px}.compact-screening-grid article{min-height:94px;padding:11px;border:1px solid rgba(111,205,224,.1);border-radius:11px;background:rgba(3,19,29,.34)}.compact-screening-grid span,.compact-screening-grid strong,.compact-screening-grid small{display:block}.compact-screening-grid span{color:#7da5b0;font-size:7px}.compact-screening-grid strong{margin:12px 0 6px;color:#eefcff;font-size:22px}.compact-screening-grid small{overflow:hidden;color:#527b88;font-size:6px;line-height:1.45}.compact-screening-grid .compact-risk{background:radial-gradient(circle at 12% 8%,rgba(239,99,78,.17),transparent 64%),rgba(3,19,29,.38)}.compact-risk p{margin:11px 0 6px;color:#7895a0;font-size:8px}.compact-risk p strong{display:inline;margin:0;color:#ff8e79;font-size:29px}.feedback-entry-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-entry-card>div>span{color:#3bc8e4;font-size:7px;letter-spacing:1.3px}.feedback-entry-card h2{margin:5px 0;color:#edfaff;font-size:15px}.feedback-entry-card p{max-width:280px;margin:0;color:#6f98a6;font-size:7px;line-height:1.6}.feedback-entry-card button{flex:0 0 auto;height:38px;padding:0 12px;border:1px solid rgba(81,214,237,.2);border-radius:9px;color:#dcf8fc;background:linear-gradient(135deg,rgba(22,141,184,.7),rgba(38,183,202,.55));font-size:8px;cursor:pointer}.feedback-fab{position:fixed;z-index:34;right:13px;bottom:calc(78px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;height:38px;padding:0 11px;border:1px solid rgba(111,218,237,.28);border-radius:19px;color:#dcf9fd;background:rgba(6,45,65,.94);box-shadow:0 10px 25px rgba(0,0,0,.28);font-size:8px}.feedback-fab i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;background:#1599bd;font-style:normal}.feedback-mask{position:fixed;z-index:100;inset:0;display:grid;place-items:end center;padding:18px;background:rgba(1,10,17,.68);backdrop-filter:blur(8px)}.feedback-dialog{position:relative;width:min(100%,500px);padding:24px 18px calc(20px + env(safe-area-inset-bottom));border:1px solid rgba(100,213,234,.18);border-radius:20px 20px 14px 14px;color:#eaf9fc;background:linear-gradient(155deg,#0a2b3d,#071d2b);box-shadow:0 -20px 70px rgba(0,0,0,.42)}.feedback-dialog>span{color:#43cce4;font-size:7px;letter-spacing:1.4px}.feedback-dialog h2{margin:7px 0 5px;font-size:20px}.feedback-dialog>p{margin:0 0 14px;color:#739eab;font-size:8px;line-height:1.6}.feedback-dialog label{display:block;margin-top:10px}.feedback-dialog label b{display:block;margin-bottom:6px;color:#9cc1ca;font-size:8px}.feedback-dialog select,.feedback-dialog textarea,.feedback-dialog input{width:100%;padding:10px;border:1px solid rgba(111,201,219,.16);border-radius:9px;outline:0;color:#eaf9fc;background:rgba(1,14,22,.48);font:inherit;font-size:9px}.feedback-dialog select{height:40px}.feedback-dialog option{color:#183347;background:#fff}.feedback-dialog textarea{height:105px;resize:none;line-height:1.6}.feedback-dialog label small{display:block;margin-top:4px;color:#5f8692;font-size:7px;text-align:right}.feedback-close{position:absolute;right:13px;top:12px;width:30px;height:30px;border:0;border-radius:50%;color:#89adb7;background:rgba(255,255,255,.06);font-size:18px}.feedback-submit{width:100%;height:42px;margin-top:14px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1688bd,#28b9cd);font-size:9px;font-weight:800}.feedback-submit:disabled{opacity:.5}.feedback-message{min-height:15px;margin-top:7px;color:#7da5b0;font-size:8px;text-align:center}.feedback-message.success{color:#4ad8ad}.feedback-message.error{color:#ff8e82}.feedback-open{overflow:hidden}
@media(max-width:390px){.ordinary-hero{grid-template-columns:1fr}.compact-screening-grid{grid-template-columns:1.35fr 1fr}.compact-screening-grid article:last-child{grid-column:1/3}.feedback-entry-card{align-items:flex-start}.feedback-entry-card p{max-width:190px}}

/* 真实手机全屏布局：去掉桌面样机边框，并把空间优先留给数据内容。 */
@media(max-width:699px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;background:var(--bg)}
  body{padding:0}
  .desktop-backdrop{display:none}
  .app-shell{width:100%;max-width:none;min-height:100dvh;margin:0;padding-bottom:calc(68px + env(safe-area-inset-bottom));box-shadow:none}
  .app-header{height:56px;padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right))}
  .hero{min-height:164px;padding:24px max(15px,env(safe-area-inset-right)) 23px max(15px,env(safe-area-inset-left))}
  .hero h1{font-size:24px}.safe-pill{margin-top:18px}
  .period-switch,.map-dashboard,.home-module{margin-left:6px;margin-right:6px}
  .period-switch{padding:12px 9px 10px}
  .period-switch-head{padding:0 2px}.period-options{gap:3px;padding:3px}.period-options button{height:36px;font-size:11px}
  .map-dashboard{padding:14px 8px 12px;border-radius:13px}
  .map-dashboard-head{padding:0 3px}.map-dashboard-head h2{font-size:17px}.map-dashboard-head p{font-size:9px}
  .map-summary{gap:4px;margin:11px 0 6px}.map-summary>div{padding:8px 7px}.map-summary span{font-size:8px}.map-summary strong{font-size:12px}
  .map-canvas{min-height:clamp(350px,106vw,455px);margin:2px 0 0;padding:5px 0 0;border-radius:10px}
  .station-map{width:100%;max-width:100%}
  .map-tip{margin:8px 2px 0;font-size:9px}
  .home-module{padding:14px 9px;border-radius:12px}
  .insight-card{padding:12px 9px}.insight-title h3{font-size:13px}.insight-title span,.module-heading span{font-size:7px}
  .feature-grid{gap:7px}.feature-grid button{min-height:100px;padding:12px 10px}.feature-grid button span{font-size:12px}.feature-grid button small{font-size:8px}
  .scope-strip,.panel,.search,.unit-overview,.unit-list,.segmented,.category-hero,.category-grid,.security-card,.data-stat-grid,.data-contract{margin-left:7px;margin-right:7px}
  .panel{padding:14px}.unit-list{padding-left:12px;padding-right:12px}.category-grid{gap:7px}
  .bottom-nav{left:0;bottom:0;transform:none;width:100%;max-width:none;height:calc(64px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);border-radius:0}
  .bottom-nav button{font-size:9px}.bottom-nav i{height:24px;margin-bottom:2px}
  .filter-sheet{left:0;bottom:0;transform:none;width:100%;max-width:none;padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(74px + env(safe-area-inset-bottom))}
  .station-detail-page{width:100%;overflow-x:hidden}
  .station-detail-shell{width:100%;max-width:none;min-height:100dvh;margin:0;padding:10px max(6px,env(safe-area-inset-right)) 24px max(6px,env(safe-area-inset-left))}
  .station-topbar{padding:0 3px}.station-detail-head{padding:25px 7px 20px}.station-detail-head h1{font-size:25px}
  .station-section{margin-bottom:9px;padding:13px 8px;border-radius:13px}
  .station-chart-card{padding-left:5px;padding-right:5px}
}

@media(max-width:370px){
  .period-switch,.map-dashboard,.home-module{margin-left:4px;margin-right:4px}
  .map-dashboard{padding-left:6px;padding-right:6px}
  .station-kpi-grid{grid-template-columns:1fr 1fr}
}

/* 2026-08-09 内部页信息层级微调 */
.station-detail-head p{justify-content:flex-end}.station-detail-head p em{color:#a7d5df;font-size:11px;font-weight:700;letter-spacing:.2px}
.ordinary-period-switch button{min-height:50px;padding:0 4px}.ordinary-period-switch button span{font-size:13px;font-weight:800;letter-spacing:.8px}.ordinary-period-switch button strong{display:none}
.ordinary-main .time-bucket{border:1px solid rgba(65,211,235,.17);background:linear-gradient(180deg,rgba(26,139,174,.24),rgba(4,29,42,.6));box-shadow:inset 0 0 20px rgba(42,191,221,.07)}
.ordinary-main .time-bucket:before{background:linear-gradient(180deg,rgba(77,231,245,.2),rgba(21,172,221,.62));box-shadow:0 -4px 18px rgba(55,216,239,.3)}
.ordinary-main .time-bucket strong{color:#f3feff;text-shadow:0 0 10px rgba(86,226,244,.5)}

/* 首页取消底部“域、类、数”导航后释放底部空间 */
.app-shell{padding-bottom:20px}.feedback-fab{bottom:calc(16px + env(safe-area-inset-bottom))}.toast{bottom:calc(62px + env(safe-area-inset-bottom))}
