:root{--color-primary: #1D4ED8;--color-accent: #EA580C;--color-focus: #1D4ED8;--color-neutral: #6B7280;--color-text-primary: #1F2937;--color-text-secondary: #4B5563;--color-text-muted: #6B7280;--color-background: #FFFFFF;--color-panel-bg: #F9FAFB;--color-border: #E5E7EB;--color-grid: #E5E7EB;--color-axis: #9CA3AF;--color-success: #047857;--color-warning: #D97706;--color-danger: #B91C1C;--color-teal: #0F766E;--color-purple: #7C3AED;--color-orange: #EA580C;--color-series-0: #1D4ED8;--color-series-1: #EA580C;--color-series-2: #0F766E;--color-series-3: #7C3AED;--color-series-4: #6B7280;--color-series-5: #D97706;--color-series-6: #B91C1C;--color-series-7: #047857;--color-pollutant-pm25: #1D4ED8;--color-pollutant-pm10: #92400E;--color-pollutant-o3: #7C3AED;--color-pollutant-no2: #B91C1C;--color-pollutant-so2: #0F766E;--color-pollutant-co: #6B7280;--color-pollutant-aqi: #111827;--color-pollutant-humidity: #0EA5E9;--color-pollutant-wind-speed: #059669;--color-pollutant-temperature: #EA580C;--color-aqi-1: #00E400;--color-aqi-1-text: #082A1F;--color-aqi-2: #FFFF00;--color-aqi-2-text: #2A2600;--color-aqi-3: #FF7E00;--color-aqi-3-text: #361800;--color-aqi-4: #FF0000;--color-aqi-4-text: #FFFFFF;--color-aqi-5: #99004C;--color-aqi-5-text: #FFFFFF;--color-aqi-6: #7E0023;--color-aqi-6-text: #FFFFFF;--color-legacy-c000: #f1b080;--color-legacy-c001: #e36b3d;--color-legacy-c002: #f4f7fa;--color-legacy-c003: #ffffff;--color-legacy-c004: #8c390d;--color-legacy-c005: #fff;--color-legacy-c006: #184e63;--color-legacy-c007: #0f2536;--color-legacy-c008: #1f8f55;--color-legacy-c009: #c7532d;--color-legacy-c010: #173a4f;--color-legacy-c011: #1d4c63;--color-legacy-c012: #f8fbfd;--color-legacy-c013: #fbfcfd;--color-legacy-c014: #f2f6f9;--color-legacy-c015: #c7d3dd;--color-legacy-c016: #b55335;--color-legacy-c017: #f3f7fa;--color-legacy-c018: #fbfdff;--color-legacy-c019: #f5f9fc;--color-legacy-c020: #fff8f3;--color-legacy-c021: #fffdfb;--color-legacy-c022: #604636;--color-legacy-c023: #f6fafc;--color-legacy-c024: #fff8f4;--color-legacy-c025: #f8fbfc;--color-legacy-c026: #fff7f2;--color-legacy-c027: #c2410c;--color-legacy-c028: #f4f7f9;--color-legacy-c029: #486272;--color-legacy-c030: #fff6ef;--color-legacy-c031: #fff0e5;--color-legacy-c032: #f6f9fa;--color-legacy-c033: #a45435;--color-legacy-c034: #fff6f6;--color-legacy-c035: #ce5757;--color-legacy-c036: #7a3333;--color-legacy-c037: #edf5f8;--color-legacy-c038: #145366;--color-legacy-c039: #f7fbfa;--color-legacy-c040: #f1f8f7;--color-legacy-c041: #f8fafc;--color-legacy-c042: #eef6f4;--color-legacy-c043: #a64427;--color-legacy-c044: #fff2eb;--color-legacy-c045: #8a5a36;--color-legacy-c046: #0e4e63;--color-legacy-c047: #eef8ff;--color-legacy-c048: #fff7ed;--color-legacy-c049: #a04d12;--color-legacy-c050: #145f86;--color-legacy-c051: #b4232f;--color-legacy-c052: #49616d;--color-legacy-c053: #fbfcfe;--color-legacy-c054: #f4f8fb;--color-legacy-c055: #177245;--color-legacy-c056: #a2471f;--color-legacy-c057: #d6ffe8;--color-legacy-c058: #294253;--color-legacy-c059: #f3f6f8;--color-legacy-c060: #8a99a3;--color-legacy-c061: #f4f8fa;--color-legacy-c062: #eaf3f6;--color-legacy-c063: #fffaf6;--color-legacy-c064: #f7fbfd;--color-legacy-c065: #f6fbfd;--color-legacy-c066: #9d341f;--color-legacy-c067: #fff0e9;--color-legacy-c068: #0f5666;--color-legacy-c069: #e7f7fb;--color-legacy-c070: #8b5b0e;--color-legacy-c071: #fff6dc;--color-legacy-c072: #eef4f7;--color-legacy-c073: #061726;--color-legacy-c074: #0b2332;--color-legacy-c075: #07121d;--color-legacy-c076: #eaf4ff;--color-legacy-c077: #a7e2ff;--color-legacy-c078: #2a7892;--color-legacy-c079: #174e66;--color-legacy-c080: #55b6d4;--color-legacy-c081: #9a562d;--color-legacy-c082: #425666;--color-legacy-c083: #99a9b6;--color-legacy-c084: #d8ae3a;--color-legacy-c085: #d84a55;--color-legacy-c086: #f5f8fb;--color-legacy-c087: #607182;--color-legacy-c088: #f7fafc;--color-legacy-c089: #00e400;--color-legacy-c090: #ffff00;--color-legacy-c091: #ff7e00;--color-legacy-c092: #ff0000;--color-legacy-c093: #99004c;--color-legacy-c094: #7e0023;--color-legacy-c095: #b74a2c;--color-legacy-c096: #137260;--color-legacy-c097: #22c774;--color-legacy-c098: #082a1f;--color-legacy-c099: #d94d2f;--color-legacy-c100: #173243;--color-legacy-c101: #0c2f28;--color-legacy-c102: #4e6b75;--color-legacy-c103: #183b4b;--color-legacy-c104: #08243a;--color-legacy-c105: #58707b;--color-legacy-c106: #526d77;--color-legacy-c107: #2f5661;--color-legacy-c108: #415967;--color-legacy-c109: #8aa0a9;--color-legacy-c110: #607884;--color-legacy-c111: #edf5f3;--color-legacy-c112: #123144;--color-legacy-c113: #2d5263;--color-legacy-c114: #22b9c2;--color-legacy-c115: #2dd4bf;--color-legacy-c116: #28a7d8;--color-legacy-c117: #183a4b;--color-legacy-c118: #8a9aa7;--color-legacy-c119: #061c2c;--color-legacy-c120: #1abec7;--color-legacy-c121: #173a4c;--color-legacy-c122: #2e5869;--color-legacy-c123: #32d0d6;--color-legacy-c124: #1599a2;--color-legacy-c125: #718493;--color-legacy-c126: #1a2832;--color-legacy-c127: #f3fbff;--color-legacy-c128: #07313d;--color-legacy-c129: #6d8291;--color-legacy-c130: #102b3f;--color-legacy-c131: #62798a;--color-legacy-c132: #395767;--color-legacy-c133: #eef5f8;--color-legacy-c134: #195267;--color-legacy-c135: #eaf3f5;--color-legacy-c136: #0b5268;--color-legacy-c137: #526979;--color-legacy-c138: #102a3d;--color-legacy-c139: #c8a45a;--color-legacy-c140: #fbf8ef;--color-legacy-c141: #665b3c;--color-legacy-c142: #e96837;--color-legacy-c143: #a84a28;--color-legacy-c144: #263d4d;--color-legacy-c145: #607787;--color-legacy-c146: #d9e4ea;--color-legacy-c147: #f7fafb;--color-legacy-c148: #c8d6de;--color-legacy-c149: #176b87;--color-legacy-c150: #f5f9fa;--color-legacy-c151: #e7eef2;--color-legacy-c152: #718694;--color-legacy-c153: #2f6db2;--color-legacy-c154: #f6f8fb;--color-legacy-c155: #eef3f7;--color-legacy-c156: #536879;--color-legacy-c157: #b13c28;--color-legacy-c158: #cfd8e3;--color-legacy-c159: #28485c;--color-legacy-c160: #f5f9fb;--color-legacy-c161: #f0f7f9;--color-legacy-c162: #90a4ae;--color-legacy-c163: #2f9f75;--color-legacy-c164: #f8fafb;--color-legacy-c165: #dceff3;--color-legacy-c166: #14657d;--color-legacy-c167: #082f3e;--color-legacy-c168: #dce5ea;--color-legacy-c169: #cbd8df;--color-legacy-c170: #f0f3f5;--color-legacy-c171: #f6fafb;--color-legacy-c172: #083f50;--color-legacy-c173: #0b2536;--color-legacy-c174: #617184;--color-legacy-c175: #3d5265;--color-legacy-c176: #fff3ed;--color-legacy-c177: #b8451f;--color-legacy-c178: #244055;--color-legacy-c179: #e9f4f7;--color-legacy-c180: #c8d2da;--color-legacy-c181: #d8e0e8;--color-legacy-c182: #f6f8fa;--color-legacy-c183: #123f53;--color-legacy-c184: #c9dce3;--color-legacy-c185: #78a7b8;--color-legacy-c186: #13536a;--color-legacy-c187: #d7e3e8;--color-legacy-c188: #15374a;--color-legacy-c189: #17384a;--color-legacy-c190: #355565;--color-legacy-c191: #c05a34;--color-legacy-c192: #244858;--color-legacy-c193: #6a8290;--color-legacy-c194: #d76a43;--color-legacy-c195: #274e61;--color-legacy-c196: #247287;--color-legacy-c197: #f5fafb;--color-legacy-c198: #b44f30;--color-legacy-c199: #d8e3e8;--color-legacy-c200: #294b5c;--color-legacy-c201: #b55334;--color-legacy-c202: #6d9dae;--color-legacy-c203: #607887;--color-legacy-c204: #294c5d;--color-legacy-c205: rgba(255, 255, 255, .08);--color-legacy-c206: rgba(244, 247, 250, .7);--color-legacy-c207: rgba(255, 255, 255, .16);--color-legacy-c208: rgba(255, 255, 255, .14);--color-legacy-c209: rgba(255, 255, 255, .24);--color-legacy-c210: rgba(255, 255, 255, .12);--color-legacy-c211: rgba(227, 107, 61, .95);--color-legacy-c212: rgba(255, 255, 255, .22);--color-legacy-c213: rgba(244, 247, 250, .82);--color-legacy-c214: rgba(244, 247, 250, .86);--color-legacy-c215: rgba(244, 247, 250, .64);--color-legacy-c216: rgba(255, 255, 255, .72);--color-legacy-c217: rgba(255, 255, 255, .86);--color-legacy-c218: rgba(24, 78, 99, .85);--color-legacy-c219: rgba(16, 43, 63, .14);--color-legacy-c220: rgba(255, 255, 255, .88);--color-legacy-c221: rgba(24, 78, 99, .48);--color-legacy-c222: rgba(227, 107, 61, .22);--color-legacy-c223: rgba(248, 251, 253, .68);--color-legacy-c224: rgba(248, 251, 253, .82);--color-legacy-c225: rgba(248, 251, 253, .62);--color-legacy-c226: rgba(216, 226, 234, .96);--color-legacy-c227: rgba(216, 226, 234, .72);--color-legacy-c228: rgba(247, 250, 252, .84);--color-legacy-c229: rgba(24, 78, 99, .12);--color-legacy-c230: rgba(247, 250, 252, .92);--color-legacy-c231: rgba(24, 78, 99, .16);--color-legacy-c232: rgba(24, 78, 99, .1);--color-legacy-c233: rgba(24, 78, 99, .09);--color-legacy-c234: rgba(24, 78, 99, .14);--color-legacy-c235: rgba(255, 255, 255, .8);--color-legacy-c236: rgba(227, 107, 61, .4);--color-legacy-c237: rgba(255, 244, 238, .95);--color-legacy-c238: rgba(255, 255, 255, .92);--color-legacy-c239: rgba(24, 78, 99, .35);--color-legacy-c240: rgba(248, 251, 253, .75);--color-legacy-c241: rgba(24, 78, 99, .045);--color-legacy-c242: rgba(227, 107, 61, .08);--color-legacy-c243: rgba(17, 48, 73, .12);--color-legacy-c244: rgba(17, 48, 73, .05);--color-legacy-c245: rgba(18, 91, 117, .18);--color-legacy-c246: rgba(227, 107, 61, .24);--color-legacy-c247: rgba(18, 91, 117, .16);--color-legacy-c248: rgba(18, 91, 117, .12);--color-legacy-c249: rgba(216, 226, 234, .86);--color-legacy-c250: rgba(227, 107, 61, .3);--color-legacy-c251: rgba(227, 107, 61, .26);--color-legacy-c252: rgba(227, 107, 61, .28);--color-legacy-c253: rgba(255, 255, 255, .76);--color-legacy-c254: rgba(24, 78, 99, .95);--color-legacy-c255: rgba(126, 151, 165, .3);--color-legacy-c256: rgba(213, 88, 40, .34);--color-legacy-c257: rgba(213, 88, 40, .58);--color-legacy-c258: rgba(24, 78, 99, .08);--color-legacy-c259: rgba(227, 107, 61, .32);--color-legacy-c260: rgba(227, 107, 61, .34);--color-legacy-c261: rgba(206, 87, 87, .32);--color-legacy-c262: rgba(24, 78, 99, .1);--color-legacy-c263: rgba(206, 87, 87, .28);--color-legacy-c264: rgba(24, 78, 99, .22);--color-legacy-c265: rgba(24, 78, 99, .18);--color-legacy-c266: rgba(24, 78, 99, .2);--color-legacy-c267: rgba(14, 78, 99, .28);--color-legacy-c268: rgba(24, 78, 99, .32);--color-legacy-c269: rgba(20, 83, 102, .22);--color-legacy-c270: rgba(148, 163, 184, .24);--color-legacy-c271: rgba(15, 37, 54, .32);--color-legacy-c272: rgba(15, 37, 54, .2);--color-legacy-c273: rgba(14, 78, 99, .62);--color-legacy-c274: rgba(14, 78, 99, .1);--color-legacy-c275: rgba(227, 107, 61, .38);--color-legacy-c276: rgba(37, 131, 184, .36);--color-legacy-c277: rgba(226, 125, 49, .38);--color-legacy-c278: rgba(37, 131, 184, .72);--color-legacy-c279: rgba(37, 131, 184, .14);--color-legacy-c280: rgba(226, 125, 49, .72);--color-legacy-c281: rgba(226, 125, 49, .16);--color-legacy-c282: rgba(14, 78, 99, .55);--color-legacy-c283: rgba(14, 78, 99, .08);--color-legacy-c284: rgba(216, 74, 85, .22);--color-legacy-c285: rgba(216, 74, 85, .06);--color-legacy-c286: rgba(227, 107, 61, .14);--color-legacy-c287: rgba(39, 161, 98, .12);--color-legacy-c288: rgba(227, 107, 61, .12);--color-legacy-c289: rgba(76, 146, 112, .2);--color-legacy-c290: rgba(24, 78, 99, .45);--color-legacy-c291: rgba(191, 81, 38, .2);--color-legacy-c292: rgba(191, 81, 38, .24);--color-legacy-c293: rgba(24, 78, 99, .28);--color-legacy-c294: rgba(18, 91, 117, .14);--color-legacy-c295: rgba(17, 48, 73, .045);--color-legacy-c296: rgba(227, 107, 61, .36);--color-legacy-c297: rgba(227, 107, 61, .18);--color-legacy-c298: rgba(30, 130, 165, .22);--color-legacy-c299: rgba(255, 255, 255, .035);--color-legacy-c300: rgba(255, 255, 255, .03);--color-legacy-c301: rgba(0, 0, 0, .72);--color-legacy-c302: rgba(0, 0, 0, .22);--color-legacy-c303: rgba(128, 176, 198, .28);--color-legacy-c304: rgba(6, 22, 35, .72);--color-legacy-c305: rgba(0, 0, 0, .26);--color-legacy-c306: rgba(234, 244, 255, .76);--color-legacy-c307: rgba(128, 176, 198, .26);--color-legacy-c308: rgba(42, 117, 144, .96);--color-legacy-c309: rgba(16, 78, 102, .96);--color-legacy-c310: rgba(128, 176, 198, .36);--color-legacy-c311: rgba(255, 255, 255, .1);--color-legacy-c312: rgba(9, 29, 44, .86);--color-legacy-c313: rgba(7, 22, 34, .68);--color-legacy-c314: rgba(234, 244, 255, .72);--color-legacy-c315: rgba(93, 184, 220, .34);--color-legacy-c316: rgba(128, 176, 198, .24);--color-legacy-c317: rgba(2, 11, 18, .42);--color-legacy-c318: rgba(0, 0, 0, .34);--color-legacy-c319: rgba(0, 0, 0, .42);--color-legacy-c320: rgba(0, 0, 0, .28);--color-legacy-c321: rgba(234, 244, 255, .62);--color-legacy-c322: rgba(255, 255, 255, .09);--color-legacy-c323: rgba(128, 176, 198, .3);--color-legacy-c324: rgba(255, 255, 255, .11);--color-legacy-c325: rgba(6, 22, 35, .76);--color-legacy-c326: rgba(0, 0, 0, .3);--color-legacy-c327: rgba(234, 244, 255, .66);--color-legacy-c328: rgba(255, 255, 255, .62);--color-legacy-c329: rgba(255, 255, 255, .74);--color-legacy-c330: rgba(248, 251, 253, .96);--color-legacy-c331: rgba(255, 255, 255, .18);--color-legacy-c332: rgba(255, 255, 255, 0);--color-legacy-c333: rgba(16, 43, 63, .04);--color-legacy-c334: rgba(255, 255, 255, .9);--color-legacy-c335: rgba(216, 224, 232, .8);--color-legacy-c336: rgba(16, 43, 63, .12);--color-legacy-c337: rgba(216, 224, 232, .92);--color-legacy-c338: rgba(15, 37, 54, .78);--color-legacy-c339: rgba(96, 113, 130, .12);--color-legacy-c340: rgba(24, 78, 99, .07);--color-legacy-c341: rgba(216, 224, 232, .86);--color-legacy-c342: rgba(16, 43, 63, .1);--color-legacy-c343: rgba(255, 255, 255, .95);--color-legacy-c344: rgba(16, 43, 63, .13);--color-legacy-c345: rgba(227, 107, 61, .82);--color-legacy-c346: rgba(16, 43, 63, .08);--color-legacy-c347: rgba(0, 0, 0, .13);--color-legacy-c348: rgba(17, 48, 73, .22);--color-legacy-c349: rgba(17, 48, 73, .2);--color-legacy-c350: rgba(115, 37, 18, .22);--color-legacy-c351: rgba(217, 154, 43, .16);--color-legacy-c352: rgba(217, 77, 47, .22);--color-legacy-c353: rgba(17, 48, 73, .28);--color-legacy-c354: rgba(217, 154, 43, .22);--color-legacy-c355: rgba(100, 137, 168, .18);--color-legacy-c356: rgba(17, 48, 73, .24);--color-legacy-c357: rgba(255, 255, 255, .96);--color-legacy-c358: rgba(217, 77, 47, .23);--color-legacy-c359: rgba(17, 48, 73, .3);--color-legacy-c360: rgba(255, 255, 255, .98);--color-legacy-c361: rgba(216, 224, 232, .96);--color-legacy-c362: rgba(21, 94, 117, .16);--color-legacy-c363: rgba(24, 78, 99, .24);--color-legacy-c364: rgba(21, 94, 117, .18);--color-legacy-c365: rgba(49, 127, 89, .11);--color-legacy-c366: rgba(21, 94, 117, .13);--color-legacy-c367: rgba(21, 94, 117, .12);--color-legacy-c368: rgba(70, 91, 103, .22);--color-legacy-c369: rgba(21, 94, 117, .22);--color-legacy-c370: rgba(255, 255, 255, .78);--color-legacy-c371: rgba(255, 255, 255, .84);--color-legacy-c372: rgba(16, 43, 63, .15);--color-legacy-c373: rgba(248, 252, 253, .92);--color-legacy-c374: rgba(255, 255, 255, .82);--color-legacy-c375: rgba(50, 208, 214, .1);--color-legacy-c376: rgba(20, 33, 44, .72);--color-legacy-c377: rgba(16, 43, 63, .18);--color-legacy-c378: rgba(248, 252, 253, .74);--color-legacy-c379: rgba(255, 255, 255, .85);--color-legacy-c380: rgba(17, 48, 73, .13);--color-legacy-c381: rgba(255, 255, 255, .75);--color-legacy-c382: rgba(11, 82, 104, .28);--color-legacy-c383: rgba(126, 151, 165, .36);--color-legacy-c384: rgba(126, 151, 165, .28);--color-legacy-c385: rgba(126, 151, 165, .22);--color-legacy-c386: rgba(126, 151, 165, .24);--color-legacy-c387: rgba(13, 33, 49, .18);--color-legacy-c388: rgba(255, 255, 255, .94);--color-legacy-c389: rgba(184, 198, 212, .9);--color-legacy-c390: rgba(22, 45, 61, .13);--color-legacy-c391: rgba(216, 78, 60, .08);--color-legacy-c392: rgba(247, 250, 252, .72);--color-legacy-c393: rgba(15, 72, 91, .08);--color-legacy-c394: rgba(47, 159, 117, .14);--color-legacy-c395: rgba(20, 66, 82, .03);--color-legacy-c396: rgba(20, 101, 125, .14);--color-legacy-c397: rgba(144, 164, 174, .36);--color-legacy-c398: rgba(15, 42, 58, .24);--color-legacy-c399: rgba(144, 164, 174, .22);--color-legacy-c400: rgba(144, 164, 174, .4);--color-legacy-c401: rgba(144, 164, 174, .35);--color-legacy-c402: rgba(11, 82, 104, .2);--color-legacy-c403: rgba(144, 164, 174, .28);--color-legacy-c404: rgba(144, 164, 174, .42);--color-legacy-c405: rgba(11, 82, 104, .18);--color-legacy-c406: #07131b;--color-legacy-c407: #0a1d29;--color-legacy-c408: #0c202c;--color-legacy-c409: #102c39;--color-legacy-c410: #173f52;--color-legacy-c411: #176b55;--color-legacy-c412: #2b7e87;--color-legacy-c413: #72c3c6;--color-legacy-c414: #73c1c5;--color-legacy-c415: #765f2a;--color-legacy-c416: #7796a2;--color-legacy-c417: #78929d;--color-legacy-c418: #7896a1;--color-legacy-c419: #86a2ac;--color-legacy-c420: #88a4ae;--color-legacy-c421: #8b5a21;--color-legacy-c422: #8ca7b1;--color-legacy-c423: #8da9b4;--color-legacy-c424: #8eabb5;--color-legacy-c425: #8fe0d1;--color-legacy-c426: #a3bac4;--color-legacy-c427: #adc2c9;--color-legacy-c428: #b7c6cc;--color-legacy-c429: #c6d5da;--color-legacy-c430: #e6f0f3;--color-legacy-c431: #e6f6ee;--color-legacy-c432: #e8f6ef;--color-legacy-c433: #e9f5f6;--color-legacy-c434: #edf8f8;--color-legacy-c435: #eef2f4;--color-legacy-c436: #eef6f7;--color-legacy-c437: #eef7fa;--color-legacy-c438: #f1f7f8;--color-legacy-c439: #f2b35d;--color-legacy-c440: #f2c16f;--color-legacy-c441: #f2f7f8;--color-legacy-c442: #f3f8f9;--color-legacy-c443: #f4ffff;--color-legacy-c444: #ff9b79;--color-legacy-c445: #fff1d5;--color-legacy-c446: #fff3de;--color-legacy-c447: #fff4df;--color-legacy-c448: rgba(10, 31, 42, .65);--color-legacy-c449: rgba(10, 31, 42, .72);--color-legacy-c450: rgba(10, 32, 45, .2);--color-legacy-c451: rgba(11, 35, 46, .78);--color-legacy-c452: rgba(115, 193, 197, .35);--color-legacy-c453: rgba(14, 39, 50, .82);--color-legacy-c454: rgba(144, 190, 198, .12);--color-legacy-c455: rgba(144, 190, 198, .13);--color-legacy-c456: rgba(144, 190, 198, .14);--color-legacy-c457: rgba(144, 190, 198, .18);--color-legacy-c458: rgba(144, 190, 198, .22);--color-legacy-c459: rgba(151, 202, 210, .045);--color-legacy-c460: rgba(24, 78, 99, .18);--color-legacy-c461: rgba(242, 179, 93, .34);--color-legacy-c462: rgba(6, 23, 33, .72);--color-legacy-c463: rgba(76, 53, 31, .76);--color-legacy-c464: rgba(79, 166, 177, .2);--color-legacy-c465: rgba(8, 26, 36, .56);--color-legacy-c466: rgba(96, 147, 163, .45);--font-family-sans: "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "SimHei", "PingFang SC", "Arial Unicode MS", "DejaVu Sans"}:root{color-scheme:light;font-family:var(--font-family-sans);background:var(--color-panel-bg);color:var(--color-text-primary);--bg: var(--color-panel-bg);--paper: color-mix(in srgb, var(--color-background) 96%, transparent);--surface: var(--color-background);--surface-soft: var(--color-panel-bg);--surface-muted: color-mix(in srgb, var(--color-panel-bg) 88%, var(--color-primary));--ink: var(--color-text-primary);--ink-strong: var(--color-text-primary);--muted: var(--color-text-muted);--muted-strong: var(--color-text-secondary);--line: var(--color-border);--line-strong: var(--color-axis);--accent: var(--color-accent);--accent-soft: color-mix(in srgb, var(--color-accent) 12%, transparent);--accent-strong: var(--color-orange);--teal: var(--color-primary);--teal-soft: color-mix(in srgb, var(--color-primary) 12%, transparent);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-danger);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--control-height: 40px;--panel-pad-x: 18px;--panel-pad-y: 18px;--dashboard-gap: 16px;--overview-section-gap: 14px;--overview-panel-pad: 16px;--overview-card-pad: 12px;--overview-inner-gap: 10px;--chart-height-standard: 320px;--chart-height-tall: 380px;--chart-height-compact: 240px;--chart-height-comparison: 430px;--chart-min-height: 280px;--chart-min-height-calendar: 320px;--shadow-sm: 0 8px 24px color-mix(in srgb, var(--color-text-primary) 6%, transparent);--shadow: 0 18px 46px color-mix(in srgb, var(--color-text-primary) 8%, transparent);--focus-ring: 0 0 0 4px color-mix(in srgb, var(--color-primary) 16%, transparent)}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at 6% 2%,color-mix(in srgb,var(--color-accent) 7%,transparent),transparent 26%),radial-gradient(circle at 96% 0%,color-mix(in srgb,var(--color-primary) 8%,transparent),transparent 24%),linear-gradient(180deg,var(--color-background) 0%,var(--color-panel-bg) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:96px 1fr}.sidebar{padding:28px 22px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 18%,transparent),transparent 32%),linear-gradient(180deg,var(--color-text-primary),var(--color-primary) 100%);color:var(--color-background);position:sticky;top:0;min-height:100vh;height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:24px;overflow:hidden}.sidebar.collapsed{padding-inline:14px}.sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brand-block{display:flex;align-items:center;gap:14px}.brand-copy{min-width:0}.brand-mark{width:18px;height:54px;border-radius:999px;background:linear-gradient(180deg,var(--color-legacy-c000) 0%,var(--color-accent) 100%);box-shadow:0 0 0 8px var(--color-legacy-c205)}.brand-name{font-family:var(--font-family-sans);font-size:32px;line-height:1}.brand-subtitle{margin-top:6px;color:var(--color-legacy-c206);font-size:13px}.sidebar-toggle{width:38px;height:38px;border:1px solid var(--color-legacy-c207);border-radius:var(--radius-sm);background:var(--color-legacy-c205);color:var(--color-legacy-c002);font-size:20px;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.sidebar-toggle:hover{background:var(--color-legacy-c208);border-color:var(--color-legacy-c209)}.nav-group{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overflow-x:clip;padding-right:0}.nav-button{display:flex;align-items:center;width:100%;min-width:0;border:none;background:transparent;color:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:background .18s ease,transform .18s ease,color .18s ease}.nav-button-short{display:none}.nav-button-full{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-button:hover,.nav-button.active{background:var(--color-legacy-c210);transform:translate(3px)}.nav-button.active{color:var(--color-background);box-shadow:inset 3px 0 0 var(--color-legacy-c211)}.sidebar-note{padding:16px;border-radius:var(--radius-md);background:var(--color-legacy-c205);line-height:1.6;border:1px solid var(--color-legacy-c205)}.sidebar-footer{display:flex;flex-direction:column;gap:10px;padding-top:12px;min-width:0}.sidebar-logout{align-self:flex-start;min-height:32px;padding:5px 12px;border-color:var(--color-legacy-c212);background:var(--color-legacy-c205);color:var(--color-legacy-c213);font-size:12px;box-shadow:none}.sidebar-current-user{padding:0 4px;overflow:hidden;color:var(--color-legacy-c214);font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-button-full{display:none}.sidebar.collapsed .nav-button-short{display:inline}.sidebar.collapsed .nav-button{justify-content:center;padding-inline:0}.sidebar.collapsed .sidebar-note{padding:12px 10px}.sidebar-label{display:block;color:var(--color-legacy-c215);font-size:12px;margin-bottom:6px}.main{width:100%;max-width:none;min-width:0;padding:28px 34px 44px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:11px;margin-bottom:10px}.topbar h1{margin:0;font-family:var(--font-family-sans);font-size:clamp(30px,4vw,52px);line-height:.98;color:var(--ink-strong);letter-spacing:-.02em}.topbar-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.status-chip{padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:var(--color-legacy-c004);font-weight:600;font-size:12px}.status-meta{color:var(--muted);font-size:13px}.workspace{display:flex;flex-direction:column;gap:var(--dashboard-gap)}.workspace>*{animation:riseIn .48s ease both}.tab-bar{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-legacy-c216);box-shadow:var(--shadow-sm)}.tab-button{border:1px solid var(--line);background:var(--color-legacy-c217);color:var(--muted-strong);border-radius:999px;min-height:38px;padding:8px 15px;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.tab-button.active,.tab-button:hover{color:var(--color-background);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-legacy-c007) 100%);border-color:var(--color-legacy-c218);box-shadow:0 10px 22px var(--color-legacy-c219)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-legacy-c220);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.filter-bar label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:600}.filter-bar select,.filter-bar input{min-height:var(--control-height);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);font:inherit;font-size:14px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.filter-bar select:focus,.filter-bar input:focus{outline:none;border-color:var(--color-legacy-c221);box-shadow:var(--focus-ring);background:var(--color-background)}.filter-bar.compact{margin-top:12px;padding:10px 12px;box-shadow:none}.long-range-page{display:flex;flex-direction:column;gap:18px}.long-range-filter-bar{display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(210px,1fr) minmax(300px,1.45fr) auto;align-items:end;gap:14px 18px}.filter-bar .long-range-filter-field{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:6px}.long-range-filter-field>span{color:var(--muted);font-size:12px;font-weight:600}.long-range-filter-field small{min-height:16px;color:var(--muted);font-size:12px;line-height:1.35}.long-range-filter-field>select,.long-range-filter-field>input{width:100%}.long-range-metrics-field{min-width:300px}.long-range-metric-chips{display:flex;min-height:var(--control-height);flex-wrap:wrap;align-items:center;gap:6px}.long-range-metric-chip{min-height:32px;padding:5px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--muted-strong);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.long-range-metric-chip:hover,.long-range-metric-chip.active{border-color:var(--color-legacy-c218);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-legacy-c007) 100%);color:var(--color-background)}.long-range-focus-note{display:inline-flex;min-height:var(--control-height);align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--muted-strong);font-size:13px;font-weight:600;white-space:nowrap}.long-range-date-range{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(180px,240px));gap:12px}.long-range-station-field{grid-column:1 / -1}.long-range-station-field select{min-height:120px}.long-range-loading{color:var(--muted);font-size:13px;font-weight:600}.long-range-insight-copy{display:grid;gap:8px;max-width:880px}.long-range-insight-copy p{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;margin:0;color:var(--muted-strong);line-height:1.65}.long-range-insight-copy strong{color:var(--ink)}.chart-long-range-monthly{height:390px}@media (max-width: 1180px){.long-range-filter-bar{grid-template-columns:repeat(2,minmax(220px,1fr))}.long-range-focus-note{justify-self:start}}@media (max-width: 720px){.long-range-filter-bar,.long-range-date-range{grid-template-columns:1fr}.long-range-metrics-field{min-width:0}}.ui-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--panel-pad-y) var(--panel-pad-x)}.ui-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.ui-section-title{margin:0;color:var(--ink-strong);font-size:18px;line-height:1.35}.ui-section-description,.ui-metric-detail{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.ui-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-metric-card{min-width:0;display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.ui-metric-label{color:var(--muted);font-size:13px}.ui-metric-value{color:var(--ink-strong);font-size:clamp(22px,2.4vw,32px);line-height:1.1;font-variant-numeric:tabular-nums}.ui-tone-primary .ui-metric-value,.ui-tone-primary.ui-status-badge{color:var(--color-primary)}.ui-tone-success .ui-metric-value,.ui-tone-success.ui-status-badge{color:var(--success)}.ui-tone-warning .ui-metric-value,.ui-tone-warning.ui-status-badge{color:var(--warning)}.ui-tone-danger .ui-metric-value,.ui-tone-danger.ui-status-badge{color:var(--danger)}.ui-status-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid currentColor;border-radius:999px;background:var(--surface);font-size:12px;font-weight:600;white-space:nowrap}.ui-filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.ui-empty-state{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--muted);text-align:center}.ui-empty-state strong{color:var(--ink-strong)}.ui-empty-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:24px}.ui-empty-action{margin-top:4px}.ui-skeleton{display:block;border-radius:999px;background:linear-gradient(90deg,var(--surface-muted),var(--surface),var(--surface-muted));background-size:220% 100%;animation:ui-skeleton-shimmer 1.4s ease-in-out infinite}.ui-chart-card,.ui-chart-content{min-width:0}@keyframes ui-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@media (max-width: 720px){.ui-panel{padding:14px;border-radius:var(--radius-sm)}.ui-section-header{flex-direction:column}.ui-section-actions{width:100%}.ui-filter-bar>*{flex:1 1 160px}}.compare-control-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.compare-control-grid label,.compare-option-row label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.compare-control-grid select,.compare-control-grid input{min-height:var(--control-height);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);font:inherit;font-size:13px}.compare-option-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.compare-control-title{color:var(--muted);font-size:12px;font-weight:600}.compare-checkbox{flex-direction:row!important;align-items:center;white-space:nowrap}.compare-checkbox input{width:16px;height:16px}.compare-station-picker{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.compare-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.compare-picker-head strong{color:var(--ink);font-size:13px}.compare-picker-head span,.muted-inline{margin-left:8px;color:var(--muted);font-size:12px}.compare-station-chip-grid{max-height:132px;overflow-y:auto;padding-right:4px}.compare-chart{min-height:420px}.compare-footnote{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:var(--muted);font-size:12px}.brief-control-grid{align-items:end}.brief-target-actions{display:flex;align-items:center;gap:12px;min-height:var(--control-height)}.brief-target-actions span{color:var(--muted);font-size:12px}.brief-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.brief-summary-strip div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.brief-summary-strip span{color:var(--muted);font-size:12px}.brief-summary-strip strong{color:var(--ink);font-size:18px}.brief-summary-strip strong.good{color:var(--color-legacy-c008)}.brief-summary-strip strong.warn{color:var(--color-legacy-c009)}.hero,.push-hero{display:grid;grid-template-columns:1.4fr .9fr;gap:22px;min-height:280px;padding:34px;border-radius:30px;background:radial-gradient(circle at top right,var(--color-legacy-c222),transparent 32%),linear-gradient(135deg,var(--color-legacy-c007) 0%,var(--color-legacy-c010) 55%,var(--color-legacy-c011) 100%);color:var(--color-legacy-c012);box-shadow:var(--shadow)}.hero-copy,.push-hero>div:first-child{display:flex;flex-direction:column;justify-content:space-between}.hero-kicker{margin:0 0 14px;color:var(--color-legacy-c223);text-transform:uppercase;letter-spacing:.18em;font-size:11px}.hero h2,.push-hero h2{margin:0;font-family:var(--font-family-sans);font-size:clamp(34px,4.5vw,56px);line-height:.98;max-width:12ch}.hero-summary{max-width:60ch;margin:18px 0 0;color:var(--color-legacy-c224);font-size:15px;line-height:1.75}.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-tags span,.badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:var(--color-legacy-c210);color:var(--color-legacy-c012);font-size:12px;letter-spacing:.02em}.hero-rail{display:flex;flex-direction:column;justify-content:flex-end;gap:14px}.hero-stat{padding:18px 18px 16px;border-radius:var(--radius-lg);background:var(--color-legacy-c205);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-legacy-c205)}.hero-stat span{display:block;font-size:12px;color:var(--color-legacy-c225);margin-bottom:8px}.hero-stat strong{font-size:20px;line-height:1.3}.panel{padding:var(--panel-pad-y) var(--panel-pad-x);border:1px solid var(--color-legacy-c226);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel+.panel{margin-top:2px}.panel-media{overflow:hidden}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--color-legacy-c227)}.section-head h3{margin:0;font-size:20px;line-height:1.2;color:var(--ink-strong);letter-spacing:-.01em}.section-head p{margin:0;max-width:68ch;color:var(--muted);line-height:1.65;font-size:13px}.section-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.layer-list,.station-list,.log-list{display:flex;flex-direction:column;gap:12px}.layer-row,.station-item,.log-item{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.layer-row:last-child,.station-item:last-child,.log-item:last-child{border-bottom:none}.layer-row strong,.station-item strong,.log-item strong{color:var(--ink)}.layer-row span,.station-item span,.log-item span,.log-item p{color:var(--muted);margin:0}.phase-grid,.dual-grid,.push-layout{display:grid;gap:16px}.phase-grid,.dual-grid,.push-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.source-points-stack{display:grid;gap:16px}.source-point-list-panel{min-width:0}.source-point-editor-panel{display:grid;gap:12px}.source-point-form-grid label,.source-form-field{display:flex;flex-direction:column;gap:6px}.source-form-label{display:block;color:var(--muted-strong);font-size:12px;font-weight:800;line-height:1.2}.source-query-actions{align-self:end}.source-list-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--color-legacy-c228)}.source-list-filter-row span{color:var(--muted);font-size:12px;font-weight:800}.source-list-filter-row strong{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:var(--color-background);border:1px solid var(--color-legacy-c229);color:var(--ink);font-size:12px;font-weight:800}.chart-library-board{display:grid;gap:18px}.chart-library-hero .section-head{margin-bottom:0}.chart-library-section{display:grid;gap:14px}.chart-library-category-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-legacy-c230);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chart-library-category-bar a{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 12px;border:1px solid var(--color-legacy-c231);border-radius:999px;background:var(--color-background);color:var(--teal-deep);font-size:12px;font-weight:850;text-decoration:none}.chart-library-category-bar span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--color-legacy-c232);color:var(--muted-strong);font-size:11px}.chart-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.chart-gallery-card{display:flex;flex-direction:column;min-height:352px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-legacy-c013)}.chart-gallery-preview{display:flex;align-items:center;justify-content:center;height:168px;padding:8px;background:var(--color-legacy-c014);border-bottom:1px solid var(--line)}.chart-gallery-preview img{width:100%;height:100%;object-fit:contain;display:block}.chart-gallery-placeholder{width:100%;height:100%;display:grid;place-items:center;border:1px dashed var(--color-legacy-c015);border-radius:var(--radius-sm);color:var(--muted);font-size:13px}.chart-gallery-body{display:grid;gap:7px;padding:12px 12px 0}.chart-gallery-body h4{margin:0;color:var(--ink-strong);font-size:15px;line-height:1.35}.chart-gallery-body p{margin:0;color:var(--muted-strong);font-size:12px;line-height:1.5}.chart-gallery-meta,.chart-gallery-use,.chart-gallery-warning{color:var(--muted);font-size:12px;line-height:1.45}.chart-gallery-warning{color:var(--color-legacy-c016)}.chart-gallery-actions{display:flex;gap:8px;margin-top:auto;padding:12px}.chart-gallery-actions .primary-button{padding:7px 13px;font-size:12px}.text-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.text-template-card{display:flex;flex-direction:column;gap:10px;min-height:260px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-legacy-c013)}.text-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.text-template-head h4{margin:3px 0 0;color:var(--ink-strong);font-size:16px;line-height:1.35}.text-template-head>span{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:var(--color-legacy-c233);color:var(--teal-deep);font-size:12px;font-weight:850}.text-template-card>p{margin:0;color:var(--muted-strong);font-size:13px;line-height:1.65}.text-template-preview{max-height:240px;overflow:auto;margin:0;padding:10px 12px;border:1px solid var(--color-legacy-c234);border-radius:var(--radius-sm);background:var(--color-legacy-c017);color:var(--ink);font:inherit;font-size:12px;line-height:1.75;white-space:pre-wrap}.phase-block{padding:18px;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-legacy-c018) 0%,var(--color-legacy-c019) 100%);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--color-legacy-c235)}.phase-label{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.phase-block h4{margin:10px 0 14px;font-size:22px;line-height:1.2}.flat-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.flat-list li:before{content:"•";color:var(--accent);display:inline-block;margin-right:8px}.metrics-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-panel{padding:16px 17px 15px;border-radius:var(--radius-md);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.metric-panel span{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}.metric-panel strong{display:block;margin:8px 0 10px;font-size:32px;line-height:1;color:var(--ink-strong)}.metric-panel small{color:var(--muted);font-size:12px}.level-warn{border-color:var(--color-legacy-c236);background:linear-gradient(180deg,var(--color-legacy-c237),var(--color-legacy-c238))}.level-attention{border-color:var(--color-legacy-c239)}.chart{width:100%;height:var(--chart-height-standard);min-height:var(--chart-min-height)}.chart-error{height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;border:1px dashed var(--line);border-radius:8px;background:var(--color-legacy-c240)}.chart-tall{height:var(--chart-height-tall)}.chart-calendar{height:var(--chart-height-compact)}.chart-year-calendar{height:var(--chart-height-comparison);min-height:360px}.chart-month-calendar{height:360px;min-height:var(--chart-min-height-calendar)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;overflow:hidden}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{color:var(--muted-strong);font-weight:700;background:var(--surface-muted)}.table tbody tr{transition:background .16s ease}.table tbody tr:hover{background:var(--color-legacy-c241)}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--color-background)}.row-highlight{background:var(--color-legacy-c242)}.analysis-note{padding:16px 18px;border:1px solid var(--color-legacy-c222);border-left:4px solid var(--accent);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-background)8f3 0%,var(--color-background)dfb 100%);color:var(--color-legacy-c022);line-height:1.75;box-shadow:var(--shadow-sm)}.section-head.compact{align-items:center;margin-bottom:12px;padding-bottom:8px}.analysis-meta-panel{padding:16px 18px;border:1px solid var(--color-legacy-c243);border-radius:18px;background:var(--color-background);box-shadow:0 12px 28px var(--color-legacy-c244)}.analysis-meta-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.analysis-meta-header h3{margin:0 0 4px;color:var(--ink-strong);font-size:18px;line-height:1.3}.analysis-meta-header p,.analysis-meta-header small{margin:0;color:var(--muted-strong);line-height:1.55}.analysis-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.analysis-meta-card{min-height:84px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--color-legacy-c012)}.analysis-meta-card span,.analysis-meta-evidence span,.analysis-meta-action span{display:block;margin-bottom:6px;color:var(--muted-strong);font-size:12px;font-weight:700}.analysis-meta-card strong{display:block;color:var(--ink-strong);font-size:20px;line-height:1.2}.analysis-meta-card small{color:var(--muted-strong);line-height:1.5}.analysis-meta-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.analysis-meta-notes span{padding:6px 9px;border:1px solid var(--color-legacy-c245);border-radius:999px;color:var(--muted-strong);background:var(--color-legacy-c023);font-size:12px}.analysis-meta-section{margin-top:16px}.analysis-meta-section h4{margin:0 0 10px;color:var(--ink-strong);font-size:15px}.analysis-meta-evidence-grid,.analysis-meta-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analysis-meta-evidence,.analysis-meta-action{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--color-background)}.analysis-meta-evidence.is-warn,.analysis-meta-action.is-high{border-color:var(--color-legacy-c246);background:var(--color-background)8f4}.analysis-meta-evidence p,.analysis-meta-action p{margin:0;color:var(--ink);line-height:1.65}.analysis-meta-evidence small,.analysis-meta-action small{display:block;margin-top:8px;color:var(--muted-strong);line-height:1.45}.analysis-report-draft{margin-top:16px;border:1px solid var(--color-legacy-c247);border-radius:12px;background:var(--color-legacy-c012)}.analysis-report-draft summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--ink-strong);font-weight:800;cursor:pointer;list-style:none}.analysis-report-draft summary::-webkit-details-marker{display:none}.analysis-report-draft pre{max-height:360px;margin:0;padding:12px;overflow:auto;border-top:1px solid var(--color-legacy-c248);color:var(--ink);font:13px/1.75 Microsoft YaHei,PingFang SC,sans-serif;white-space:pre-wrap;word-break:break-word;background:var(--color-background)}.analysis-overview-panel{display:flex;flex-direction:column;gap:14px}.analysis-overview-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--color-legacy-c249);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c025) 0%,var(--color-background) 100%)}.analysis-overview-hero span,.overview-card span,.overview-insight span,.overview-recommendation span,.overview-action span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:700}.analysis-overview-hero strong{display:block;color:var(--ink-strong);font-size:17px;line-height:1.55}.analysis-overview-hero.level-attention,.analysis-overview-hero.level-watch,.analysis-overview-hero.level-warn,.analysis-overview-hero.level-alert,.overview-card.level-attention,.overview-card.level-warn,.overview-card.level-alert{border-color:var(--color-legacy-c250);background:linear-gradient(180deg,var(--color-background)7f2 0%,var(--color-background) 100%)}.overview-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.overview-card{min-height:112px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-background)}.overview-card strong{display:block;margin-bottom:6px;color:var(--ink-strong);font-size:24px;line-height:1.1}.overview-card small{color:var(--muted-strong);line-height:1.55}.analysis-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--dashboard-gap)}.multidim-finding-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.multidim-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-gap)}.multidim-chart-panel .section-head{min-height:62px}.multidim-chart-panel .section-head .multidim-chart-semantics{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.multidim-chart{height:360px}.multidim-chart.weather-group-chart{height:var(--chart-height-comparison)}.filter-bar label.multidim-range-control{flex:1 1 520px;align-items:center}.datetime-range-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.datetime-range-control>span{color:var(--muted);font-weight:800}.datetime-range-control input{min-width:186px}.overview-insight-list,.overview-recommendation-list,.overview-action-grid{display:grid;gap:10px}.overview-insight,.overview-recommendation,.overview-action{padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.overview-insight p,.overview-recommendation p,.overview-action small{margin:0;color:var(--ink);line-height:1.6}.overview-insight.level-attention,.overview-insight.level-warn,.overview-insight.level-alert,.overview-recommendation.priority-attention,.overview-recommendation.priority-high{border-color:var(--color-legacy-c251);background:var(--color-background)8f3}.overview-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-action{min-height:82px;text-align:left;font:inherit;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.overview-action:hover{border-color:var(--color-legacy-c239);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.overview-dashboard{--overview-section-gap: 14px;--overview-panel-pad: 16px;--overview-card-pad: 12px;--overview-inner-gap: 10px;gap:12px}.overview-headline{padding:var(--overview-panel-pad);border:1px solid var(--color-legacy-c231);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c012) 0%,var(--color-background) 100%)}.overview-judgement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--overview-section-gap);align-items:stretch}.overview-judgement-card{min-width:0;display:flex;flex-direction:column;gap:12px;padding:var(--overview-panel-pad);border:1px solid var(--color-legacy-c234);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c012) 0%,var(--color-background) 100%)}.overview-judgement-card.level-attention,.overview-judgement-card.level-warn,.overview-judgement-card.level-alert{border-color:var(--color-legacy-c252);background:linear-gradient(180deg,var(--color-background)7f2 0%,var(--color-background) 100%)}.overview-headline-copy span,.overview-judgement-card-head span,.overview-metric-item span,.overview-feature-copy span,.overview-weather-grid span,.overview-narrative-item span,.overview-judgement-section span{display:block;color:var(--muted);font-size:12px;font-weight:800}.overview-headline-copy strong{display:block;margin-top:6px;color:var(--ink-strong);font-size:18px;line-height:1.65;white-space:pre-wrap}.overview-ai-panel{background:var(--color-background)}.overview-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.overview-ai-head>div{display:grid;gap:4px}.overview-ai-head span,.overview-ai-status{color:var(--muted);font-size:12px;font-weight:800}.overview-ai-head strong{color:var(--ink-strong);font-size:14px}.overview-judgement-sections{flex:1;display:grid;align-content:start;gap:12px}.overview-judgement-section{min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--color-legacy-c253)}.overview-judgement-section p{margin:6px 0 0;white-space:pre-wrap;color:var(--ink-strong);font-size:16px;line-height:1.65;font-weight:400}.overview-judgement-empty{flex:1;display:flex;align-items:center;color:var(--muted);font-size:15px;line-height:1.6}.overview-ai-status.is-error{color:var(--color-legacy-c027)}.settings-stack{display:grid;gap:16px}.overview-metric-item,.overview-ratio-box,.overview-weather-grid>div{min-width:0;padding:11px var(--overview-card-pad);border:1px solid var(--line);border-radius:8px;background:var(--color-legacy-c217)}.overview-metric-item strong,.overview-ratio-box strong,.overview-weather-grid strong{display:block;margin-top:4px;color:var(--ink-strong);font-size:22px;line-height:1.15;word-break:break-word}.overview-metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--overview-inner-gap)}.overview-metric-item{min-height:88px}.overview-metric-item.level-attention,.overview-metric-item.level-warn,.overview-metric-item.level-alert,.overview-upwind-row.level-attention,.overview-narrative-item.level-attention,.overview-narrative-item.level-warn{border-color:var(--color-legacy-c252);background:var(--color-background)8f3}.overview-metric-item small,.overview-ratio-box small{display:block;margin-top:6px;color:var(--muted-strong);font-size:12px;line-height:1.45}.overview-toolbar-head{gap:14px}.overview-trend-head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.overview-metric-switch{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.overview-metric-switch button{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--color-background);color:var(--ink);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.overview-metric-switch button.is-active{border-color:var(--color-legacy-c254);background:var(--teal);color:var(--color-background)}.overview-micro-toolbar{display:inline-flex;align-items:center;gap:8px}.overview-micro-display-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--color-legacy-c255);border-radius:6px;background:var(--color-legacy-c028)}.overview-micro-display-toggle button{height:28px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:var(--color-legacy-c029);font-size:12px;font-weight:700;cursor:pointer}.overview-micro-display-toggle button.active{background:var(--color-primary);color:var(--color-background)}.overview-minute-link{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border:1px solid var(--color-legacy-c256);border-radius:999px;background:var(--color-background)6ef;color:var(--accent);font-size:12px;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap}.overview-minute-link:hover{border-color:var(--color-legacy-c257);background:var(--color-background)0e5}.overview-trend-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);gap:var(--overview-section-gap);align-items:stretch}.overview-trend-chart{height:390px}.overview-minute-card{display:flex;min-width:0;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--color-legacy-c018)}.overview-minute-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.overview-minute-card-head strong,.overview-minute-card-head span,.overview-minute-card-head small{display:block}.overview-minute-card-head strong{color:var(--ink);font-size:14px}.overview-minute-card-head span,.overview-minute-card-head small{color:var(--muted-strong);font-size:12px}.overview-minute-card-head small{padding:4px 8px;border-radius:999px;background:var(--color-legacy-c258);color:var(--teal);font-weight:800;white-space:nowrap}.overview-minute-chart{min-height:318px;flex:1}.overview-minute-empty{display:grid;min-height:318px;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted-strong);font-size:13px;text-align:center}.overview-trend-panel,.overview-dashboard-grid>.panel,.overview-fixed-panel{overflow:hidden}.overview-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:var(--overview-section-gap);align-items:stretch}.overview-dashboard-grid>.panel{min-width:0;height:100%;padding:var(--overview-panel-pad)}.overview-dashboard-grid .section-head{gap:12px;margin-bottom:12px;padding-bottom:10px}.overview-radar-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:var(--overview-section-gap);align-items:stretch}.overview-radar-chart{height:360px}.overview-feature-copy{display:flex;min-width:0;flex-direction:column;gap:var(--overview-inner-gap);padding:var(--overview-card-pad);border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.overview-feature-copy>strong{color:var(--ink-strong);font-size:24px;line-height:1.2}.overview-feature-copy p,.overview-narrative-item p,.overview-transfer-narrative-content p{margin:0;color:var(--ink);line-height:1.65}.overview-weather-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--overview-inner-gap)}.overview-met-source-toggle{display:inline-flex;flex:0 0 auto;align-items:center;min-height:30px;padding:2px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--color-legacy-c032)}.overview-met-source-toggle button{min-height:24px;padding:3px 8px;border:0;border-radius:3px;background:transparent;color:var(--muted-strong);font-size:11px;white-space:nowrap}.overview-met-source-toggle button.active{background:var(--teal);color:var(--color-background)}.overview-met-source-fallback{display:block;margin-top:3px;color:var(--color-legacy-c033);font-size:11px;line-height:1.4}.overview-weather-summary{margin-top:12px;padding:12px var(--overview-card-pad);border:1px solid var(--color-legacy-c231);border-left:4px solid var(--teal);border-radius:8px;background:var(--surface-soft);color:var(--ink);line-height:1.65}.overview-weather-summary.level-poor,.overview-weather-summary.level-limited{border-color:var(--color-legacy-c252);border-left-color:var(--accent);background:var(--color-background)8f3}.overview-weather-group{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.overview-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.overview-subhead strong{color:var(--ink-strong);font-size:15px}.overview-subhead span{color:var(--muted);font-size:12px}.overview-weather-group-chart{height:500px}.overview-compact-chart{height:320px}.overview-transfer-panel .overview-compact-chart{height:260px}.overview-transfer-panel .overview-weather-group-chart{height:340px}.overview-fixed-panel{grid-column:1 / -1}.overview-fixed-panel .overview-compact-chart{height:380px}.overview-upwind-list,.overview-narrative-list{display:grid;gap:var(--overview-inner-gap);margin-top:12px}.overview-upwind-row{display:grid;grid-template-columns:minmax(96px,1.1fr) repeat(2,minmax(0,1fr));gap:6px 8px;align-items:center;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--color-background);color:var(--ink);font-size:12px}.overview-upwind-row span,.overview-upwind-row strong{min-width:0;overflow-wrap:anywhere}.overview-upwind-row strong{color:var(--ink-strong)}.overview-empty-line{padding:10px var(--overview-card-pad);border:1px dashed var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted)}.overview-narrative-item,.overview-transfer-narrative-content{min-width:0;padding:12px var(--overview-card-pad);border:1px solid var(--line);border-radius:8px;background:var(--color-background)}.overview-narrative-item span{margin-bottom:6px}.pollution-warning-filter{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr))}.warning-risk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.warning-factor-list{display:grid;gap:10px}.warning-factor-list .overview-insight strong{display:block;margin-bottom:5px;color:var(--ink-strong);font-size:18px}.warning-conclusion{margin:0;color:var(--ink);font-size:14px;line-height:1.8}.warning-inline-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.warning-inline-list span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid var(--color-legacy-c246);border-radius:999px;background:var(--color-background)8f3;color:var(--muted-strong);font-size:12px;line-height:1.4}.warning-trend-chart{height:420px}.warning-hourly-comparison-chart{height:var(--chart-height-comparison)}.warning-rank-chart,.warning-o3-daily-chart{height:360px}.warning-rank-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.warning-rank-list span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid var(--color-legacy-c234);border-radius:999px;background:var(--color-legacy-c025);color:var(--muted-strong);font-size:12px;line-height:1.4}.warning-rank-list span.active{border-color:var(--color-legacy-c259);background:var(--color-background)8f3;color:var(--ink-strong);font-weight:700}.diagnosis-summary-panel{padding:18px;border:1px solid var(--color-legacy-c234);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c025) 0%,var(--color-background) 100%);box-shadow:var(--shadow-sm)}.diagnosis-summary{margin:0 0 16px;color:var(--ink);font-size:15px;font-weight:400;line-height:1.7}.diagnosis-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.diagnosis-evidence-grid.source-trace-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.diagnosis-evidence{min-height:106px;padding:13px 14px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background)}.diagnosis-evidence span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:400}.diagnosis-evidence-detail{margin:0;color:var(--ink);font-size:14px;font-weight:400;line-height:1.6}.diagnosis-evidence.is-attention{border-color:var(--color-legacy-c260);background:var(--color-background)8f3}.diagnosis-evidence.is-warn{border-color:var(--color-legacy-c261);background:var(--color-background)6f6}.compact-insight{display:grid;gap:6px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--color-legacy-c262);border-radius:8px;background:var(--color-legacy-c025);color:var(--muted-strong);font-size:12px;line-height:1.55}.analysis-inline-warning{margin-top:12px;padding:10px 12px;border:1px solid var(--color-legacy-c222);border-radius:8px;background:var(--color-background)8f3;color:var(--color-legacy-c022);font-size:12px;line-height:1.6}.emergency-workbench-panel{padding:18px;display:grid;gap:14px}.emergency-redesign{align-content:start}.emergency-page-head{margin-bottom:2px}.analysis-note.compact{padding:10px 12px;border-radius:8px;font-size:13px;box-shadow:none}.analysis-note.danger{border-color:var(--color-legacy-c263);border-left-color:var(--color-legacy-c035);background:var(--color-background)6f6;color:var(--color-legacy-c036)}.emergency-context-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-context-panel div{min-width:0}.emergency-context-panel span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.emergency-context-panel strong{display:block;color:var(--ink-strong);font-size:14px;line-height:1.35}.emergency-context-panel p{grid-column:1 / -1;margin:2px 0 0;color:var(--muted-strong);font-size:13px;line-height:1.55}.emergency-status-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.emergency-status-strip div,.emergency-card{border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-background);box-shadow:var(--shadow-sm)}.emergency-status-strip div{padding:12px 14px}.emergency-status-strip span,.emergency-card-head p,.emergency-upload-row label span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.emergency-status-strip strong{display:block;margin-top:6px;color:var(--ink-strong);font-size:18px;line-height:1.2}.emergency-module{display:grid;gap:14px;padding:16px;border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-background);box-shadow:var(--shadow-sm)}.emergency-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--color-legacy-c262)}.emergency-module-head>div:first-child{min-width:0}.emergency-module-head span:first-child{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;margin-bottom:6px;border-radius:8px;background:var(--color-legacy-c037);color:var(--color-legacy-c038);font-size:12px;font-weight:800}.emergency-module-head h4{margin:0;color:var(--ink-strong);font-size:18px;line-height:1.25}.emergency-module-head h4+p,.emergency-module-head p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.emergency-module-head>strong{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:var(--color-legacy-c037);color:var(--color-legacy-c038);font-size:12px}.emergency-calendar-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;align-items:start}.emergency-date-inspector{display:grid;gap:10px;padding:14px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-date-inspector>span,.emergency-upload-state span{color:var(--muted);font-size:12px;line-height:1.35}.emergency-date-inspector>strong{color:var(--ink-strong);font-size:28px;line-height:1.1}.emergency-date-inspector p{margin:0;color:var(--muted-strong);font-size:13px;line-height:1.55}.emergency-data-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.emergency-data-summary div{min-width:0;padding:9px 10px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background)}.emergency-data-summary span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.emergency-data-summary strong{display:block;margin-top:4px;color:var(--ink-strong);font-size:15px;line-height:1.25}.emergency-upload-row.compact{grid-template-columns:1fr}.emergency-inline-upload{align-items:stretch}.emergency-file-picker{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;align-items:center;padding:10px 12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background)}.emergency-file-picker>span{grid-column:1 / -1;color:var(--muted);font-size:12px;line-height:1.35}.emergency-file-picker strong{min-width:0;color:var(--ink-strong);font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emergency-file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 13px;border:1px solid var(--color-legacy-c264);border-radius:999px;background:var(--color-legacy-c025);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.emergency-file-button:hover{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-legacy-c007) 100%);color:var(--color-background)}.emergency-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.emergency-upload-row.compact label:last-of-type,.emergency-upload-inline label:last-of-type{grid-column:auto}.emergency-upload-inline{grid-template-columns:minmax(150px,.42fr) minmax(260px,1fr) minmax(180px,.58fr);align-items:stretch}.emergency-upload-state{display:grid;align-content:center;min-height:62px;padding:10px 12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-upload-state strong{margin-top:5px;color:var(--ink-strong);font-size:14px;line-height:1.35}.emergency-judgement-layout{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.emergency-report-panel,.emergency-evidence-side{min-width:0;display:grid;gap:10px}.emergency-report-panel{align-content:start}.emergency-report-version-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.emergency-report-version-panel{min-width:0;display:grid;gap:10px;align-content:start;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-report-version-head,.emergency-report-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.emergency-report-version-head>span{color:var(--muted-strong);font-size:12px;font-weight:800;line-height:1.35}.emergency-report-block-grid{display:grid;gap:10px}.emergency-report-block-card{min-width:0;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background)}.emergency-report-block-head strong{color:var(--ink-strong);font-size:14px;line-height:1.35}.emergency-report-block-card p,.emergency-report-placeholder{margin:8px 0 0;color:var(--ink);font-size:15px;line-height:1.82;white-space:pre-wrap}.emergency-report-placeholder{min-height:160px;display:flex;align-items:center;margin:0;padding:12px;border:1px dashed var(--color-legacy-c265);border-radius:8px;background:var(--color-background);color:var(--muted)}.emergency-evidence-side{align-content:start}.emergency-chart-review{gap:16px}.emergency-chart-modules{display:grid;gap:14px}.emergency-chart-module{display:grid;gap:12px;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-chart-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.emergency-chart-module-head h5{margin:0;color:var(--ink-strong);font-size:16px;line-height:1.25}.emergency-chart-module-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.emergency-chart-module-head span,.emergency-chart-empty{flex:0 0 auto;color:var(--muted-strong);font-size:12px}.emergency-chart-empty{padding:16px;border:1px dashed var(--color-legacy-c266);border-radius:8px;background:var(--color-background);text-align:center}.emergency-conclusion-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:12px;padding:14px;border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-legacy-c025)}.emergency-conclusion-panel.is-ready{border-color:var(--color-legacy-c267);background:var(--color-legacy-c039)}.emergency-conclusion-panel span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.emergency-conclusion-panel strong{display:block;margin-top:4px;color:var(--ink-strong);font-size:20px;line-height:1.25}.emergency-conclusion-panel p{margin:8px 0 0;color:var(--muted-strong);font-size:14px;line-height:1.75;white-space:pre-line}.emergency-conclusion-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}.emergency-conclusion-panel li{padding:7px 9px;border-radius:8px;background:var(--color-background);color:var(--muted-strong);font-size:12px;line-height:1.45}.emergency-workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.emergency-workbench-grid.single{grid-template-columns:minmax(0,1fr)}.emergency-workbench-grid.evidence{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.emergency-card{min-width:0;padding:14px}.emergency-card.full{grid-column:1 / -1}.emergency-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-legacy-c229)}.emergency-card-head h4{margin:0 0 4px;color:var(--ink-strong);font-size:17px;line-height:1.25}.emergency-card-head p{margin:0}.emergency-forecast-input,.emergency-report-output{width:100%;border:1px solid var(--color-legacy-c231);border-radius:8px;background:var(--color-legacy-c025);color:var(--ink);font:inherit;resize:vertical}.emergency-forecast-input{min-height:132px;padding:10px 12px;line-height:1.65}.emergency-report-output{min-height:390px;padding:14px;line-height:1.85}.emergency-forecast-list{display:grid;gap:8px;margin-top:12px}.emergency-forecast-list button{display:grid;grid-template-columns:120px 1fr 1fr;gap:10px;align-items:center;width:100%;padding:8px 10px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025);color:var(--muted-strong);font-size:12px;text-align:left;cursor:pointer}.emergency-forecast-list button:hover,.emergency-calendar-grid button:hover{border-color:var(--color-legacy-c268)}.emergency-forecast-list button.is-risk{border-color:var(--color-legacy-c259);background:var(--color-background)8f3}.emergency-upload-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;align-items:end}.emergency-upload-row input,.emergency-upload-row select{width:100%;height:38px;margin-top:5px;padding:7px 10px;border:1px solid var(--color-legacy-c231);border-radius:8px;background:var(--color-legacy-c025);color:var(--ink)}.emergency-upload-row .emergency-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.emergency-upload-row label:last-of-type{grid-column:span 2}.emergency-risk-date-button{height:38px;align-self:end}.emergency-quality-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.emergency-quality-matrix{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.emergency-quality-card{min-width:0;padding:11px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-quality-card.status-ok{border-color:var(--color-legacy-c269);background:var(--color-legacy-c040)}.emergency-quality-card.status-warn{border-color:var(--color-legacy-c252);background:var(--color-background)8f3}.emergency-quality-card.status-missing{border-color:var(--color-legacy-c270);background:var(--color-legacy-c041)}.emergency-quality-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.emergency-quality-card strong{color:var(--ink-strong);font-size:14px;line-height:1.35}.emergency-quality-card span{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:var(--color-legacy-c258);color:var(--muted-strong);font-size:11px;font-weight:800}.emergency-quality-card p{margin:9px 0 0;color:var(--ink);font-size:13px;font-weight:700;line-height:1.45}.emergency-quality-card small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}.emergency-quality-list span,.emergency-pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:var(--color-legacy-c037);color:var(--muted-strong);font-size:12px;line-height:1.2}.emergency-pill{background:var(--color-legacy-c042);color:var(--color-legacy-c038);font-weight:700}.emergency-file-table{max-height:320px;overflow:auto}.emergency-file-table table{width:100%;border-collapse:collapse;font-size:12px}.emergency-file-table th,.emergency-file-table td{padding:9px 10px;border-bottom:1px solid var(--color-legacy-c262);text-align:left;vertical-align:top}.emergency-file-table th{position:sticky;top:0;z-index:1;background:var(--color-legacy-c025);color:var(--muted)}.emergency-update-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end;background:var(--color-legacy-c271)}.emergency-update-drawer{width:min(980px,92vw);height:100%;overflow:auto;padding:22px;background:var(--color-background);box-shadow:-18px 0 40px var(--color-legacy-c272)}.emergency-update-head,.emergency-update-file-row,.emergency-merge-actions,.emergency-update-summary{display:flex;align-items:center;gap:12px}.emergency-update-head{justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--color-legacy-c229)}.emergency-update-head h4{margin:0;color:var(--ink-strong);font-size:20px}.emergency-update-head p,.emergency-update-file-row>span,.emergency-merge-actions p{margin:4px 0 0;color:var(--muted-strong);font-size:13px;line-height:1.5}.emergency-update-head .icon-button{width:32px;height:32px;border:1px solid var(--color-legacy-c265);border-radius:6px;background:var(--color-background);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}.emergency-update-file-row{flex-wrap:wrap;padding:18px 0}.emergency-update-file-row>span{flex:1 1 320px;margin:0}.emergency-update-preview{display:grid;gap:14px;padding-top:2px}.emergency-update-summary{flex-wrap:wrap;padding:12px 14px;border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-legacy-c025);color:var(--muted-strong);font-size:13px}.emergency-update-summary strong{color:var(--ink-strong)}.emergency-conflict-cell{color:var(--color-legacy-c043);font-weight:800}.emergency-merge-actions{flex-wrap:wrap;justify-content:flex-end;padding:14px;border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-legacy-c025)}.emergency-merge-actions label{display:grid;gap:5px;min-width:250px;color:var(--muted-strong);font-size:12px;font-weight:700}.emergency-merge-actions select{min-height:36px;border:1px solid var(--color-legacy-c264);border-radius:6px;background:var(--color-background);color:var(--ink);padding:0 10px}.emergency-merge-actions p{flex:1 1 260px;margin:0}.section-meta.is-stale{background:var(--color-background)2eb;color:var(--color-legacy-c043)}.emergency-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.emergency-evidence-card{min-height:154px;padding:11px;border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-legacy-c025)}.emergency-evidence-card.strength-moderate,.emergency-evidence-card.strength-strong{border-color:var(--color-legacy-c252);background:var(--color-background)8f3}.emergency-evidence-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.emergency-evidence-title strong{color:var(--ink-strong);font-size:14px}.emergency-evidence-title span{min-width:28px;padding:3px 7px;border-radius:999px;background:var(--color-background);color:var(--muted-strong);font-size:12px;text-align:center}.emergency-evidence-card p,.emergency-evidence-card li,.emergency-limit{color:var(--muted-strong);font-size:12px;line-height:1.55}.emergency-evidence-card p{margin:0 0 7px}.emergency-evidence-card ul{margin:0;padding-left:16px}.emergency-limit{margin-top:7px;color:var(--color-legacy-c045)}.emergency-calendar-card,.emergency-history-card{display:grid;gap:12px}.emergency-month-calendar{display:grid;gap:8px;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-month-toolbar{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;align-items:center;gap:8px}.emergency-month-toolbar button{min-height:32px;border:1px solid var(--color-legacy-c231);border-radius:8px;background:var(--color-background);color:var(--muted-strong);cursor:pointer}.emergency-month-toolbar strong{color:var(--ink-strong);font-size:16px;text-align:center}.emergency-month-weekdays,.emergency-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.emergency-month-weekdays span{color:var(--muted);font-size:12px;font-weight:700;text-align:center}.emergency-month-grid button{position:relative;min-height:74px;padding:8px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background);color:var(--ink);text-align:left;cursor:pointer}.emergency-month-grid button.is-outside{opacity:.42}.emergency-month-grid button.is-active{border-color:var(--color-legacy-c273);box-shadow:0 0 0 2px var(--color-legacy-c274)}.emergency-month-grid button.is-current:after{position:absolute;right:7px;top:7px;padding:2px 6px;border-radius:999px;background:var(--color-legacy-c274);color:var(--color-legacy-c046);content:"当前";font-size:11px;font-weight:800;line-height:1.2}.emergency-month-grid button.is-risk{border-color:var(--color-legacy-c275);background:var(--color-background)8f3}.emergency-month-grid button.is-upload:not(.is-risk){border-color:var(--color-legacy-c276);background:var(--color-legacy-c047)}.emergency-month-grid button.is-run{border-color:var(--color-legacy-c277);background:var(--color-background)7ed}.emergency-month-grid button.is-active.is-upload:not(.is-run){border-color:var(--color-legacy-c278);box-shadow:0 0 0 2px var(--color-legacy-c279)}.emergency-month-grid button.is-active.is-run{border-color:var(--color-legacy-c280);box-shadow:0 0 0 2px var(--color-legacy-c281)}.emergency-month-grid strong,.emergency-month-grid span,.emergency-month-grid em{display:block}.emergency-month-grid strong{color:var(--ink-strong);font-size:15px;line-height:1}.emergency-month-grid span{margin-top:8px;color:var(--color-legacy-c038);font-size:12px;font-weight:800}.emergency-month-grid button.is-run span{color:var(--color-legacy-c049)}.emergency-month-grid button.is-upload:not(.is-run) span{color:var(--color-legacy-c050)}.emergency-month-grid em{margin-top:2px;color:var(--muted-strong);font-size:12px;font-style:normal}.emergency-calendar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background)}.emergency-calendar-actions span,.emergency-calendar-actions p{margin:0;color:var(--muted);font-size:12px}.emergency-calendar-actions strong{display:block;margin-top:3px;color:var(--ink-strong);font-size:18px}.emergency-calendar-actions p{margin-top:5px;color:var(--muted-strong)}.emergency-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.emergency-calendar-grid button{min-height:82px;padding:10px;border:1px solid var(--color-legacy-c234);border-radius:8px;background:var(--color-legacy-c025);color:inherit;text-align:left;cursor:pointer}.emergency-calendar-grid button.is-active{border-color:var(--color-legacy-c282);box-shadow:0 0 0 2px var(--color-legacy-c283)}.emergency-calendar-grid button.is-risk{border-color:var(--color-legacy-c259);background:var(--color-background)8f3}.emergency-calendar-grid strong,.emergency-calendar-grid span,.emergency-calendar-grid em{display:block}.emergency-calendar-grid strong{color:var(--ink-strong);font-size:15px}.emergency-calendar-grid span{margin-top:8px;color:var(--color-legacy-c038);font-weight:700}.emergency-calendar-grid em{margin-top:3px;color:var(--muted);font-size:12px;font-style:normal}.emergency-evidence-package{display:grid;gap:12px}.emergency-package-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.emergency-package-summary div{min-width:0;padding:12px;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-package-summary span{display:block;color:var(--muted);font-size:12px}.emergency-package-summary strong{display:block;margin-top:5px;color:var(--ink-strong);font-size:22px;line-height:1.2}.emergency-package-summary p{margin:6px 0 0;color:var(--muted-strong);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.emergency-package-findings{display:flex;flex-wrap:wrap;gap:8px}.emergency-package-findings span{max-width:100%;padding:7px 9px;border-radius:8px;background:var(--color-legacy-c037);color:var(--muted-strong);font-size:12px;line-height:1.45}.emergency-findings-card{grid-column:1 / -1}.emergency-findings-card ul{margin-bottom:0}.emergency-chart-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.emergency-chart-preview-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-background)}.emergency-chart-preview-grid figure div{display:grid;place-items:center;aspect-ratio:16 / 9;background:var(--color-legacy-c025)}.emergency-chart-preview-grid img{width:100%;height:100%;object-fit:contain}.emergency-chart-preview-grid figure span{color:var(--muted);font-size:12px}.emergency-chart-preview-grid figure span.emergency-chart-preview-error{max-width:220px;padding:10px 12px;border:1px solid var(--color-legacy-c284);border-radius:8px;background:var(--color-legacy-c285);color:var(--color-legacy-c051);line-height:1.6;text-align:center}.emergency-chart-preview-grid figcaption{padding:8px 10px;color:var(--ink-strong);font-size:12px;font-weight:700;line-height:1.35}.emergency-workbench-frame-wrap{height:min(820px,76vh);min-height:560px;overflow:hidden;border:1px solid var(--color-legacy-c229);border-radius:8px;background:var(--color-legacy-c025)}.emergency-workbench-frame{display:block;width:100%;height:100%;border:0}.button-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.diagnosis-recovery{min-height:360px;padding:18px;border:1px solid var(--color-legacy-c234);border-radius:var(--radius-md);background:var(--color-background);box-shadow:var(--shadow-sm)}.diagnosis-recovery strong{display:block;margin-bottom:6px;color:var(--ink);font-size:28px;line-height:1.2}.diagnosis-recovery span{display:block;color:var(--muted);font-size:13px;font-weight:700}.diagnosis-recovery p{margin:18px 0 0;color:var(--color-legacy-c052);line-height:1.7}.self-built-layout{align-items:start}.self-built-roster{min-width:760px}.self-built-summary-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:17px 18px;border-radius:var(--radius-lg);background:radial-gradient(circle at top right,var(--color-legacy-c286),transparent 30%),linear-gradient(180deg,var(--color-legacy-c053) 0%,var(--color-legacy-c054) 100%);border:1px solid var(--line)}.self-built-summary-card strong{display:block;font-size:22px;color:var(--ink)}.self-built-summary-card div:last-child{color:var(--muted);font-size:13px;line-height:1.7}.self-built-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:18px}.self-built-grid label,.self-built-textarea{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px;font-weight:600}.self-built-grid input,.self-built-textarea textarea{width:100%;min-height:var(--control-height);padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);font:inherit}.self-built-textarea{margin-top:16px}.self-built-textarea textarea{resize:vertical;min-height:110px}.self-built-switches{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:16px}.self-built-switches label{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-height);padding:8px 13px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);font-size:13px;font-weight:600}.self-built-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.self-built-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.self-built-status.active{background:var(--color-legacy-c287);color:var(--color-legacy-c055)}.self-built-status.paused{background:var(--color-legacy-c288);color:var(--color-legacy-c056)}.push-actions{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:14px}.push-image{width:100%;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--color-background);box-shadow:var(--shadow-sm)}.badge-ready{background:var(--color-legacy-c289);color:var(--color-legacy-c057)}.badge-pending{background:var(--color-legacy-c210)}.markdown-preview{margin:0;min-height:480px;padding:18px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--line);white-space:pre-wrap;line-height:1.75;color:var(--color-legacy-c058);font-family:var(--font-family-sans)}.form-control{display:block;width:100%;min-height:var(--control-height);padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-soft);font:inherit;font-size:14px;line-height:1.45;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.form-control:focus{outline:none;border-color:var(--color-legacy-c290);box-shadow:var(--focus-ring);background:var(--color-background)}textarea.form-control{min-height:220px;resize:vertical;line-height:1.65}.actions-row{display:flex;justify-content:flex-end;margin-top:14px}.settings-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.settings-actions-row span{color:var(--muted);font-size:13px}.button-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:10px 18px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--color-background);font-weight:600;cursor:pointer;box-shadow:0 12px 22px var(--color-legacy-c291);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.primary-button:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 16px 28px var(--color-legacy-c292)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--color-background);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;transition:all .18s ease}.secondary-button:hover,.secondary-button.active,.ghost-button:hover:not(:disabled){color:var(--color-background);border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-legacy-c007) 100%)}.ghost-button:disabled{border-color:var(--color-legacy-c229);background:var(--color-legacy-c059);color:var(--color-legacy-c060)}.subtle-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border:1px solid var(--color-legacy-c229);border-radius:999px;background:var(--color-legacy-c061);color:var(--muted-strong);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all .16s ease}.subtle-button:hover{border-color:var(--color-legacy-c293);background:var(--color-legacy-c062);color:var(--ink-strong)}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.link-button{border:none;background:transparent;color:var(--teal);font:inherit;font-weight:700;cursor:pointer}.link-button.danger{color:var(--color-legacy-c016)}.compact-table table,table.compact-table{width:100%;border-collapse:collapse}.compact-table th,.compact-table td,table.compact-table th,table.compact-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compact-table th,table.compact-table th{color:var(--muted-strong);font-size:12px;background:var(--surface-muted)}.table-subtle{color:var(--muted);font-size:12px;line-height:1.45}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;color:var(--muted-strong);font-size:13px;font-weight:700}.table-pagination .secondary-button{min-height:32px;padding:6px 12px;font-size:13px}.muted-row td{color:var(--muted)}.source-kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.source-kpi-card{min-height:72px;padding:12px 14px;border:1px solid var(--color-legacy-c294);border-radius:8px;background:var(--color-background);box-shadow:0 8px 18px var(--color-legacy-c295)}.source-kpi-card.is-warn{border-color:var(--color-legacy-c296);background:linear-gradient(180deg,var(--color-background)8f3 0%,var(--color-background) 100%)}.source-kpi-card span{display:block;color:var(--muted-strong);font-size:12px;line-height:1.35}.source-kpi-card strong{display:block;margin:5px 0 0;color:var(--ink-strong);font-size:26px;line-height:1.05;letter-spacing:0}.source-workbar{padding:12px 14px}.source-workbar-inner{display:grid;grid-template-columns:minmax(210px,1.45fr) repeat(5,minmax(116px,.75fr));gap:8px;align-items:end}.source-control{display:grid;gap:4px;min-width:0}.source-control span{display:inline-flex;align-items:center;gap:5px;color:var(--muted-strong);font-size:11px;font-weight:800;line-height:1.2}.source-control .form-control{min-height:34px;padding:7px 10px;border-radius:8px;font-size:13px}.source-workbar-actions{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap}.icon-button-text{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 12px;border-radius:999px;line-height:1}.source-status-strip{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;border:1px solid var(--color-legacy-c297);border-left:3px solid var(--accent);border-radius:8px;background:var(--color-background)af6;color:var(--color-legacy-c022);font-size:13px;line-height:1.55}.source-status-strip span{min-width:0}.source-status-strip em{margin-left:auto;color:var(--accent-strong);font-style:normal;font-weight:800}.source-status-strip.is-message{border-color:var(--color-legacy-c245);border-left-color:var(--brand);background:var(--color-legacy-c064);color:var(--ink)}.source-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(296px,.31fr);gap:14px;align-items:stretch}.source-map-main,.source-insight-panel,.source-table-panel{min-width:0}.source-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.source-panel-heading h3{margin:0 0 2px;color:var(--ink-strong);font-size:18px;line-height:1.25}.source-panel-heading p{margin:0;color:var(--muted-strong);font-size:12px;line-height:1.45}.source-count-pill{flex:none;padding:5px 9px;border:1px solid var(--color-legacy-c245);border-radius:999px;color:var(--brand);background:var(--color-legacy-c065);font-size:12px;font-weight:800}.source-map-panel .map-panel-shell,.source-map-panel .amap-canvas{min-height:clamp(450px,52vh,640px)}.source-insight-panel{display:grid;align-content:start;gap:12px}.source-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.source-insight-grid>div{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--color-legacy-c012)}.source-insight-grid span,.source-insight-grid small{display:block;color:var(--muted-strong);font-size:11px;line-height:1.35}.source-insight-grid strong{display:block;margin:3px 0 2px;color:var(--ink-strong);font-size:22px;line-height:1.05}.source-insight-block{padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--color-background)}.source-insight-block h4{display:flex;align-items:center;gap:6px;margin:0 0 9px;color:var(--ink-strong);font-size:14px}.source-chip-list{display:flex;flex-wrap:wrap;gap:7px}.source-chip-list span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--color-legacy-c294);border-radius:999px;background:var(--color-legacy-c064);color:var(--muted-strong);font-size:12px}.source-chip-list strong{color:var(--ink-strong)}.source-mini-list{display:grid;gap:6px}.source-mini-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:30px;padding:6px 8px;border-radius:6px;background:var(--surface-muted)}.source-mini-list span{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.source-mini-list strong{color:var(--ink-strong)}.source-mini-list p{margin:0;color:var(--muted-strong);font-size:12px}.source-table-panel{width:100%}.source-table-heading{align-items:end}.source-section-filters{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(140px,.8fr) minmax(140px,.8fr);gap:8px;min-width:min(560px,100%)}.source-section-filters .form-control{min-height:34px;padding:7px 10px;border-radius:8px;font-size:13px}.source-table-wrap{max-height:520px;overflow:auto}.source-table-wrap th{position:sticky;top:0;z-index:1}.source-risk-badge{display:inline-flex;align-items:center;min-width:64px;justify-content:center;padding:4px 7px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.source-risk-badge.is-open{color:var(--color-legacy-c066);background:var(--color-background)0e9}.source-risk-badge.is-near{color:var(--color-legacy-c068);background:var(--color-legacy-c069)}.source-risk-badge.is-unfinished{color:var(--color-legacy-c070);background:var(--color-background)6dc}.source-risk-badge.is-normal{color:var(--muted-strong);background:var(--color-legacy-c072)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field-block{display:flex;flex-direction:column;gap:8px}.field-block input,.field-block select{width:100%}.chip-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.chip-button{min-width:36px;height:28px;border-radius:999px;border:1px solid var(--line);background:var(--color-background);color:var(--ink);font-size:12px;font-weight:650;cursor:pointer}.chip-button.active{border-color:var(--deep);background:var(--deep);color:var(--color-background)}.dashboard-controls{display:flex;flex-direction:column;gap:var(--dashboard-gap)}.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px}.dashboard-workspace:fullscreen,.dashboard-workspace.is-fullscreen{width:100vw;height:100vh;min-height:100vh;padding:14px 16px 16px;overflow:hidden;background:radial-gradient(circle at 18% 10%,var(--color-legacy-c298),transparent 32%),radial-gradient(circle at 86% 4%,var(--color-legacy-c297),transparent 26%),linear-gradient(145deg,var(--color-legacy-c073) 0%,var(--color-legacy-c074) 46%,var(--color-legacy-c075) 100%);color:var(--color-legacy-c076)}.dashboard-workspace:fullscreen:before,.dashboard-workspace.is-fullscreen:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:linear-gradient(var(--color-legacy-c299) 1px,transparent 1px),linear-gradient(90deg,var(--color-legacy-c300) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,var(--color-legacy-c301),var(--color-legacy-c302));mask-image:linear-gradient(180deg,var(--color-legacy-c301),var(--color-legacy-c302))}.dashboard-workspace:fullscreen .dashboard-toolbar,.dashboard-workspace.is-fullscreen .dashboard-toolbar{position:relative;z-index:30;min-height:58px;padding:8px 12px;border:1px solid var(--color-legacy-c303);border-radius:18px;background:var(--color-legacy-c304);box-shadow:0 18px 42px var(--color-legacy-c305);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-workspace:fullscreen .dashboard-toolbar .sidebar-label,.dashboard-workspace.is-fullscreen .dashboard-toolbar .sidebar-label{color:var(--color-legacy-c306)!important}.dashboard-workspace:fullscreen .dashboard-mode-tabs,.dashboard-workspace.is-fullscreen .dashboard-mode-tabs{background:var(--color-legacy-c205);border-color:var(--color-legacy-c307)}.dashboard-workspace:fullscreen .tab-button,.dashboard-workspace.is-fullscreen .tab-button{color:var(--color-legacy-c306)}.dashboard-workspace:fullscreen .tab-button.active,.dashboard-workspace.is-fullscreen .tab-button.active{color:var(--color-background);background:linear-gradient(135deg,var(--color-legacy-c308),var(--color-legacy-c309))}.dashboard-workspace:fullscreen .secondary-button,.dashboard-workspace.is-fullscreen .secondary-button{border-color:var(--color-legacy-c310);background:var(--color-legacy-c311);color:var(--color-legacy-c076)}.dashboard-workspace:fullscreen .dashboard-stack,.dashboard-workspace.is-fullscreen .dashboard-stack{position:relative;z-index:1;height:calc(100vh - 86px);margin-top:12px;gap:0}.dashboard-workspace:fullscreen .dashboard-metrics,.dashboard-workspace.is-fullscreen .dashboard-metrics{position:absolute;top:14px;left:18px;right:18px;z-index:24;grid-template-columns:repeat(5,minmax(132px,1fr));gap:10px;pointer-events:none}.dashboard-workspace:fullscreen .dashboard-metrics .metric-panel,.dashboard-workspace.is-fullscreen .dashboard-metrics .metric-panel{min-height:72px;border:1px solid var(--color-legacy-c303);background:linear-gradient(180deg,var(--color-legacy-c312),var(--color-legacy-c313));box-shadow:0 18px 38px var(--color-legacy-c305);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-workspace:fullscreen .dashboard-metrics .metric-panel span,.dashboard-workspace.is-fullscreen .dashboard-metrics .metric-panel span,.dashboard-workspace:fullscreen .dashboard-metrics .metric-panel small,.dashboard-workspace.is-fullscreen .dashboard-metrics .metric-panel small{color:var(--color-legacy-c314)}.dashboard-workspace:fullscreen .dashboard-metrics .metric-panel strong,.dashboard-workspace.is-fullscreen .dashboard-metrics .metric-panel strong{color:var(--color-background);text-shadow:0 0 18px var(--color-legacy-c315)}.dashboard-workspace:fullscreen .dashboard-map-panel,.dashboard-workspace.is-fullscreen .dashboard-map-panel{position:relative;height:100%;padding:0;overflow:hidden;border:1px solid var(--color-legacy-c316);border-radius:22px;background:var(--color-legacy-c317);box-shadow:0 24px 64px var(--color-legacy-c318)}.dashboard-workspace:fullscreen .dashboard-map-panel>.section-head,.dashboard-workspace.is-fullscreen .dashboard-map-panel>.section-head{position:absolute;top:108px;left:22px;z-index:23;min-height:0;margin:0;padding:0;border:0;color:var(--color-legacy-c076)}.dashboard-workspace:fullscreen .dashboard-map-panel>.section-head h3,.dashboard-workspace.is-fullscreen .dashboard-map-panel>.section-head h3{color:var(--color-legacy-c076);text-shadow:0 8px 24px var(--color-legacy-c319)}.dashboard-workspace:fullscreen .map-control-strip,.dashboard-workspace.is-fullscreen .map-control-strip{position:absolute;top:102px;left:150px;right:18px;z-index:23;grid-template-columns:minmax(260px,.9fr) auto minmax(330px,1fr);margin:0;padding:10px 12px;border:1px solid var(--color-legacy-c307);border-radius:18px;background:var(--color-legacy-c304);box-shadow:0 18px 42px var(--color-legacy-c320);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-workspace:fullscreen .map-control-label,.dashboard-workspace.is-fullscreen .map-control-label{color:var(--color-legacy-c321)}.dashboard-workspace:fullscreen .map-scope-status strong,.dashboard-workspace:fullscreen .map-scope-status span,.dashboard-workspace.is-fullscreen .map-scope-status strong,.dashboard-workspace.is-fullscreen .map-scope-status span,.dashboard-workspace:fullscreen .map-category-toggle,.dashboard-workspace.is-fullscreen .map-category-toggle,.dashboard-workspace:fullscreen .map-mode-toggle,.dashboard-workspace.is-fullscreen .map-mode-toggle,.dashboard-workspace:fullscreen .form-control,.dashboard-workspace.is-fullscreen .form-control{border-color:var(--color-legacy-c307);background:var(--color-legacy-c322);color:var(--color-legacy-c076)}.dashboard-workspace:fullscreen .map-scope-settings-button,.dashboard-workspace.is-fullscreen .map-scope-settings-button{border-color:var(--color-legacy-c323);background:var(--color-legacy-c324);color:var(--color-legacy-c077)}.dashboard-workspace:fullscreen .map-category-toggle button,.dashboard-workspace.is-fullscreen .map-category-toggle button,.dashboard-workspace:fullscreen .map-mode-toggle button,.dashboard-workspace.is-fullscreen .map-mode-toggle button{color:var(--color-legacy-c314)}.dashboard-workspace:fullscreen .map-category-toggle button.active,.dashboard-workspace.is-fullscreen .map-category-toggle button.active,.dashboard-workspace:fullscreen .map-mode-toggle button.active,.dashboard-workspace.is-fullscreen .map-mode-toggle button.active{background:linear-gradient(135deg,var(--color-legacy-c078),var(--color-legacy-c079));color:var(--color-background)}.dashboard-workspace:fullscreen .map-category-toggle button span,.dashboard-workspace.is-fullscreen .map-category-toggle button span{background:var(--color-legacy-c210);color:var(--color-legacy-c306)}.dashboard-workspace:fullscreen .dashboard-map-panel-wide .map-panel-shell,.dashboard-workspace:fullscreen .dashboard-map-panel-wide .amap-canvas,.dashboard-workspace.is-fullscreen .dashboard-map-panel-wide .map-panel-shell,.dashboard-workspace.is-fullscreen .dashboard-map-panel-wide .amap-canvas{height:100%;min-height:100%;border-radius:22px;border:0}.dashboard-workspace:fullscreen .map-panel-shell,.dashboard-workspace.is-fullscreen .map-panel-shell{background:var(--color-legacy-c073)}.dashboard-workspace:fullscreen .map-timeline-panel,.dashboard-workspace.is-fullscreen .map-timeline-panel{position:absolute;left:22px;right:22px;bottom:20px;z-index:24;border:1px solid var(--color-legacy-c307);background:var(--color-legacy-c325);box-shadow:0 18px 42px var(--color-legacy-c326);color:var(--color-legacy-c076);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-workspace:fullscreen .map-timeline-head span,.dashboard-workspace:fullscreen .map-timeline-scale,.dashboard-workspace.is-fullscreen .map-timeline-head span,.dashboard-workspace.is-fullscreen .map-timeline-scale{color:var(--color-legacy-c327)}.dashboard-workspace:fullscreen .map-time-slider,.dashboard-workspace.is-fullscreen .map-time-slider{accent-color:var(--color-legacy-c080)}.dashboard-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.dashboard-mode-tabs{width:fit-content;padding:5px;border-radius:999px;box-shadow:none;background:var(--color-legacy-c328)}.dashboard-mode-tabs .tab-button{min-height:34px;padding:7px 14px}.dashboard-history-controls{padding:0;border:0;background:transparent;box-shadow:none}.dashboard-filter-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);gap:var(--dashboard-gap);align-items:stretch}.dashboard-filter-grid.single{grid-template-columns:1fr}.dashboard-filter-block{padding:16px;border-radius:var(--radius-md);border:1px solid var(--line);background:linear-gradient(180deg,var(--color-legacy-c018) 0%,var(--color-legacy-c054) 100%)}.dashboard-filter-grid>.dashboard-filter-block{min-height:232px}.dashboard-history-controls .dashboard-filter-block{min-height:0}.dashboard-history-controls .actions-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-wrap:nowrap!important;gap:6px!important;margin-bottom:12px!important}.dashboard-history-controls .actions-row .secondary-button{min-width:0;min-height:30px;padding:3px 6px;border-color:var(--line);border-radius:999px;font-size:12px;white-space:nowrap}.dashboard-history-controls .dashboard-history-quick-ranges{width:100%;min-height:28px;grid-template-columns:repeat(4,max-content);align-items:center;margin-top:10px;margin-bottom:0!important}.dashboard-history-controls .dashboard-history-quick-ranges .secondary-button{width:58px;height:32px;min-height:32px;padding:4px 12px;border-radius:999px;line-height:1}.dashboard-history-met-chart{height:278px}.dashboard-compact-controls{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(180px,.95fr);gap:12px;align-items:end}.dashboard-compact-controls.history-controls{grid-template-columns:minmax(220px,1.15fr) minmax(150px,.75fr) minmax(250px,1.1fr)}.dashboard-metric-multiselect{display:flex;flex-wrap:nowrap;gap:4px;min-height:38px;align-content:center;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}.dashboard-metric-multiselect .dashboard-chip{min-height:28px;padding:3px 7px;font-size:12px}.chart-label-toggle{min-height:28px;padding:3px 9px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--color-background);color:var(--muted-strong);font-size:12px}.chart-label-toggle.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-background)}.dashboard-filter-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--muted-strong);font-size:13px;line-height:1.5}.dashboard-filter-status span{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--color-legacy-c329)}.dashboard-custom-details{margin-top:12px;border-top:1px solid var(--line);color:var(--muted-strong)}.dashboard-custom-details summary{display:flex;align-items:center;min-height:34px;color:var(--teal);font-weight:700;font-size:13px;cursor:pointer;list-style:none}.dashboard-custom-details summary::-webkit-details-marker{display:none}.dashboard-custom-details summary:after{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;margin-left:8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--teal);font-weight:700;line-height:1}.dashboard-custom-details[open] summary:after{content:"-"}.dashboard-custom-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:12px;padding-top:6px}.dashboard-custom-grid>div:last-child{grid-column:1 / -1}.dashboard-mini-title{margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.03em}.dashboard-chip-list{display:flex;flex-wrap:wrap;gap:6px;max-height:92px;overflow:auto;padding:1px 2px 4px 1px}.dashboard-chip-list.is-scrollable{max-height:116px}.dashboard-station-search{width:100%;min-height:32px;margin:-2px 0 8px;font-size:13px}.dashboard-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--color-legacy-c220);color:var(--muted-strong);font-size:13px;line-height:1.2;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.dashboard-chip:hover{border-color:var(--teal);color:var(--teal);box-shadow:var(--shadow-sm)}.dashboard-chip.active{border-color:var(--teal);background:var(--teal);color:var(--color-background);box-shadow:none}.dashboard-custom-actions{margin-top:10px;justify-content:flex-end}.dashboard-stack{display:flex;flex-direction:column;gap:var(--dashboard-gap);min-width:0}.dashboard-stack>.panel+.panel,.dashboard-chart-grid>.panel+.panel{margin-top:0}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-gap);align-items:stretch}.dashboard-history-chart-grid{display:flex;flex-direction:column;grid-template-columns:minmax(0,1fr)}.dashboard-chart-grid>.panel{min-width:0}.dashboard-chart-grid .section-head{min-height:76px;align-items:flex-start}.dashboard-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}.dashboard-history-chart-grid .section-head{min-height:44px;padding-bottom:6px}.dashboard-metrics .metric-panel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:70px;padding:11px 14px;border-radius:var(--radius-md)}.dashboard-metrics .metric-panel:last-child{grid-column:auto}.dashboard-metrics .metric-panel span{align-self:flex-start;font-size:11px;text-align:left}.dashboard-metrics .metric-panel strong{margin:0;font-size:26px;white-space:nowrap}.dashboard-metrics .metric-value-row{display:flex;align-items:baseline;align-self:flex-start;gap:8px;margin-top:3px;min-width:0;text-align:left}.dashboard-metrics .metric-panel .metric-trend{margin:0;white-space:nowrap}.station-summary-wrap{overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--color-background);box-shadow:var(--shadow-sm)}.station-summary-table{min-width:980px}.station-summary-table th{position:sticky;top:0;z-index:1;background:var(--color-legacy-c330)}.dashboard-map-panel-wide{width:100%}.dashboard-map-panel-wide .map-panel-shell,.dashboard-map-panel-wide .amap-canvas{min-height:clamp(680px,66vh,880px)}.dashboard-grid{align-items:stretch}.map-panel-shell{position:relative;min-height:520px;overflow:hidden;border-radius:var(--radius-xl);border:1px solid var(--line);background:linear-gradient(180deg,var(--color-legacy-c331),var(--color-legacy-c332)),linear-gradient(135deg,var(--color-legacy-c333),var(--color-legacy-c242))}.amap-canvas{width:100%;min-height:520px}.map-summary{position:absolute;top:18px;left:18px;z-index:2;width:min(280px,calc(100% - 36px));display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--radius-lg);background:var(--color-legacy-c334);border:1px solid var(--color-legacy-c335);box-shadow:0 16px 36px var(--color-legacy-c336);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-summary strong{font-size:20px;color:var(--ink)}.map-summary>span{color:var(--muted);font-size:13px}.map-summary-eyebrow{color:var(--color-legacy-c081);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.map-legend{display:flex;flex-wrap:wrap;gap:10px 14px;padding-top:2px}.map-legend span{display:inline-flex;align-items:center;gap:8px;color:var(--color-legacy-c082);font-size:12px}.legend-dot{width:10px;height:10px;border-radius:999px;background:var(--color-legacy-c083)}.legend-dot.is-focus{background:var(--color-accent)}.legend-dot.is-good{background:var(--color-legacy-c008)}.legend-dot.is-warn{background:var(--color-legacy-c084)}.legend-dot.is-bad{background:var(--color-legacy-c085)}.map-toplist{display:flex;flex-direction:column;gap:8px}.map-toprow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 12px;border-radius:14px;background:var(--color-legacy-c086);border:1px solid var(--color-legacy-c337)}.map-toprow strong{font-size:14px}.map-toprow span{color:var(--muted);font-size:12px}.map-state{position:absolute;right:18px;bottom:18px;z-index:2;max-width:min(360px,calc(100% - 36px));padding:14px 16px;border-radius:var(--radius-md);background:var(--color-legacy-c338);color:var(--color-legacy-c012);line-height:1.7;font-size:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-metric-control{display:grid;gap:5px;min-width:128px}.map-control-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin:-2px 0 10px;padding:8px 0 10px;border-bottom:1px solid var(--line)}.map-control-label{color:var(--color-text-muted);font-size:11px;font-weight:800;letter-spacing:.02em}.map-control-group,.map-display-mode,.map-data-grain{display:grid;gap:7px}.map-scope-compact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;min-width:0}.map-scope-head{display:flex;align-items:center;gap:8px}.map-scope-status{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;overflow:hidden}.map-scope-status strong,.map-scope-status span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--color-background);color:var(--muted-strong);font-size:12px;font-weight:800;white-space:nowrap}.map-scope-status strong{color:var(--teal)}.map-scope-settings-button{width:fit-content;min-height:26px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--color-legacy-c088);color:var(--teal);font-size:12px;font-weight:800;cursor:pointer}.map-scope-controls{display:grid;grid-column:1 / -1;gap:10px;margin-top:0;padding:0}.map-scope-controls .dashboard-compact-controls{grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr);gap:8px}.map-scope-controls .dashboard-custom-details{margin-top:0}.map-scope-controls .dashboard-custom-grid{margin-top:8px}.map-category-toggle{display:inline-flex;align-items:center;min-height:var(--control-height);padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--color-legacy-c088)}.map-category-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:82px;border:0;border-radius:999px;background:transparent;color:var(--muted-strong);font-weight:700;font-size:13px;cursor:pointer;transition:all .16s ease}.map-category-toggle button span{min-width:22px;padding:1px 6px;border-radius:999px;background:var(--color-legacy-c339);color:var(--color-text-muted);font-size:11px}.map-category-toggle button.active{background:var(--color-background);color:var(--teal);box-shadow:var(--shadow-sm)}.map-category-toggle button.active span{background:var(--color-legacy-c229);color:var(--teal)}.map-display-tools{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:10px}.map-display-tools .map-category-toggle,.map-display-tools .map-mode-toggle{display:inline-flex;align-items:center;height:38px;min-height:38px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--color-legacy-c088)}.map-display-tools .map-category-toggle{gap:2px;margin-right:auto}.map-display-tools .map-category-toggle button,.map-display-tools .map-mode-toggle button{height:32px;min-width:0;padding:0 11px;border:0;border-radius:999px!important;background:transparent;color:var(--muted-strong);font-size:12px;font-weight:600;white-space:nowrap}.map-display-tools .map-category-toggle button.active,.map-display-tools .map-mode-toggle button.active{background:var(--teal);color:var(--color-background);box-shadow:var(--shadow-sm)}.map-display-tools .map-mode-toggle button{min-width:58px;padding:0 10px}.map-display-tools .map-metric-control .form-control{width:104px;padding-left:10px;padding-right:24px}.map-display-tools .map-metric-control{min-width:108px}.map-display-tools .map-tool-button,.map-display-tools .map-fullscreen-button,.map-display-tools .map-metric-control .form-control,.map-display-tools .map-mode-toggle{height:38px;min-height:38px}.map-display-tools .map-tool-button{display:inline-flex;align-items:center;justify-content:center;padding-inline:14px;font-size:13px;line-height:1;white-space:nowrap}.map-display-tools .map-metric-control .form-control{min-width:104px;font-size:13px}.map-fullscreen-button{display:inline-grid;place-items:center;width:38px;min-width:38px;padding:0}.map-fullscreen-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.map-control-strip .map-display-mode,.map-control-strip .map-data-grain,.map-control-strip .map-metric-control{display:flex;align-items:center;gap:8px}.map-panel-settings{display:grid;grid-template-columns:minmax(260px,max-content) minmax(220px,1fr);align-items:end;gap:10px 14px;margin:-2px 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c018) 0%,var(--color-legacy-c086) 100%)}.map-interpolation-settings{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px}.map-mode-toggle{display:inline-flex;min-height:var(--control-height);padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--color-legacy-c088)}.map-mode-toggle button{min-width:104px;border:0;border-radius:999px;background:transparent;color:var(--muted-strong);font-weight:700;font-size:13px;cursor:pointer;transition:all .16s ease}.map-mode-toggle button.active{background:var(--teal);color:var(--color-background);box-shadow:var(--shadow-sm)}.map-selection-status{display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--color-background);color:var(--muted-strong);font-size:13px;font-weight:700}.map-custom-stations{display:grid;gap:10px;margin:-2px 0 14px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c018) 0%,var(--color-legacy-c086) 100%)}.map-custom-actions{display:flex;justify-content:flex-end;gap:8px}.map-custom-actions .secondary-button{min-height:32px;padding:6px 12px;font-size:13px}.map-station-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:8px;max-height:168px;overflow:auto;padding-right:2px}.map-station-check{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--color-background);color:var(--ink);cursor:pointer}.map-station-check input{width:14px;height:14px;accent-color:var(--teal)}.map-station-check span{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-station-check small{grid-column:2;color:var(--muted);font-size:11px}.map-station-check.active{border-color:var(--color-legacy-c290);background:var(--color-legacy-c340)}.map-interpolation-legend{position:absolute;left:18px;bottom:18px;z-index:3;width:210px;padding:12px 13px;border:1px solid var(--color-legacy-c341);border-radius:var(--radius-md);background:var(--color-legacy-c238);box-shadow:0 14px 32px var(--color-legacy-c219);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-interpolation-legend>div:first-child{display:flex;justify-content:space-between;gap:8px;color:var(--ink);font-size:13px}.map-interpolation-legend>div:first-child span,.map-interpolation-legend small{color:var(--muted);font-size:11px}.map-gradient-scale{height:9px;margin:9px 0 5px;border-radius:2px;background:linear-gradient(90deg,var(--color-legacy-c089) 0 16.666%,var(--color-background)f00 16.666% 33.333%,var(--color-legacy-c091) 33.333% 50%,var(--color-legacy-c092) 50% 66.666%,var(--color-legacy-c093) 66.666% 83.333%,var(--color-legacy-c094) 83.333% 100%);box-shadow:0 0 0 1px var(--color-legacy-c336)}.map-legend-values{display:flex;justify-content:space-between;color:var(--muted-strong);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.map-timeline-panel{margin-top:10px;padding:9px 12px 8px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-legacy-c018) 0%,var(--color-legacy-c086) 100%)}.map-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.map-timeline-title{min-width:0}.map-timeline-head strong{display:block;color:var(--ink);font-size:15px}.map-timeline-head span,.map-timeline-scale{color:var(--muted);font-size:12px;line-height:1.25}.map-timeline-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}.map-timeline-range-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:0}.map-timeline-range-controls label{display:inline-flex;align-items:center;gap:6px;color:var(--muted-strong);font-size:12px;font-weight:750}.map-timeline-range-controls input{height:28px;min-width:154px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--color-background);color:var(--ink);font-size:12px}.map-timeline-range-controls button{height:28px;border:1px solid var(--line);border-radius:999px;padding:0 11px;background:var(--color-background);color:var(--teal-deep);font-size:12px;font-weight:850;cursor:pointer}.map-timeline-range-controls button:disabled{cursor:default;opacity:.45}.map-latest-button{min-height:28px;padding:0 11px;font-size:12px;white-space:nowrap}.map-timeline-latest{display:inline;margin-top:0;margin-left:8px;color:var(--muted-strong);font-size:12px;font-weight:700;line-height:1.25}.map-timeline-body{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px}.map-play-button{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--color-legacy-c265);border-radius:999px;background:var(--color-background);color:var(--teal-deep);font-size:13px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 8px 18px var(--color-legacy-c342)}.map-play-button.active{background:var(--teal);color:var(--color-background)}.map-play-button:disabled{cursor:not-allowed;opacity:.55}.map-time-slider{width:100%;accent-color:var(--teal)}.map-time-slider-wrap{position:relative;padding-top:23px}.map-time-slider-value{position:absolute;top:0;transform:translate(-50%);padding:2px 7px;border-radius:var(--radius-xs);background:var(--teal-deep);color:var(--color-background);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.25;pointer-events:none;white-space:nowrap}.metric-panel .metric-trend{display:inline-flex;margin:0 0 0 8px;color:var(--muted);font-size:11px;font-weight:650}.metric-panel strong+.metric-trend{vertical-align:baseline}.timeline-range-field{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px}.timeline-range-field input{width:148px;height:30px;padding:3px 6px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--color-background);color:var(--ink);font-size:11px}.metric-panel .metric-trend.up{color:var(--color-legacy-c095)}.metric-panel .metric-trend.down{color:var(--color-legacy-c096)}.map-timeline-scale{display:grid;gap:4px;margin-top:5px;font-variant-numeric:tabular-nums}.map-timeline-scale span{display:grid;gap:1px;min-width:0;text-align:center;line-height:1.15}.map-timeline-scale span:first-child{text-align:left}.map-timeline-scale span:last-child{text-align:right}.map-timeline-scale strong{color:var(--muted-strong);font-size:11px;font-weight:850}.map-timeline-scale small{color:var(--muted);font-size:10px;font-weight:700}.station-marker{display:inline-flex;align-items:center;gap:7px;min-width:56px;padding:6px 9px;border-radius:999px;background:var(--color-legacy-c343);border:1px solid var(--color-legacy-c337);box-shadow:0 9px 20px var(--color-legacy-c344);white-space:nowrap}.station-marker.is-focus{background:var(--color-legacy-c211);border-color:var(--color-legacy-c345)}.station-marker-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 3px var(--color-legacy-c346)}.station-marker-label{color:var(--ink);min-width:24px;font-size:13px;font-weight:700;line-height:1;text-align:center;font-variant-numeric:tabular-nums}.station-marker.is-focus .station-marker-label{color:var(--color-background)}.station-marker.is-tile{display:inline-flex;flex-direction:column;align-items:center;min-width:0;max-width:none;height:40px;gap:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.station-marker-value,.station-marker-name{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:20px;height:20px;padding:0 6px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.station-marker-value{min-width:28px;background:var(--station-color, var(--color-legacy-c097));color:var(--station-contrast, var(--color-legacy-c098));font-size:15px}.station-marker-name{gap:3px;background:var(--station-color, var(--color-legacy-c097));color:var(--station-contrast, var(--color-legacy-c098));font-size:12px;white-space:nowrap}.station-marker-name i{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;border-radius:1px;background:var(--color-legacy-c347);color:currentColor;font-size:10px;font-style:normal;font-weight:900}.station-marker.is-focus.is-tile{border:0;box-shadow:none}.source-point-marker{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--color-legacy-c343);border-radius:7px;background:var(--source-color, var(--color-legacy-c016));color:var(--color-background);font-size:11px;font-weight:900;line-height:1;box-shadow:0 6px 14px var(--color-legacy-c348);white-space:nowrap}.source-point-marker:after{position:absolute;right:5px;bottom:-5px;left:5px;height:4px;border-radius:999px;background:var(--color-legacy-c349);content:"";filter:blur(1px)}.source-point-marker span{display:inline-flex;align-items:center;justify-content:center}.source-point-icon-wrap{width:15px;height:15px}.source-point-icon{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.source-point-marker i{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border:2px solid var(--color-background);border-radius:999px;background:var(--color-legacy-c099);box-shadow:0 4px 10px var(--color-legacy-c350)}.source-point-marker .source-point-count{position:absolute;right:-7px;bottom:-7px;display:grid;min-width:17px;height:17px;place-items:center;border:2px solid var(--color-background);border-radius:999px;background:var(--source-color);color:var(--color-background);font-size:10px;font-variant-numeric:tabular-nums;line-height:1}.source-point-marker.is-complete{opacity:.55}.source-point-marker.is-unfinished{box-shadow:0 0 0 3px var(--color-legacy-c351),0 6px 14px var(--color-legacy-c349)}.source-point-marker.is-open{box-shadow:0 0 0 3px var(--color-legacy-c352),0 8px 18px var(--color-legacy-c353)}.source-point-marker.has-high-risk:not(.is-open){box-shadow:0 0 0 3px var(--color-legacy-c354),0 8px 18px var(--color-legacy-c353)}.source-point-marker.has-watch-risk:not(.is-open):not(.has-high-risk){box-shadow:0 0 0 3px var(--color-legacy-c355),0 7px 16px var(--color-legacy-c356)}.source-cluster-marker{display:inline-flex;align-items:center;justify-content:center;width:var(--cluster-size, 36px);height:var(--cluster-size, 36px);border:2px solid var(--color-legacy-c357);border-radius:50%;background:var(--cluster-color, var(--color-primary));color:var(--color-background);box-shadow:0 7px 16px var(--color-legacy-c353);font-size:12px;font-variant-numeric:tabular-nums;line-height:1}.source-cluster-marker b{font-weight:800}.source-cluster-marker.has-open-issue{box-shadow:0 0 0 4px var(--color-legacy-c358),0 8px 18px var(--color-legacy-c359)}.source-point-info{min-width:220px;max-width:320px;padding:10px 12px;border-radius:8px;background:var(--color-legacy-c360);border:1px solid var(--line);color:var(--ink);line-height:1.55}.source-point-info strong{display:block;margin-bottom:4px;color:var(--ink-strong)}.source-point-info span{display:block;color:var(--muted-strong);font-size:12px}.station-info-window{width:386px;max-width:calc(100vw - 36px);padding:12px 14px 11px;border:1px solid var(--color-legacy-c361);border-radius:8px;background:var(--color-background);color:var(--color-legacy-c100);line-height:1.35;font-size:13px;box-shadow:0 12px 26px var(--color-legacy-c336)}.station-info-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.station-info-title{display:grid;gap:4px;min-width:0}.station-info-title strong{color:var(--color-legacy-c101);font-size:18px;font-weight:900}.station-info-title span,.station-info-meta-row,.station-info-foot{color:var(--color-legacy-c102);font-size:12px}.station-info-aqi{display:grid;place-items:center;width:58px;min-width:58px;height:58px;border:1px solid var(--color-legacy-c346);border-radius:4px;background:var(--aqi-color, var(--color-legacy-c089));color:var(--aqi-contrast, var(--color-legacy-c098))}.station-info-aqi strong{font-size:24px;line-height:1}.station-info-aqi span{font-size:11px;font-weight:800}.station-info-current{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-legacy-c362)}.station-info-current span{color:var(--color-legacy-c103);font-weight:900}.station-info-current strong{color:var(--color-legacy-c104);font-size:22px;font-variant-numeric:tabular-nums;line-height:1}.station-info-current em{color:var(--color-legacy-c105);font-size:12px;font-style:normal}.station-info-current em:empty{display:none}.station-info-actions{display:flex;justify-content:flex-start;margin:-2px 0 8px}.station-info-minute-button{height:28px;padding:0 12px;border:1px solid var(--color-legacy-c363);border-radius:999px;background:var(--color-background);color:var(--teal-deep);font-size:12px;font-weight:850;cursor:pointer}.station-info-minute-button:hover{border-color:var(--teal);background:var(--color-legacy-c340)}.station-info-minute-button.is-active,.station-info-minute-button:disabled{border-color:var(--color-legacy-c231);background:var(--color-legacy-c258);color:var(--color-legacy-c106);cursor:default}.station-info-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 13px}.station-info-metric{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.station-info-metric:hover span,.station-info-metric.is-active span{color:var(--teal-deep)}.station-info-metric.is-active i{background:var(--color-legacy-c364)}.station-info-metric span{color:var(--color-legacy-c107);font-size:12px;font-weight:900}.station-info-metric strong{justify-self:end;color:var(--color-legacy-c108);font-size:14px;font-variant-numeric:tabular-nums}.station-info-metric i{grid-column:1 / -1;display:block;height:5px;overflow:hidden;border-radius:999px;background:var(--color-legacy-c365)}.station-info-metric b{display:block;height:100%;border-radius:inherit}.station-info-meta-row{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--color-legacy-c366)}.station-info-trend-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px}.station-info-trend-head strong{color:var(--color-legacy-c101);font-size:15px;font-weight:900}.station-info-trend-head span{color:var(--color-legacy-c106);font-size:12px;font-weight:800}.station-info-trend-bars{display:grid;grid-template-columns:repeat(24,minmax(4px,1fr));align-items:end;gap:3px;height:92px;margin-top:7px;padding:10px 3px 0;background:linear-gradient(to top,var(--color-legacy-c367) 1px,transparent 1px) 0 100% / 100% 33.33%,var(--color-background)}.station-info-trend-bars.is-minute{grid-template-columns:repeat(36,minmax(3px,1fr));gap:2px}.station-info-bar{display:flex;align-items:flex-end;height:100%;min-width:0}.station-info-bar i{width:100%;min-height:3px;border-radius:999px 999px 2px 2px}.station-info-bar.is-empty i{height:4px;background:var(--color-legacy-c368)}.station-info-axis{display:flex;justify-content:space-between;padding-top:4px;color:var(--color-legacy-c109);font-size:11px;font-variant-numeric:tabular-nums}.station-info-empty{display:grid;place-items:center;height:70px;margin-top:8px;border:1px dashed var(--color-legacy-c369);border-radius:6px;color:var(--color-legacy-c110);background:var(--color-legacy-c212)}.station-info-foot{margin-top:8px;text-align:right}.bigscreen-brand-panel,.bigscreen-status-card,.bigscreen-service-bar{display:none}.dashboard-workspace:fullscreen,.dashboard-workspace.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:block;width:100vw;height:100vh;min-height:100vh;padding:0;overflow:hidden;background:var(--color-legacy-c111);color:var(--color-legacy-c112)}.dashboard-workspace:fullscreen:before,.dashboard-workspace.is-fullscreen:before{display:none}.dashboard-workspace:fullscreen .dashboard-toolbar,.dashboard-workspace.is-fullscreen .dashboard-toolbar{position:absolute;top:14px;right:14px;z-index:70;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.dashboard-workspace:fullscreen .dashboard-mode-tabs,.dashboard-workspace.is-fullscreen .dashboard-mode-tabs{display:none}.dashboard-workspace:fullscreen .dashboard-head-actions,.dashboard-workspace.is-fullscreen .dashboard-head-actions{gap:9px}.dashboard-workspace:fullscreen .dashboard-head-actions .sidebar-label,.dashboard-workspace.is-fullscreen .dashboard-head-actions .sidebar-label{min-height:38px;padding:0 13px;border-radius:999px;background:var(--color-legacy-c370);color:var(--color-legacy-c113)!important;box-shadow:0 10px 26px var(--color-legacy-c219);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-workspace:fullscreen .secondary-button,.dashboard-workspace.is-fullscreen .secondary-button{min-height:38px;border:1px solid var(--color-legacy-c216);background:var(--color-legacy-c371);color:var(--color-primary);box-shadow:0 10px 26px var(--color-legacy-c219);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-workspace:fullscreen .secondary-button:hover,.dashboard-workspace.is-fullscreen .secondary-button:hover{color:var(--color-background);background:var(--color-legacy-c114)}.dashboard-workspace:fullscreen .dashboard-stack,.dashboard-workspace.is-fullscreen .dashboard-stack{position:relative;z-index:1;display:block;height:100vh;margin:0;gap:0}.dashboard-workspace:fullscreen .dashboard-metrics,.dashboard-workspace.is-fullscreen .dashboard-metrics{display:none}.dashboard-workspace:fullscreen .dashboard-map-panel,.dashboard-workspace.is-fullscreen .dashboard-map-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;padding:0;overflow:hidden;border:0;border-radius:0;background:var(--color-legacy-c111);box-shadow:none}.dashboard-workspace:fullscreen .dashboard-stack>.panel:not(.dashboard-map-panel),.dashboard-workspace.is-fullscreen .dashboard-stack>.panel:not(.dashboard-map-panel),.dashboard-workspace:fullscreen .dashboard-chart-grid,.dashboard-workspace.is-fullscreen .dashboard-chart-grid{display:none}.dashboard-workspace:fullscreen .dashboard-map-panel>.section-head,.dashboard-workspace.is-fullscreen .dashboard-map-panel>.section-head,.dashboard-workspace:fullscreen .map-control-strip,.dashboard-workspace.is-fullscreen .map-control-strip,.dashboard-workspace:fullscreen .map-panel-settings,.dashboard-workspace.is-fullscreen .map-panel-settings,.dashboard-workspace:fullscreen .map-custom-stations,.dashboard-workspace.is-fullscreen .map-custom-stations{display:none}.dashboard-workspace:fullscreen .dashboard-map-panel-wide .map-panel-shell,.dashboard-workspace:fullscreen .dashboard-map-panel-wide .amap-canvas,.dashboard-workspace.is-fullscreen .dashboard-map-panel-wide .map-panel-shell,.dashboard-workspace.is-fullscreen .dashboard-map-panel-wide .amap-canvas{width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0}.dashboard-workspace:fullscreen .map-panel-shell,.dashboard-workspace.is-fullscreen .map-panel-shell{background:var(--color-legacy-c111)}.dashboard-workspace:fullscreen .bigscreen-brand-panel,.dashboard-workspace.is-fullscreen .bigscreen-brand-panel,.dashboard-workspace:fullscreen .bigscreen-status-card,.dashboard-workspace.is-fullscreen .bigscreen-status-card,.dashboard-workspace:fullscreen .bigscreen-service-bar,.dashboard-workspace.is-fullscreen .bigscreen-service-bar{display:flex}.bigscreen-brand-panel{position:absolute;top:14px;left:16px;z-index:60;align-items:center;gap:12px;width:392px;min-height:58px;padding:9px 12px;border:1px solid var(--color-legacy-c253);border-radius:8px;background:var(--color-legacy-c220);box-shadow:0 12px 28px var(--color-legacy-c372);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bigscreen-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--color-legacy-c115) 0%,var(--color-legacy-c116) 100%);color:var(--color-background);font-size:23px;font-weight:900}.bigscreen-brand-copy{display:grid;gap:2px}.bigscreen-brand-copy strong{color:var(--color-legacy-c117);font-size:20px;line-height:1}.bigscreen-brand-copy span{color:var(--color-text-muted);font-size:11px;font-weight:800}.bigscreen-search{margin-left:auto;min-width:150px;padding:9px 13px;border:1px solid var(--color-legacy-c231);border-radius:999px;background:var(--color-legacy-c373);color:var(--color-legacy-c118);font-size:13px}.bigscreen-status-card{position:absolute;top:84px;left:16px;z-index:60;width:392px;flex-direction:column;gap:10px;padding:16px 14px 10px;border:1px solid var(--color-legacy-c253);border-radius:8px;background:var(--color-legacy-c374);box-shadow:0 14px 32px var(--color-legacy-c372);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bigscreen-status-main{display:flex;align-items:flex-end;gap:13px}.bigscreen-status-main strong{color:var(--color-legacy-c119);font-size:42px;line-height:.92;font-weight:800;font-variant-numeric:tabular-nums}.bigscreen-status-main div{display:grid;gap:3px;padding-bottom:2px}.bigscreen-status-main span,.bigscreen-current-metric span{color:var(--color-legacy-c120);font-size:13px;font-weight:900}.bigscreen-status-main b{color:var(--color-legacy-c121);font-size:15px}.bigscreen-meta-row{display:flex;flex-wrap:wrap;gap:7px 12px;color:var(--color-legacy-c122);font-size:13px;font-weight:750}.bigscreen-reason-line{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:8px;padding:8px 9px;border-left:3px solid var(--color-legacy-c123);border-radius:5px;background:var(--color-legacy-c375)}.bigscreen-reason-line span{color:var(--color-legacy-c124);font-size:12px;font-weight:900;line-height:1.45;white-space:nowrap}.bigscreen-reason-line strong{display:-webkit-box;overflow:hidden;color:var(--color-legacy-c121);font-size:12px;font-weight:850;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.bigscreen-current-metric{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;padding-top:2px}.bigscreen-current-metric strong{color:var(--color-legacy-c112);font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}.bigscreen-current-metric em{justify-self:end;color:var(--color-legacy-c125);font-size:12px;font-style:normal}.bigscreen-pollutant-tabs{display:flex;align-items:center;gap:0;margin:2px -8px -4px;padding-top:8px;border-top:1px solid var(--color-legacy-c229)}.bigscreen-pollutant-tabs button{min-height:34px;padding:0 11px;border:0;border-radius:5px;background:transparent;color:var(--color-legacy-c126);font-size:14px;font-weight:850;cursor:pointer}.bigscreen-pollutant-tabs button.active{background:var(--color-legacy-c123);color:var(--color-background)}.bigscreen-service-bar{position:absolute;top:16px;right:210px;left:424px;z-index:60;align-items:center;flex-wrap:wrap;gap:8px;padding:6px;border-radius:14px;background:var(--color-legacy-c376);box-shadow:0 12px 30px var(--color-legacy-c377);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bigscreen-service-bar span,.bigscreen-service-bar button{min-height:32px;border:0;border-radius:999px;color:var(--color-legacy-c127);font-size:13px;font-weight:850}.bigscreen-service-bar span{display:inline-flex;align-items:center;padding:0 12px;background:var(--color-legacy-c311)}.bigscreen-service-bar button{padding:0 11px;background:var(--color-legacy-c311);cursor:pointer}.bigscreen-service-bar button.active{background:var(--color-legacy-c123);color:var(--color-legacy-c128)}.bigscreen-data-panel{position:absolute;top:382px;left:16px;z-index:61;display:grid;gap:10px;width:392px;padding:13px 14px;border:1px solid var(--color-legacy-c253);border-radius:8px;background:var(--color-legacy-c374);box-shadow:0 14px 32px var(--color-legacy-c372);color:var(--color-legacy-c121);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bigscreen-data-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--color-legacy-c229)}.bigscreen-data-panel-head strong{font-size:17px;font-weight:900}.bigscreen-data-panel-head span,.bigscreen-data-panel p,.bigscreen-data-panel small{color:var(--color-text-muted);font-size:12px;line-height:1.5}.bigscreen-data-panel p{margin:0}.bigscreen-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bigscreen-data-grid div{display:grid;gap:4px;min-height:54px;padding:8px 9px;border:1px solid var(--color-legacy-c232);border-radius:6px;background:var(--color-legacy-c378)}.bigscreen-data-grid span{color:var(--color-legacy-c129);font-size:11px;font-weight:850}.bigscreen-data-grid strong{color:var(--color-text-primary);font-size:15px;font-weight:900}.bigscreen-legend-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bigscreen-legend-rows span{display:inline-flex;align-items:center;gap:6px;color:var(--color-legacy-c121);font-size:12px;font-weight:850}.bigscreen-legend-rows i{width:18px;height:10px;border-radius:2px;box-shadow:0 0 0 1px var(--color-legacy-c342)}.wind-flow-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;pointer-events:none;mix-blend-mode:multiply;opacity:.82}.map-aqi-legend{position:absolute;left:18px;bottom:44px;z-index:4;display:grid;grid-template-columns:6px auto;grid-template-rows:auto repeat(6,18px);align-items:center;gap:0 7px;padding:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.map-aqi-legend strong{grid-column:1 / -1;margin-bottom:4px}.map-aqi-legend strong,.map-aqi-legend span{color:var(--color-legacy-c121);font-size:12px;font-weight:850;line-height:18px;text-shadow:0 1px 2px var(--color-legacy-c379)}.map-aqi-legend i{grid-row:2 / span 6;width:6px;height:108px;border-radius:0;background:linear-gradient(180deg,var(--color-legacy-c089) 0 16.666%,var(--color-background)f00 16.666% 33.333%,var(--color-legacy-c091) 33.333% 50%,var(--color-legacy-c092) 50% 66.666%,var(--color-legacy-c093) 66.666% 83.333%,var(--color-legacy-c094) 83.333% 100%);box-shadow:0 0 0 1px var(--color-legacy-c336)}.map-source-legend{position:absolute;left:16px;bottom:16px;z-index:5;display:flex;flex-wrap:wrap;gap:6px;width:min(470px,calc(100% - 32px));padding:8px;border:1px solid var(--color-legacy-c216);border-radius:8px;background:var(--color-legacy-c220);box-shadow:0 10px 22px var(--color-legacy-c380);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-source-legend span,.map-source-legend em,.map-source-legend b{display:inline-flex;align-items:center;gap:5px;color:var(--color-legacy-c121);font-size:12px;font-style:normal;font-weight:800;line-height:1.2}.map-source-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;box-shadow:0 0 0 1px var(--color-legacy-c243)}.map-source-legend em i{border-radius:999px;background:var(--color-legacy-c099)}.map-source-legend b i{border-radius:999px;background:var(--color-legacy-c121);box-shadow:inset 0 0 0 2px var(--color-legacy-c374)}.dashboard-workspace:fullscreen .map-aqi-legend,.dashboard-workspace.is-fullscreen .map-aqi-legend,.dashboard-workspace:fullscreen .map-source-legend,.dashboard-workspace.is-fullscreen .map-source-legend{display:none}.dashboard-workspace:fullscreen .map-timeline-panel,.dashboard-workspace.is-fullscreen .map-timeline-panel{position:absolute;left:16px;right:16px;bottom:14px;z-index:62;margin:0;padding:8px 10px 6px;border:1px solid var(--color-legacy-c253);border-radius:8px;background:var(--color-legacy-c370);box-shadow:0 12px 28px var(--color-legacy-c344);color:var(--color-legacy-c121);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-workspace:fullscreen .map-timeline-head,.dashboard-workspace.is-fullscreen .map-timeline-head{position:absolute;top:-26px;left:50%;transform:translate(-50%);margin-bottom:2px}.dashboard-workspace:fullscreen .map-timeline-head strong,.dashboard-workspace.is-fullscreen .map-timeline-head strong{display:none}.dashboard-workspace:fullscreen .map-timeline-title,.dashboard-workspace.is-fullscreen .map-timeline-title{padding:3px 10px;border-radius:4px;background:var(--color-legacy-c123);box-shadow:0 8px 18px var(--color-legacy-c336)}.dashboard-workspace:fullscreen .map-timeline-actions,.dashboard-workspace.is-fullscreen .map-timeline-actions{display:none}.dashboard-workspace:fullscreen .map-timeline-head span,.dashboard-workspace:fullscreen .map-timeline-scale,.dashboard-workspace.is-fullscreen .map-timeline-head span,.dashboard-workspace.is-fullscreen .map-timeline-scale{color:var(--color-legacy-c131);font-size:11px}.dashboard-workspace:fullscreen .map-timeline-head span,.dashboard-workspace.is-fullscreen .map-timeline-head span{color:var(--color-background);font-weight:850}.dashboard-workspace:fullscreen .map-timeline-range-controls,.dashboard-workspace.is-fullscreen .map-timeline-range-controls{margin:0 0 6px 40px;gap:6px}.dashboard-workspace:fullscreen .map-timeline-range-controls label,.dashboard-workspace.is-fullscreen .map-timeline-range-controls label{color:var(--color-legacy-c132);font-size:11px}.dashboard-workspace:fullscreen .map-timeline-range-controls input,.dashboard-workspace.is-fullscreen .map-timeline-range-controls input{width:146px;min-width:146px;height:24px;border-color:var(--color-legacy-c231);background:var(--color-legacy-c217);font-size:11px}.dashboard-workspace:fullscreen .map-timeline-range-controls button,.dashboard-workspace.is-fullscreen .map-timeline-range-controls button{height:24px;padding:0 9px;font-size:11px}.dashboard-workspace:fullscreen .map-timeline-latest,.dashboard-workspace.is-fullscreen .map-timeline-latest{display:none}.dashboard-workspace:fullscreen .map-latest-button,.dashboard-workspace.is-fullscreen .map-latest-button{display:none}.dashboard-workspace:fullscreen .map-timeline-body,.dashboard-workspace.is-fullscreen .map-timeline-body{grid-template-columns:30px minmax(0,1fr);gap:10px}.dashboard-workspace:fullscreen .map-play-button,.dashboard-workspace.is-fullscreen .map-play-button{width:28px;height:28px;border-color:var(--color-legacy-c381);background:var(--color-legacy-c220);box-shadow:0 8px 18px var(--color-legacy-c336)}.dashboard-workspace:fullscreen .map-play-button.active,.dashboard-workspace.is-fullscreen .map-play-button.active{background:var(--color-legacy-c123);color:var(--color-legacy-c128)}.dashboard-workspace:fullscreen .map-time-slider,.dashboard-workspace.is-fullscreen .map-time-slider{height:4px;accent-color:var(--color-legacy-c114)}.dashboard-workspace:fullscreen .map-timeline-scale,.dashboard-workspace.is-fullscreen .map-timeline-scale{margin-top:2px}.dashboard-workspace:fullscreen .map-timeline-scale strong,.dashboard-workspace.is-fullscreen .map-timeline-scale strong{color:var(--color-legacy-c132);font-size:10px}.dashboard-workspace:fullscreen .map-timeline-scale small,.dashboard-workspace.is-fullscreen .map-timeline-scale small{color:var(--color-legacy-c131);font-size:9px}.database-query-grid{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(170px,1fr));gap:12px}.database-actions{justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap}.database-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--dashboard-gap);align-items:start}.database-table-wrap{overflow:auto;max-height:640px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-background)}.database-table{min-width:1200px;font-size:13px}.database-table th{position:sticky;top:0;z-index:1}.database-table td{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.database-edit-panel{padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-legacy-c018) 0%,var(--color-legacy-c086) 100%)}.database-row-preview{display:grid;gap:8px;margin-bottom:14px}.database-row-preview div{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--color-background)}.database-row-preview span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.database-row-preview strong{color:var(--ink);font-size:13px;word-break:break-all}.database-edit-form{display:grid;gap:12px}.reviewed-import-panel{display:grid;gap:14px}.reviewed-import-controls{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:12px}.reviewed-file-picker input[type=file]{min-height:40px;padding:7px 10px}.reviewed-file-list{min-height:40px;display:flex;flex-wrap:wrap;align-content:center;gap:6px;padding:8px 10px;border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted);font-size:12px}.reviewed-file-list span{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 8px;background:var(--color-legacy-c133);color:var(--color-legacy-c134)}.reviewed-import-message{margin:0}.reviewed-import-table{min-width:960px}.reviewed-merge-row{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) auto;align-items:end;gap:14px;border-top:1px solid var(--line);padding-top:14px}.reviewed-merge-row p{margin:0 0 9px;color:var(--muted);font-size:12px;line-height:1.6}@media (max-width: 720px){.map-panel-shell,.amap-canvas{min-height:440px}.map-summary{width:calc(100% - 32px)}.map-metric-control{width:100%}.map-control-strip,.map-panel-settings,.map-scope-controls .dashboard-compact-controls,.map-scope-controls .dashboard-custom-grid{grid-template-columns:1fr;min-width:0}.map-control-strip{align-items:stretch}.map-scope-compact{grid-template-columns:1fr}.map-scope-status,.map-display-tools{flex-wrap:wrap}.map-display-tools{justify-content:flex-start}.map-control-strip .map-display-mode,.map-control-strip .map-data-grain,.map-control-strip .map-metric-control{width:100%;justify-content:space-between}.map-interpolation-settings{justify-content:flex-start}.map-mode-toggle,.map-category-toggle,.map-selection-status{width:100%}.map-category-toggle button,.map-mode-toggle button{min-width:0;flex:1}.map-custom-actions{justify-content:flex-start}.map-interpolation-legend{left:14px;bottom:14px;width:min(210px,calc(100% - 28px))}.map-toprow{grid-template-columns:1fr}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1400px){.source-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.source-workbar-inner{grid-template-columns:repeat(4,minmax(0,1fr))}.source-workbar-actions{justify-content:flex-start}.source-map-layout{grid-template-columns:1fr}.source-section-filters{min-width:0}}@media (max-width: 720px){.source-kpi-strip,.source-workbar-inner,.source-insight-grid,.source-section-filters{grid-template-columns:1fr}.source-table-heading{align-items:stretch;flex-direction:column}}.vertical-met-page{display:grid;gap:14px;min-width:0}.vertical-met-toolbar,.vertical-met-chart-card,.vertical-met-summary,.vertical-met-grid>.panel{min-width:0}.vertical-met-source-badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:28px;padding:0 12px;border:1px solid var(--color-legacy-c382);border-radius:6px;background:var(--color-legacy-c135);color:var(--color-legacy-c136);font-size:12px;font-weight:800}.vertical-met-controls{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(210px,1.25fr) minmax(130px,.7fr) auto;gap:10px;align-items:end}.vertical-met-controls label{display:grid;gap:5px;min-width:0;color:var(--color-legacy-c137);font-size:12px;font-weight:700}.vertical-met-controls select{width:100%;height:36px;padding:0 10px;border:1px solid var(--color-legacy-c383);border-radius:6px;background:var(--color-legacy-c041);color:var(--color-legacy-c138);font:inherit}.vertical-met-controls .secondary-button{height:36px;white-space:nowrap}.vertical-met-inline-message,.vertical-met-warning{margin-top:10px;padding:9px 11px;border-left:3px solid var(--color-warning);background:var(--color-legacy-c140);color:var(--color-legacy-c141);font-size:12px;line-height:1.6}.vertical-met-empty{min-height:180px;display:grid;align-content:center;justify-items:center;text-align:center}.vertical-met-empty h3,.vertical-met-empty p{margin:4px 0}.vertical-met-summary{display:grid;gap:12px}.vertical-met-summary-copy{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-left:3px solid var(--color-legacy-c142);background:var(--color-background)8f4}.vertical-met-summary-copy span{color:var(--color-legacy-c143);font-size:12px;font-weight:800}.vertical-met-summary-copy strong{color:var(--color-legacy-c144);font-size:14px;line-height:1.75}.vertical-met-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.vertical-met-kpis>div{min-width:0;padding:10px 11px;border:1px solid var(--color-legacy-c384);border-radius:6px;background:var(--color-legacy-c041)}.vertical-met-kpis span,.vertical-met-kpis strong{display:block}.vertical-met-kpis span{margin-bottom:5px;color:var(--color-legacy-c145);font-size:11px}.vertical-met-kpis strong{color:var(--color-legacy-c138);font-size:17px;line-height:1.2}.vertical-met-grid{display:grid;gap:14px;min-width:0}.vertical-met-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-met-grid.corridor-evidence{grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr)}.vertical-met-chart{height:360px}.vertical-met-heatmap{height:430px}.vertical-met-coupling{height:340px}.vertical-met-lidar-chart{height:330px}.vertical-met-lidar-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.vertical-met-lidar-status>div{min-width:0;padding:10px 12px;border:1px solid var(--color-legacy-c146);border-radius:6px;background:var(--color-legacy-c147)}.vertical-met-lidar-status span,.vertical-met-lidar-status strong{display:block}.vertical-met-lidar-status span{margin-bottom:4px;color:var(--color-legacy-c145);font-size:11px}.vertical-met-lidar-status strong{overflow-wrap:anywhere;color:var(--color-legacy-c138);font-size:14px}.vertical-met-lidar-empty{display:grid;min-height:180px;place-items:center;border:1px dashed var(--color-legacy-c148);color:var(--color-legacy-c145);text-align:center}.vertical-met-lidar-note{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--color-legacy-c149);background:var(--color-legacy-c150);color:var(--color-legacy-c029);font-size:12px;line-height:1.65}.vertical-met-lidar-note.compact{margin-bottom:0;padding:8px 10px;font-size:11px}.vertical-met-lidar-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.vertical-met-lidar-insight{min-width:0;padding:12px;border:1px solid var(--color-legacy-c146);border-radius:6px;background:var(--color-legacy-c005)}.vertical-met-lidar-insight h4{margin:0 0 3px;color:var(--color-legacy-c144);font-size:14px}.vertical-met-lidar-insight .section-head p{margin:0;color:var(--color-legacy-c152);font-size:11px;line-height:1.5}.vertical-met-lidar-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vertical-met-lidar-feature-grid>div{min-width:0;padding:9px;border:1px solid var(--color-legacy-c385);border-radius:5px}.vertical-met-lidar-feature-grid span,.vertical-met-lidar-feature-grid strong,.vertical-met-lidar-feature-grid small{display:block}.vertical-met-lidar-feature-grid span{color:var(--color-legacy-c145);font-size:11px}.vertical-met-lidar-feature-grid strong{margin-top:5px;color:var(--color-legacy-c138);font-size:16px}.vertical-met-lidar-feature-grid small{margin-top:4px;color:var(--color-legacy-c152);font-size:10px;line-height:1.4}.vertical-met-lidar-empty.compact{min-height:90px;padding:12px;font-size:12px}.vertical-met-lidar-source-candidates{display:grid;gap:4px;margin-top:10px;padding:9px 10px;border-left:3px solid var(--color-legacy-c139);background:var(--color-legacy-c140);color:var(--color-legacy-c137);font-size:11px;line-height:1.45}.vertical-met-lidar-source-candidates strong{color:var(--color-legacy-c415)}.vertical-met-lidar-conclusion{margin:10px 0 0;padding:10px 11px;border-left:4px solid var(--color-legacy-c149);background:var(--color-legacy-c437);color:var(--color-legacy-c410);font-size:13px;font-weight:700;line-height:1.65}.vertical-met-lidar-wind-summary{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;color:var(--color-legacy-c137);font-size:11px}.radar-command-center{position:relative;display:grid;gap:16px;overflow:hidden;padding:24px;border:1px solid var(--color-legacy-c466);border-radius:22px;background:radial-gradient(circle at 82% 8%,var(--color-legacy-c464),transparent 28%),linear-gradient(135deg,var(--color-legacy-c407) 0%,var(--color-legacy-c409) 55%,var(--color-legacy-c408) 100%);color:var(--color-legacy-c430);box-shadow:0 18px 45px var(--color-legacy-c450)}.radar-command-center:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--color-legacy-c459) 1px,transparent 1px),linear-gradient(90deg,var(--color-legacy-c459) 1px,transparent 1px);background-size:32px 32px;content:"";pointer-events:none}.radar-command-center>*{position:relative;z-index:1}.radar-command-header,.radar-chart-head,.radar-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.radar-command-kicker,.radar-chart-index{color:var(--color-legacy-c414);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.radar-command-header h2{margin:7px 0 5px;color:var(--color-legacy-c442);font-size:clamp(23px,3vw,34px);letter-spacing:-.03em}.radar-command-header p,.radar-chart-head p,.radar-detail-head p{margin:0;color:var(--color-legacy-c426);font-size:12px;line-height:1.55}.radar-command-status{display:grid;min-width:112px;padding:11px 13px;border:1px solid var(--color-legacy-c452);border-radius:12px;background:var(--color-legacy-c449);text-align:right}.radar-command-status span{color:var(--color-legacy-c424);font-size:10px;letter-spacing:.12em}.radar-command-status strong{margin-top:4px;color:var(--color-legacy-c425);font-size:16px}.radar-command-status.watch strong{color:var(--color-legacy-c440)}.radar-command-status.attention strong{color:var(--color-legacy-c444)}.radar-command-status.insufficient strong{color:var(--color-legacy-c428)}.radar-command-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.radar-command-metrics>div{min-width:0;padding:12px 13px;border:1px solid var(--color-legacy-c457);border-radius:12px;background:var(--color-legacy-c465)}.radar-command-metrics span,.radar-command-metrics strong,.radar-command-metrics small{display:block}.radar-command-metrics span{color:var(--color-legacy-c423);font-size:10px}.radar-command-metrics strong{margin:6px 0 4px;overflow:hidden;color:var(--color-legacy-c441);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.radar-command-metrics small{overflow:hidden;color:var(--color-legacy-c420);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.radar-command-conclusion{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;padding:17px 18px;border:1px solid var(--color-legacy-c461);border-radius:15px;background:linear-gradient(105deg,var(--color-legacy-c463),var(--color-legacy-c453))}.radar-conclusion-mark{color:var(--color-legacy-c439);font-size:11px;font-weight:850;letter-spacing:.14em;padding-top:3px}.radar-conclusion-main>strong{display:block;color:var(--color-legacy-c446);font-size:15px;line-height:1.7}.radar-conclusion-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}.radar-conclusion-split span{display:grid;gap:4px;color:var(--color-legacy-c427);font-size:11px;line-height:1.5}.radar-conclusion-split b{color:var(--color-legacy-c413);font-size:10px;letter-spacing:.1em}.radar-command-charts,.radar-command-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.radar-chart-panel,.radar-detail-panel{min-width:0;padding:15px;border:1px solid var(--color-legacy-c457);border-radius:15px;background:var(--color-legacy-c462)}.radar-chart-panel h3,.radar-detail-panel h3{margin:4px 0 3px;color:var(--color-legacy-c436);font-size:15px}.radar-chart-head>strong,.radar-detail-head>strong{color:var(--color-legacy-c439);font-size:11px;white-space:nowrap}.radar-command-chart{height:286px;margin-top:7px}.radar-command-toggle{display:inline-flex;flex:0 0 auto;gap:2px;padding:3px;border:1px solid var(--color-legacy-c458);border-radius:8px;background:var(--color-legacy-c451)}.radar-command-toggle button{height:25px;padding:0 8px;border:0;border-radius:5px;background:transparent;color:var(--color-legacy-c422);font-size:10px;cursor:pointer}.radar-command-toggle button.active{background:var(--color-legacy-c412);color:var(--color-legacy-c443)}.radar-detail-grid{min-width:0}.radar-detail-head{padding-bottom:10px;border-bottom:1px solid var(--color-legacy-c456)}.radar-table-wrap{overflow-x:auto;margin-top:8px}.radar-table-wrap table{width:100%;border-collapse:collapse;color:var(--color-legacy-c429);font-size:11px}.radar-table-wrap th,.radar-table-wrap td{padding:8px 6px;border-bottom:1px solid var(--color-legacy-c454);text-align:left;white-space:nowrap}.radar-table-wrap th{color:var(--color-legacy-c416);font-size:10px;font-weight:650}.radar-table-wrap td b{color:var(--color-legacy-c439)}.radar-table-wrap td small{display:block;margin-top:2px;color:var(--color-legacy-c417);font-size:9px}.radar-wind-readout,.radar-vf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.radar-wind-readout>div,.radar-vf-grid>div{padding:9px;border:1px solid var(--color-legacy-c455);border-radius:9px;background:var(--color-legacy-c448)}.radar-wind-readout span,.radar-wind-readout b,.radar-vf-grid span,.radar-vf-grid b,.radar-vf-grid small{display:block}.radar-wind-readout span,.radar-vf-grid span{color:var(--color-legacy-c418);font-size:10px}.radar-wind-readout b{margin-top:5px;color:var(--color-legacy-c433);font-size:15px}.radar-vf-grid b{margin-top:5px;color:var(--color-legacy-c439);font-size:16px}.radar-vf-grid small{margin-top:3px;color:var(--color-legacy-c420);font-size:9px}.radar-empty{display:grid;min-height:130px;place-items:center;color:var(--color-legacy-c419);font-size:12px}.radar-empty.compact{min-height:88px}.vertical-met-metric-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px;padding:3px;border:1px solid var(--color-legacy-c255);border-radius:6px;background:var(--color-legacy-c028)}.vertical-met-metric-toggle button{min-width:42px;height:28px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:var(--color-legacy-c145);font-size:12px;font-weight:700;line-height:28px;cursor:pointer}.vertical-met-metric-toggle button:hover{color:var(--color-primary);background:var(--color-legacy-c151)}.vertical-met-metric-toggle button.active{background:var(--color-primary);color:var(--color-background);box-shadow:none}.vertical-met-grid .table-scroll{max-width:100%;overflow-x:auto}.vertical-met-grid table{width:100%;border-collapse:collapse;font-size:12px}.vertical-met-grid th,.vertical-met-grid td{padding:9px 8px;border-bottom:1px solid var(--color-legacy-c385);text-align:left;vertical-align:top;white-space:nowrap}.vertical-met-grid td:first-child{white-space:normal}.vertical-met-grid td small{display:block;margin-top:3px;color:var(--color-legacy-c152)}.vertical-met-evidence-list,.vertical-met-actions{display:grid;gap:8px}.vertical-met-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-legacy-c386)}.vertical-met-evidence,.vertical-met-actions>div{display:grid;gap:4px;padding:10px 11px;border:1px solid var(--color-legacy-c384);border-radius:6px;background:var(--color-legacy-c041)}.vertical-met-evidence.推断{border-left:3px solid var(--color-legacy-c153)}.vertical-met-evidence.限制{border-left:3px solid var(--color-warning)}.vertical-met-evidence span,.vertical-met-actions span{color:var(--color-legacy-c145);font-size:11px}.vertical-met-evidence p,.vertical-met-actions p{margin:0;color:var(--color-legacy-c137);font-size:12px;line-height:1.6}@media (max-width: 1280px){.vertical-met-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.vertical-met-controls .secondary-button{grid-column:1 / -1;justify-self:end}.vertical-met-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.vertical-met-grid.corridor-evidence{grid-template-columns:1fr}}@media (max-width: 860px){.vertical-met-controls,.vertical-met-grid.two-column,.vertical-met-kpis,.vertical-met-lidar-insights,.radar-command-charts,.radar-command-detail-grid,.vertical-met-summary-copy{grid-template-columns:1fr}.vertical-met-chart,.vertical-met-heatmap,.vertical-met-coupling,.vertical-met-lidar-chart{height:320px}.vertical-met-lidar-status{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-met-lidar-feature-grid{grid-template-columns:1fr}.radar-command-center{padding:17px;border-radius:16px}.radar-command-header,.radar-chart-head,.radar-detail-head{flex-direction:column}.radar-command-status{width:100%;text-align:left}.radar-command-metrics,.radar-conclusion-split{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-command-conclusion{grid-template-columns:1fr;gap:8px}.radar-command-chart{height:250px}.radar-command-toggle,.vertical-met-metric-toggle{align-self:flex-start}}@media (max-width: 1200px){.metrics-strip,.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;min-height:auto;overflow:visible}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-button-full{display:inline}.sidebar.collapsed .nav-button-short{display:none}.topbar,.hero,.push-hero,.dual-grid,.push-layout,.compare-control-grid,.analysis-overview-grid,.overview-judgement-grid,.overview-headline,.overview-dashboard-grid,.overview-radar-layout,.overview-card-grid,.overview-action-grid,.warning-risk-grid,.analysis-meta-grid,.analysis-meta-evidence-grid,.analysis-meta-action-grid,.pollution-warning-filter,.multidim-finding-grid,.multidim-chart-grid,.form-grid,.dashboard-chart-grid,.dashboard-filter-grid,.dashboard-compact-controls,.dashboard-custom-grid,.database-query-grid,.database-layout,.emergency-calendar-layout,.emergency-upload-inline,.emergency-judgement-layout,.emergency-report-version-grid,.emergency-quality-matrix,.emergency-evidence-grid,.emergency-chart-preview-grid{grid-template-columns:1fr}.emergency-module-head{align-items:stretch;flex-direction:column}.emergency-module-head .button-row{justify-content:flex-start}.chart-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-toolbar{align-items:stretch;flex-direction:column}.dashboard-mode-tabs{width:100%}.dashboard-head-actions{justify-content:flex-start}.topbar-side,.push-actions{align-items:flex-start;position:static}.diagnosis-evidence-grid,.diagnosis-evidence-grid.source-trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-headline{grid-template-columns:1fr}.overview-judgement-card{min-height:auto;max-height:none}.overview-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.main{padding:20px 16px 32px;width:100%}.sidebar{padding:20px 16px}.phase-grid,.metrics-strip,.multidim-finding-grid,.dashboard-metrics,.overview-metric-strip,.overview-weather-grid{grid-template-columns:1fr}.overview-toolbar-head{align-items:stretch;flex-direction:column}.overview-met-source-toggle{align-self:flex-start}.overview-trend-head-actions,.overview-metric-switch{justify-content:flex-start}.overview-micro-toolbar{flex-wrap:wrap;justify-content:flex-start}.overview-trend-grid,.overview-upwind-row,.self-built-grid,.diagnosis-evidence-grid{grid-template-columns:1fr}.self-built-summary-card{flex-direction:column}.layer-row,.station-item,.log-item{grid-template-columns:1fr}.dashboard-chart-grid .section-head{min-height:0}.dashboard-filter-status,.dashboard-custom-actions{justify-content:flex-start}.dashboard-chip-list,.dashboard-chip-list.is-scrollable{max-height:150px}.dashboard-map-panel-wide .map-panel-shell,.dashboard-map-panel-wide .amap-canvas{min-height:520px}.compare-option-row,.compare-picker-head,.compare-footnote,.brief-target-actions{align-items:flex-start;flex-direction:column}.brief-summary-strip{grid-template-columns:1fr}.analysis-overview-hero{align-items:flex-start;flex-direction:column}}@media (max-width: 860px){.app-shell,.app-shell.sidebar-collapsed{display:block;min-height:100dvh}.sidebar,.sidebar.collapsed{position:sticky;top:0;z-index:80;height:auto;min-height:0;display:grid;grid-template-rows:auto auto;gap:10px;padding:12px 14px 10px;overflow:visible;box-shadow:0 12px 28px var(--color-legacy-c387)}.sidebar-header{align-items:center}.brand-block{gap:10px}.brand-mark{width:12px;height:34px;box-shadow:0 0 0 5px var(--color-legacy-c205)}.brand-name{font-size:24px}.brand-subtitle,.sidebar-toggle,.sidebar-footer{display:none}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-button-full{display:inline}.sidebar.collapsed .nav-button-short,.nav-button-short{display:none}.nav-group{flex-direction:row;gap:8px;min-height:0;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-group::-webkit-scrollbar,.tab-bar::-webkit-scrollbar,.overview-metric-switch::-webkit-scrollbar{display:none}.nav-button,.sidebar.collapsed .nav-button{flex:0 0 auto;justify-content:center;width:auto;min-width:78px;min-height:38px;padding:9px 13px;border-radius:999px;background:var(--color-legacy-c205);scroll-snap-align:start;text-align:center}.nav-button:hover,.nav-button.active{transform:none}.nav-button.active{background:var(--color-legacy-c331);box-shadow:inset 0 -3px 0 var(--color-legacy-c211)}.main{padding:18px 14px 32px}.topbar{margin-bottom:14px}.topbar h1{font-size:34px}.eyebrow{margin-bottom:6px;font-size:10px}.topbar-side{align-items:flex-start}.tab-bar,.dashboard-mode-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:6px;border-radius:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tab-button{flex:0 0 auto;min-height:34px;padding:7px 12px;font-size:13px;white-space:nowrap}.section-head,.section-head.compact,.emergency-chart-module-head,.overview-minute-card-head{align-items:flex-start;flex-direction:column}.panel{padding:16px;border-radius:18px}.chart,.compare-chart,.overview-trend-chart,.overview-minute-chart,.overview-compact-chart,.overview-weather-group-chart,.overview-radar-chart,.multidim-chart,.dashboard-chart{min-height:280px}.overview-trend-chart{height:340px}.overview-minute-chart,.overview-minute-empty,.overview-transfer-panel .overview-compact-chart,.overview-transfer-panel .overview-weather-group-chart{min-height:260px;height:300px}.overview-radar-chart{height:300px}.overview-metric-switch{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.overview-metric-switch button,.overview-minute-link{flex:0 0 auto}.emergency-report-version-grid,.emergency-quality-matrix,.emergency-chart-preview-grid,.emergency-upload-inline,.emergency-conclusion-panel{grid-template-columns:1fr}.emergency-month-grid button{min-height:60px}}@media (max-width: 560px){.main{padding:14px 10px 28px}.sidebar,.sidebar.collapsed{padding:10px 10px 8px}.brand-name{font-size:21px}.brand-mark{height:30px}.nav-group{gap:6px}.nav-button,.sidebar.collapsed .nav-button{min-width:66px;min-height:34px;padding:8px 11px;font-size:13px}.topbar{gap:8px}.topbar h1{font-size:30px}.status-chip,.status-meta{font-size:12px}.panel{padding:14px 12px;border-radius:16px}.section-head h3{font-size:18px}.overview-judgement-section p,.emergency-report-block-card p,.emergency-report-placeholder{font-size:14px;line-height:1.75}.overview-metric-strip,.emergency-data-summary{grid-template-columns:1fr}.overview-metric-item strong,.overview-ratio-box strong,.overview-weather-grid strong{font-size:20px}.overview-trend-chart,.overview-fixed-panel .overview-compact-chart{height:320px}.overview-minute-chart,.overview-minute-empty,.overview-transfer-panel .overview-compact-chart,.overview-transfer-panel .overview-weather-group-chart,.overview-weather-group-chart,.overview-radar-chart{height:280px}.emergency-month-grid{gap:5px}.emergency-month-grid button{min-height:54px;padding:7px 6px}.emergency-month-grid strong{font-size:13px}.emergency-month-grid span,.emergency-month-grid em{font-size:11px}.emergency-date-inspector>strong{font-size:24px}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at top left,var(--color-legacy-c265),transparent 32%),linear-gradient(180deg,var(--color-legacy-c154) 0%,var(--color-legacy-c155) 100%)}.login-card{width:min(460px,100%);background:var(--color-legacy-c388);border:1px solid var(--color-legacy-c389);border-radius:var(--radius-xl);padding:28px;box-shadow:0 22px 54px var(--color-legacy-c390)}.login-note{margin:10px 0 0;color:var(--color-text-secondary);line-height:1.7}.login-form{display:grid;gap:16px;margin-top:20px}.login-button{width:100%;justify-content:center}.login-error{margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--color-legacy-c391);color:var(--color-legacy-c157);font-size:13px}.station-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.station-chip{padding:5px 10px;border-radius:999px;border:1px solid var(--color-legacy-c158);background:var(--color-background);color:var(--color-legacy-c159);cursor:pointer;font-size:12px;transition:all .18s ease}.station-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background)}.alert-chart-group-list{display:grid;gap:10px;margin-top:8px}.alert-chart-group{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--color-legacy-c392)}.alert-chart-group-title{color:var(--muted-strong);font-size:12px;font-weight:700;line-height:28px;white-space:nowrap}.alert-chart-chip-grid{margin-top:0}.alert-settings-page{display:grid;gap:16px}.alert-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}.alert-status{color:var(--muted-strong);font-size:13px}.alert-profile-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:14px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--line)}.alert-profile-summary{display:grid;gap:3px;min-height:92px;padding:12px 14px;background:var(--color-legacy-c013)}.alert-profile-summary strong{color:var(--ink);font-size:14px}.alert-profile-summary span{color:var(--brand);font-size:12px;font-weight:700}.alert-profile-summary small,.alert-config-hint{color:var(--muted);font-size:12px;line-height:1.45}.alert-config-hint{margin:10px 0 0}.alert-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.alert-task-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.alert-task-list{display:grid;gap:8px}.alert-task-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--color-legacy-c088);color:var(--ink);cursor:pointer;padding:10px 12px;text-align:left}.alert-task-card.active{border-color:var(--brand);background:var(--brand);color:var(--color-background)}.alert-task-card strong,.alert-task-card span{display:block}.alert-task-card strong{font-size:14px;margin-bottom:4px}.alert-task-card span{font-size:12px;opacity:.78}.alert-task-editor{border:1px solid var(--line);border-radius:var(--radius);background:var(--color-background);padding:14px}.alert-task-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:12px}.alert-task-profile-note{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-top:12px;padding:9px 10px;border-left:3px solid var(--brand);background:var(--color-legacy-c160);color:var(--muted-strong);font-size:12px;line-height:1.45}.alert-task-profile-note strong{color:var(--brand)}.alert-rule-chip-grid{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.alert-rule-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--color-background);box-shadow:var(--shadow-soft);padding:16px}.alert-rule-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.alert-rule-card-head h4{margin:0;color:var(--ink);font-size:16px}.alert-rule-card-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.alert-switch{display:inline-flex;align-items:center;gap:6px;color:var(--muted-strong);font-size:13px;font-weight:700;white-space:nowrap}.alert-rule-body{padding-top:12px}.alert-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.alert-number-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.alert-number-field span{color:var(--muted);font-size:12px}.alert-metric-table{table-layout:fixed}.alert-metric-table input[type=number]{width:100%;min-width:0;padding:7px 8px}.alert-log-table td{font-size:12px;line-height:1.45}.alert-workbench{display:grid;gap:16px}.empty-alert-workbench{align-items:center;display:flex;justify-content:space-between;min-height:148px;padding:22px}.empty-alert-workbench h3,.empty-alert-workbench p{margin:0}.empty-alert-workbench p{color:var(--muted);font-size:13px;margin-top:6px}.alert-workbench-head,.alert-workbench-actions,.alert-rule-form-head,.alert-task-list-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.alert-workbench-head h3,.alert-workbench-head p{margin:0}.alert-workbench-head p,.alert-rule-editor .section-head p,.alert-action-editor .section-head p{color:var(--muted);font-size:12px;margin-top:4px}.alert-workbench-grid{align-items:start;display:grid;gap:14px;grid-template-columns:250px minmax(0,1fr) 278px}.alert-task-list{display:grid;gap:8px;padding:13px}.alert-task-list .section-head p{color:var(--muted);font-size:12px;margin:3px 0 0}.alert-task-item{background:var(--color-legacy-c013);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;display:grid;gap:4px;padding:11px 12px 10px 21px;position:relative;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.alert-task-item.active{background:var(--color-legacy-c161);border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand),0 4px 12px var(--color-legacy-c393)}.alert-task-item:hover{border-color:color-mix(in srgb,var(--brand) 52%,var(--line))}.alert-task-status{background:var(--color-legacy-c162);border-radius:50%;height:7px;left:10px;position:absolute;top:15px;width:7px}.alert-task-item.active .alert-task-status{background:var(--color-legacy-c163);box-shadow:0 0 0 3px var(--color-legacy-c394)}.alert-task-item strong{font-size:13px}.alert-task-item span,.alert-task-item small{color:var(--muted);font-size:12px}.alert-task-item em{color:var(--muted-strong);font-size:11px;font-style:normal;font-weight:700}.alert-task-list-actions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;margin-top:4px;padding-top:10px}.alert-task-list-actions .danger-button{grid-column:1 / -1}.alert-rule-editor,.alert-action-editor{border-top:3px solid var(--brand);padding:14px}.alert-task-fields{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.alert-task-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.alert-task-fields label,.alert-action-editor>label{color:var(--muted-strong);display:grid;font-size:12px;font-weight:700;gap:5px}.alert-task-fields input,.alert-task-fields select,.alert-action-editor select{min-width:0;width:100%}.alert-rule-rail{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:7px;margin:14px 0;padding:12px 0}.alert-rule-chip{align-items:center;background:var(--color-legacy-c164);border:1px solid var(--line);border-radius:5px;color:var(--muted-strong);cursor:pointer;display:inline-flex;font-size:12px;line-height:1;padding:6px 9px}.alert-rule-chip.active,.alert-rule-chip.active:hover,.alert-rule-chip.active:focus-visible{background:var(--color-legacy-c165)!important;border-color:var(--color-legacy-c166)!important;box-shadow:inset 0 0 0 1px var(--color-legacy-c166);color:var(--color-legacy-c167)!important;font-weight:700;opacity:1!important;outline:0;-webkit-text-fill-color:var(--color-legacy-c167)!important}.alert-rule-rail select{max-width:130px}.alert-rule-form{background:var(--color-legacy-c013);border:1px solid var(--color-legacy-c168);border-radius:6px;margin-top:12px;padding:12px}.alert-rule-form-head{border-bottom:1px solid var(--line);padding-bottom:10px}.alert-rule-form-head label{color:var(--ink);font-size:13px;font-weight:700}.alert-rule-editor input,.alert-rule-editor select,.alert-action-editor select{background:var(--color-background);border:1px solid var(--color-legacy-c169);border-radius:5px;box-shadow:inset 0 1px 1px var(--color-legacy-c395);color:var(--ink);min-height:34px;padding:6px 9px}.alert-rule-editor input:focus,.alert-rule-editor select:focus,.alert-action-editor select:focus{border-color:var(--color-legacy-c166);box-shadow:0 0 0 3px var(--color-legacy-c396);outline:0}.alert-rule-editor input:disabled,.alert-rule-editor select:disabled,.alert-action-editor select:disabled{background:var(--color-legacy-c170);color:var(--muted)}.alert-action-editor{display:grid;align-content:start;gap:13px}.alert-action-switch{border-bottom:1px solid var(--line);color:var(--ink)!important;padding-bottom:10px}.alert-action-note{background:var(--color-legacy-c171);border-left:3px solid var(--brand);display:grid;gap:6px;padding:11px}.alert-action-note strong{color:var(--ink);font-size:13px}.alert-action-note span,.alert-action-note small{color:var(--muted-strong);font-size:12px;line-height:1.45}.alert-log-panel{padding:14px}.alert-log-count{color:var(--muted);font-size:12px;white-space:nowrap}.table-pagination{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.table-pagination span{color:var(--muted-strong);font-size:12px}@media (max-width: 1180px){.alert-workbench-grid{grid-template-columns:220px minmax(0,1fr)}.alert-action-editor{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.alert-action-editor .section-head,.alert-action-note{grid-column:1 / -1}}@media (max-width: 720px){.empty-alert-workbench{align-items:flex-start;flex-direction:column;gap:14px}.alert-workbench-grid,.alert-action-editor{grid-template-columns:1fr}.alert-task-list-actions{grid-template-columns:repeat(3,1fr)}.alert-task-list-actions .danger-button{grid-column:auto}.chart-gallery-grid{grid-template-columns:1fr}.chart-library-category-bar{position:static}.alert-chart-group{grid-template-columns:1fr}.alert-chart-group-title{line-height:1.3}.alert-settings-grid,.alert-inline-grid,.alert-task-layout,.alert-profile-strip{grid-template-columns:1fr}}.ai-assistant{position:fixed;right:24px;bottom:22px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.ai-assistant-panel,.ai-floating-button{pointer-events:auto}.ai-floating-button{width:58px;height:58px;border:0;border-radius:50%;background:var(--color-legacy-c136);color:var(--color-background);box-shadow:0 18px 42px var(--color-legacy-c382);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font-size:12px;font-weight:800}.ai-floating-button:hover{background:var(--color-legacy-c172)}.ai-assistant-icon{width:24px;height:24px;fill:currentColor}.ai-assistant-panel{width:min(440px,calc(100vw - 40px));height:min(660px,calc(100vh - 110px));background:var(--color-legacy-c360);border:1px solid var(--color-legacy-c397);border-radius:8px;box-shadow:0 24px 72px var(--color-legacy-c398);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.ai-assistant-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--color-legacy-c399)}.ai-assistant-title{font-size:16px;font-weight:900;color:var(--color-legacy-c173)}.ai-assistant-meta{margin-top:2px;font-size:12px;color:var(--color-legacy-c174)}.ai-assistant-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ai-assistant-actions select{height:30px;min-width:84px;border:1px solid var(--color-legacy-c400);border-radius:8px;background:var(--color-background);color:var(--color-legacy-c138);padding:0 8px;font-weight:800}.ai-thinking-toggle{height:30px;border:1px solid var(--color-legacy-c400);border-radius:999px;background:var(--color-background);color:var(--color-legacy-c175);padding:0 12px;font-size:12px;font-weight:900;cursor:pointer}.ai-thinking-toggle.active{border-color:var(--color-legacy-c142);background:var(--color-background)3ed;color:var(--color-legacy-c177)}.ai-icon-button{width:32px;height:32px;border:1px solid var(--color-legacy-c401);border-radius:50%;background:var(--color-background);color:var(--color-legacy-c175);cursor:pointer;font-size:20px;line-height:1}.ai-quick-row{display:flex;flex-wrap:wrap;gap:8px}.ai-quick-row.in-thread{margin-left:42px;padding:2px 0 4px;border-bottom:0}.ai-quick-row button{border:1px solid var(--color-legacy-c401);border-radius:999px;background:var(--color-legacy-c088);color:var(--color-legacy-c178);padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer}.ai-quick-row button:hover:not(:disabled){border-color:var(--color-legacy-c136);color:var(--color-legacy-c136)}.ai-message-list{min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--color-legacy-c086)}.ai-message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:flex-start}.ai-message.user{grid-template-columns:minmax(0,1fr) 34px}.ai-message.user .ai-message-role{grid-column:2;grid-row:1;background:var(--color-legacy-c136);color:var(--color-background)}.ai-message.user .ai-message-content{grid-column:1;grid-row:1;background:var(--color-legacy-c179);border-color:var(--color-legacy-c402)}.ai-message-role{width:30px;height:30px;border-radius:50%;background:var(--color-background);border:1px solid var(--color-legacy-c401);color:var(--color-legacy-c136);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.ai-message-content{background:var(--color-background);border:1px solid var(--color-legacy-c403);border-radius:8px;padding:10px 12px;color:var(--color-legacy-c138);font-size:13px;line-height:1.7}.ai-message-content p{margin:0 0 6px}.ai-message-content p:last-child{margin-bottom:0}.ai-input-row{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px;border-top:1px solid var(--color-legacy-c399);background:var(--color-background)}.ai-input-row textarea{min-height:46px;max-height:120px;resize:vertical;border:1px solid var(--color-legacy-c404);border-radius:8px;padding:10px;font:inherit;line-height:1.5;color:var(--color-legacy-c138)}.ai-input-row textarea:focus{outline:2px solid var(--color-legacy-c405);border-color:var(--color-legacy-c136)}.ai-input-row button{border:0;border-radius:8px;background:var(--color-legacy-c142);color:var(--color-background);font-weight:900;cursor:pointer}.ai-input-row button:disabled{background:var(--color-legacy-c180);cursor:not-allowed}@media (max-width: 720px){.ai-assistant{right:12px;bottom:12px}.ai-assistant.open{left:12px;align-items:stretch}.ai-assistant-panel{width:auto;height:min(72vh,620px)}}.dashboard-reports-panel{margin-top:1rem}.report-view-toggle{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--color-legacy-c181);border-radius:999px;background:var(--color-legacy-c182)}.report-view-toggle button{border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);padding:.35rem .75rem;font-size:.78rem;cursor:pointer}.report-view-toggle button.active{background:var(--color-legacy-c183);color:var(--color-background)}.report-meta{margin:-.5rem 0 .75rem;color:var(--color-text-muted);font-size:.78rem;text-align:right}.source-trace-v1-panel{border-color:var(--color-legacy-c184)}.workspace{min-width:0;overflow-x:clip}.dual-grid>.panel{min-width:0}.source-trace-level{display:inline-flex;align-items:center;min-height:28px;padding:3px 9px;border:1px solid var(--color-legacy-c185);border-radius:var(--radius-xs);color:var(--color-legacy-c186);font-size:12px;font-weight:700}.source-trace-workspace{display:grid;gap:12px}.source-trace-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--color-legacy-c187);border-left:1px solid var(--color-legacy-c187)}.source-trace-overview>div{min-width:0;padding:10px 12px;border-right:1px solid var(--color-legacy-c187);border-bottom:1px solid var(--color-legacy-c187);background:var(--color-legacy-c025)}.source-trace-overview span,.source-trace-overview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-trace-overview span{color:var(--muted);font-size:11px}.source-trace-overview strong{margin-top:4px;color:var(--color-legacy-c188);font-size:15px}.source-trace-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-legacy-c187);border-left:1px solid var(--color-legacy-c187)}.source-trace-view{min-width:0;min-height:190px;padding:14px;border-right:1px solid var(--color-legacy-c187);border-bottom:1px solid var(--color-legacy-c187);background:var(--color-background)}.source-trace-view h4{margin:0 0 10px;color:var(--color-legacy-c189);font-size:14px}.source-trace-empty{margin:24px 0;color:var(--muted);font-size:12px;line-height:1.65}.source-trace-paths,.source-trace-targets{display:grid;gap:8px;margin:0;padding:0;list-style:none}.source-trace-paths li{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:5px;align-items:center;color:var(--color-legacy-c190);font-size:12px}.source-trace-paths li>span{color:var(--color-legacy-c191);text-align:center;font-size:16px}.source-trace-paths small{grid-column:1 / -1;color:var(--muted);font-size:11px}.source-trace-candidates{display:grid;gap:9px}.source-trace-candidates>div{position:relative;display:grid;gap:4px;overflow:hidden;padding-bottom:3px}.source-trace-candidates>div>div{display:flex;justify-content:space-between;gap:8px;color:var(--color-legacy-c192);font-size:12px}.source-trace-candidates span{color:var(--color-legacy-c193);font-size:11px}.source-trace-candidates b{display:block;height:5px;border-radius:2px;background:var(--color-legacy-c194)}.source-trace-candidates small{color:var(--muted);font-size:11px;line-height:1.45}.source-trace-risk{margin:0 0 11px;color:var(--color-legacy-c195);font-size:12px;line-height:1.55}.source-trace-horizons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.source-trace-horizons>div{display:grid;gap:3px;padding:8px;border-left:3px solid var(--color-legacy-c196);background:var(--color-legacy-c197)}.source-trace-horizons span{color:var(--color-legacy-c198);font-size:12px;font-weight:700}.source-trace-horizons small{color:var(--muted);font-size:10px}.source-trace-targets li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding-bottom:7px;border-bottom:1px dashed var(--color-legacy-c199);color:var(--color-legacy-c200);font-size:12px}.source-trace-targets li span{color:var(--muted)}.source-trace-targets li small{grid-column:1 / -1;color:var(--color-legacy-c201);font-size:11px}.source-trace-limitations{display:grid;gap:5px;padding:10px 12px;border-left:3px solid var(--color-legacy-c202);background:var(--color-legacy-c061);color:var(--color-legacy-c203);font-size:11px;line-height:1.55}.source-trace-limitations strong{color:var(--color-legacy-c204);font-size:12px}@media (max-width: 760px){.source-trace-overview,.source-trace-view-grid{grid-template-columns:1fr}.source-trace-view{min-height:0}}:root{--ui-ink: color-mix(in srgb, var(--color-text-primary) 92%, var(--color-primary) 8%);--ui-ink-soft: color-mix(in srgb, var(--color-text-primary) 76%, var(--color-primary) 24%);--ui-canvas: color-mix(in srgb, var(--color-panel-bg) 97%, var(--color-primary) 3%);--ui-surface-soft: color-mix(in srgb, var(--color-background) 96%, var(--color-primary) 4%);--ui-border: color-mix(in srgb, var(--color-border) 76%, var(--color-primary) 24%);--ui-primary-soft: color-mix(in srgb, var(--color-primary) 6%, var(--color-background));--ui-accent-soft: color-mix(in srgb, var(--color-accent) 8%, var(--color-background));--ui-sidebar-soft: color-mix(in srgb, var(--color-primary) 22%, transparent);--ui-shadow: color-mix(in srgb, var(--color-text-primary) 10%, transparent);--ui-shadow-strong: color-mix(in srgb, var(--color-text-primary) 16%, transparent)}body{background:linear-gradient(180deg,var(--ui-canvas) 0%,var(--color-panel-bg) 100%)}.sidebar{background:linear-gradient(180deg,var(--ui-ink) 0%,var(--ui-ink-soft) 100%);box-shadow:12px 0 32px var(--ui-shadow)}.brand-mark{background:var(--color-accent);box-shadow:0 0 0 8px color-mix(in srgb,var(--color-accent) 16%,transparent)}.sidebar-toggle{border-color:color-mix(in srgb,var(--color-background) 24%,transparent);background:color-mix(in srgb,var(--color-background) 8%,transparent)}.sidebar-toggle:hover{background:color-mix(in srgb,var(--color-background) 14%,transparent);border-color:color-mix(in srgb,var(--color-background) 34%,transparent)}.nav-button:hover,.nav-button.active{background:var(--ui-sidebar-soft)}.nav-button.active{box-shadow:inset 3px 0 0 var(--color-accent)}.sidebar-note{background:color-mix(in srgb,var(--color-background) 8%,transparent);border-color:color-mix(in srgb,var(--color-background) 12%,transparent)}.sidebar-logout{border-color:color-mix(in srgb,var(--color-background) 26%,transparent);background:color-mix(in srgb,var(--color-background) 9%,transparent);color:var(--color-background)}.tab-bar,.dashboard-mode-tabs{border-color:var(--ui-border);background:var(--ui-surface-soft);box-shadow:0 8px 24px var(--ui-shadow)}.tab-button{border-color:transparent;background:transparent;color:var(--muted-strong)}.tab-button.active,.tab-button:hover{color:var(--color-background);background:var(--ui-ink);border-color:var(--ui-ink);box-shadow:0 6px 16px var(--ui-shadow-strong)}.panel,.ui-panel,.filter-bar,.dashboard-filter-block{border-color:var(--ui-border);background:var(--color-background);box-shadow:0 10px 28px var(--ui-shadow)}.section-head{border-bottom-color:var(--ui-border)}.form-control,.filter-bar select,.filter-bar input{border-color:var(--ui-border);background:var(--ui-surface-soft)}.form-control:focus,.filter-bar select:focus,.filter-bar input:focus{border-color:var(--color-primary);background:var(--color-background)}.primary-button{background:var(--color-accent);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 22%,transparent)}.primary-button:hover{background:color-mix(in srgb,var(--color-accent) 90%,var(--color-text-primary));box-shadow:0 12px 24px color-mix(in srgb,var(--color-accent) 28%,transparent)}.secondary-button,.ghost-button{border-color:var(--ui-border);background:var(--color-background)}.secondary-button:hover,.secondary-button.active,.ghost-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary)}.dashboard-chip,.map-scope-status strong,.map-scope-status span{border-color:var(--ui-border);background:var(--color-background)}.dashboard-chip.active,.map-display-tools .map-category-toggle button.active,.map-display-tools .map-mode-toggle button.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 5px 14px color-mix(in srgb,var(--color-primary) 18%,transparent)}.dashboard-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.map-panel-shell{background:linear-gradient(180deg,var(--ui-surface-soft),color-mix(in srgb,var(--ui-canvas) 96%,var(--color-primary) 4%)),linear-gradient(135deg,var(--ui-primary-soft),var(--ui-accent-soft));border-color:var(--ui-border)}.map-summary{background:color-mix(in srgb,var(--color-background) 92%,transparent);border-color:color-mix(in srgb,var(--color-background) 72%,var(--color-primary) 28%);box-shadow:0 12px 28px var(--ui-shadow)}.map-state{background:color-mix(in srgb,var(--ui-ink) 94%,transparent);border:1px solid color-mix(in srgb,var(--color-background) 18%,transparent);border-left:3px solid var(--color-accent);box-shadow:0 10px 24px var(--ui-shadow-strong)}.map-category-toggle,.map-display-tools .map-category-toggle,.map-display-tools .map-mode-toggle,.map-mode-toggle{border-color:var(--ui-border);background:var(--ui-surface-soft)}.map-category-toggle button.active{color:var(--color-primary);background:var(--color-background);box-shadow:0 4px 12px var(--ui-shadow)}.metric-panel,.ui-metric-card{border-color:var(--ui-border);box-shadow:0 8px 22px var(--ui-shadow)}.login-shell{background:linear-gradient(180deg,var(--ui-canvas) 0%,var(--color-panel-bg) 100%)}.login-card{border-color:var(--ui-border);box-shadow:0 22px 54px var(--ui-shadow-strong)}.sidebar-logout{background:var(--ui-ink-soft);border-color:color-mix(in srgb,var(--color-background) 30%,var(--ui-ink-soft) 70%);color:var(--color-background)}.sidebar-logout:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background)}.sidebar.collapsed .sidebar-logout{width:62px;justify-content:center;padding-inline:8px}.overview-met-source-toggle{min-height:32px;padding:3px;border-radius:999px;background:var(--ui-surface-soft)}.overview-met-source-toggle button,.overview-met-source-toggle button.active{min-height:26px;padding:4px 10px;border-radius:999px}.overview-met-source-toggle button.active{background:var(--color-primary);color:var(--color-background);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 18%,transparent)}.overview-chart-empty{display:grid;min-height:132px;place-items:center;padding:18px;border:1px dashed var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-soft);color:var(--muted-strong);font-size:13px;text-align:center}.lidar-workbench{display:grid;gap:16px}.lidar-head{align-items:flex-start}.lidar-head h2{margin:3px 0 5px;color:var(--ink-strong)}.lidar-head p{margin:0;color:var(--muted);font-size:12px}.lidar-head-actions{display:flex;align-items:center;gap:10px}.lidar-source-status{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700}.lidar-source-status.online{color:var(--color-legacy-c411);background:var(--color-legacy-c432)}.lidar-source-status.offline{color:var(--color-legacy-c421);background:var(--color-legacy-c447)}.lidar-message{margin:0}.lidar-inner-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.lidar-inner-tabs button{min-height:34px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:var(--muted-strong);cursor:pointer;font-size:12px;font-weight:700}.lidar-inner-tabs button.active{color:var(--color-legacy-c005);background:var(--teal);box-shadow:0 5px 14px var(--color-legacy-c460)}.lidar-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lidar-metric-card{display:grid;gap:5px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.lidar-metric-card span,.lidar-metric-card small{color:var(--muted);font-size:11px}.lidar-metric-card strong{color:var(--ink-strong);font-size:22px;line-height:1.1}.lidar-overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:12px}.lidar-chart-card{min-height:360px;padding:8px}.lidar-history-chart{height:350px}.lidar-history-chart.tall{height:440px}.lidar-scan-list,.lidar-mode-panel,.lidar-ledger-layout{display:grid;gap:12px}.panel-subtle{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.lidar-scan-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.lidar-scan-row.selected{border-color:var(--teal);box-shadow:var(--focus-ring)}.lidar-scan-row span{grid-row:span 2;align-self:center;color:var(--accent-strong);font-size:12px;font-weight:800}.lidar-scan-row strong{font-size:12px}.lidar-scan-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lidar-mode-panel{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.lidar-mode-tools{display:flex;gap:6px}.lidar-scan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lidar-scan-tile{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer}.lidar-scan-tile:hover,.lidar-scan-tile.selected{border-color:var(--teal);box-shadow:var(--focus-ring)}.lidar-scan-tile strong{color:var(--accent-strong)}.lidar-scan-tile span{color:var(--ink);font-size:12px}.lidar-scan-tile small,.lidar-scan-tile em{color:var(--muted);font-size:11px;font-style:normal;overflow-wrap:anywhere}.lidar-mode-note{padding:9px 11px;border-left:3px solid var(--teal);background:var(--color-legacy-c438);color:var(--muted-strong);font-size:11px}.lidar-scan-preview{display:grid;gap:5px;min-height:180px;place-items:center;align-content:center;padding:20px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface);text-align:center}.lidar-scan-preview strong{color:var(--ink-strong);font-size:14px}.lidar-scan-preview p{margin:0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.lidar-evidence-strip{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted-strong);font-size:11px}.lidar-evidence-strip span:first-child{color:var(--accent-strong);font-weight:700}.lidar-evidence-strip span:nth-child(2){flex:1 1 240px}.lidar-mode-tools .secondary-button.active{border-color:var(--teal);color:var(--teal);background:var(--color-legacy-c434)}.lidar-mode-tools .secondary-button:disabled{cursor:not-allowed;opacity:.55}.lidar-image-preview{min-height:300px;place-items:stretch;align-content:start;text-align:left}.lidar-image-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.lidar-image-heading>div{display:grid;gap:4px}.lidar-image-heading strong{font-size:13px}.lidar-image-preview img{display:block;width:min(100%,800px);max-height:560px;margin:0 auto;object-fit:contain;image-rendering:auto;background:var(--color-legacy-c406);border:1px solid var(--line);border-radius:10px}.lidar-image-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px}.lidar-history-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:12px}.lidar-replay-card{display:grid;gap:10px;align-content:start}.lidar-replay-actions{display:flex;gap:8px}.lidar-replay-card .lidar-scan-preview{min-height:300px}.lidar-source-candidates{margin-top:12px;padding:13px}.lidar-source-candidate-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lidar-source-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.lidar-source-candidate strong{color:var(--ink);font-size:12px}.lidar-source-candidate span{grid-column:1 / -1;color:var(--muted);font-size:11px}.source-tier{padding:3px 7px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:10px;font-style:normal;font-weight:700}.source-tier.tier-a{color:var(--color-legacy-c411);background:var(--color-legacy-c431)}.source-tier.tier-b{color:var(--color-legacy-c421);background:var(--color-legacy-c445)}.source-tier.tier-c{color:var(--muted);background:var(--color-legacy-c435)}.lidar-empty-state{display:grid;min-height:180px;place-items:center;padding:24px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);text-align:center}.lidar-feature-table{overflow:auto;border:1px solid var(--line);border-radius:12px}.lidar-table-head,.lidar-table-row{display:grid;grid-template-columns:1.1fr 1.2fr .7fr 1fr auto;gap:10px;align-items:center;min-width:680px;padding:10px 12px}.lidar-table-head{color:var(--muted);background:var(--surface-soft);font-size:11px;font-weight:700}.lidar-table-row{border-top:1px solid var(--line);color:var(--ink);font-size:12px}.status-pill{display:inline-flex;width:fit-content;padding:4px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:700}.status-pill.pending{color:var(--color-legacy-c421);background:var(--color-legacy-c445)}.status-pill.confirmed{color:var(--color-legacy-c411);background:var(--color-legacy-c431)}.small{min-height:30px;padding:0 9px;font-size:11px}.lidar-annotation-list{display:grid;gap:10px}.lidar-annotation-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.lidar-annotation-card h3{margin:4px 0;color:var(--ink-strong);font-size:14px}.lidar-annotation-card p{margin:0;color:var(--muted-strong);font-size:12px}.lidar-annotation-card>small{grid-column:1 / -1;color:var(--muted);font-size:11px}.lidar-annotation-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ghost-button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted-strong);cursor:pointer}@media (max-width: 980px){.lidar-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lidar-overview-grid,.lidar-history-layout{grid-template-columns:1fr}.lidar-scan-grid,.lidar-source-candidate-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.lidar-head,.lidar-annotation-card{grid-template-columns:1fr;display:grid}.lidar-head-actions{justify-content:space-between}.lidar-metric-grid,.lidar-scan-grid,.lidar-source-candidate-list{grid-template-columns:1fr}.lidar-mode-tools{flex-wrap:wrap}.lidar-annotation-actions{justify-content:flex-start}.lidar-image-heading{align-items:flex-start;flex-direction:column}}.radar-command-center{border-color:var(--line);background:var(--surface-soft);color:var(--ink);box-shadow:var(--shadow)}.radar-command-center:before{display:none}.radar-command-kicker,.radar-chart-index{color:var(--teal)}.radar-command-header h2,.radar-chart-panel h3,.radar-detail-panel h3{color:var(--ink-strong)}.radar-command-header p,.radar-chart-head p,.radar-detail-head p{color:var(--muted)}.radar-command-status{border-color:var(--line);background:var(--surface)}.radar-command-status span{color:var(--muted)}.radar-command-status strong{color:var(--teal)}.radar-command-status.watch strong{color:var(--warning)}.radar-command-status.attention strong{color:var(--danger)}.radar-command-status.insufficient strong{color:var(--muted-strong)}.radar-command-metrics>div,.radar-chart-panel,.radar-detail-panel{border-color:var(--line);background:var(--surface)}.radar-command-metrics span,.radar-command-metrics small,.radar-table-wrap th,.radar-table-wrap td small,.radar-wind-readout span,.radar-vf-grid span,.radar-vf-grid small{color:var(--muted)}.radar-command-metrics strong,.radar-chart-head>strong,.radar-detail-head>strong,.radar-table-wrap td b,.radar-vf-grid b{color:var(--accent-strong)}.radar-command-conclusion{border-color:var(--line);background:var(--accent-soft)}.radar-conclusion-mark,.radar-conclusion-split b{color:var(--teal)}.radar-conclusion-main>strong,.radar-conclusion-split span,.radar-table-wrap table{color:var(--ink)}.radar-detail-head,.radar-table-wrap th,.radar-table-wrap td{border-color:var(--line)}.radar-command-toggle{border-color:var(--line);background:var(--surface-soft)}.radar-command-toggle button{color:var(--muted-strong)}.radar-command-toggle button.active{background:var(--teal);color:var(--surface)}.radar-wind-readout>div,.radar-vf-grid>div{border-color:var(--line);background:var(--surface-soft)}.radar-wind-readout b{color:var(--teal)}.radar-empty{color:var(--muted)}.lidar-scan-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:12px;align-items:stretch}.lidar-map-overlay-card{display:grid;min-height:300px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.lidar-map-overlay-canvas{min-height:280px;background:var(--surface-muted)}.lidar-map-overlay-empty{display:grid;min-height:280px;place-items:center;padding:18px;color:var(--muted-strong);font-size:12px;line-height:1.65;text-align:center}.lidar-map-overlay-empty span{color:var(--muted);font-size:11px}@media (max-width: 980px){.lidar-scan-preview-grid{grid-template-columns:1fr}}.radar-command-charts{grid-template-columns:1fr}.radar-command-conclusion{border-color:var(--line);border-left:4px solid var(--teal);background:var(--surface)}.radar-horizontal-panel,.radar-vertical-panel{width:100%}.radar-horizontal-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.radar-horizontal-scan{min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.radar-horizontal-scan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:var(--muted);font-size:11px}.radar-horizontal-scan-head strong{color:var(--ink-strong);font-size:12px}.radar-horizontal-scan .lidar-scan-preview-grid{grid-template-columns:minmax(0,1fr)}.radar-horizontal-scan .lidar-map-overlay-card{min-height:260px}.radar-hotspot-panel{grid-column:1 / -1}.radar-hotspot-map{margin-top:12px}.radar-hotspot-map .lidar-map-overlay-card,.radar-hotspot-map .lidar-map-overlay-canvas,.radar-hotspot-map .lidar-map-overlay-empty{min-height:460px;height:460px}.radar-horizontal-controls{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;gap:7px}.radar-horizontal-controls label{display:grid;gap:4px;color:var(--muted);font-size:10px}.radar-horizontal-controls select{min-height:30px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--ink);font-size:11px}.radar-factor-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.radar-factor-switch button{min-height:24px;padding:0 7px;border:0;border-radius:5px;background:transparent;color:var(--muted-strong);font-size:10px;cursor:pointer}.radar-factor-switch button.active{background:var(--accent);color:var(--color-background)}.radar-horizontal-controls>strong{align-self:center;color:var(--accent-strong);font-family:var(--font-family-mono);font-size:10px;white-space:nowrap}.radar-horizontal-workspace{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:stretch}.radar-horizontal-stage{min-width:0}.radar-horizontal-stage .lidar-map-overlay-card,.radar-horizontal-stage .lidar-map-overlay-canvas,.radar-horizontal-stage .lidar-map-overlay-empty{min-height:460px;height:460px}.radar-scan-history{display:grid;align-content:start;gap:5px;max-height:560px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}.radar-scan-history button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:37px;padding:7px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted-strong);font-family:var(--font-family-mono);font-size:10px;text-align:left;cursor:pointer}.radar-scan-history button:hover{border-color:var(--line-strong);background:var(--surface)}.radar-scan-history button.active{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--surface);color:var(--ink-strong);box-shadow:inset 3px 0 0 var(--accent)}.radar-scan-history button span{flex:0 0 auto;color:var(--accent-strong);font-family:var(--font-family-base);font-size:10px}.radar-range-controls{display:flex;align-items:end;flex-wrap:wrap;gap:6px 8px;margin-top:10px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted)}.radar-range-controls>span{margin-right:4px;color:var(--ink-strong);font-size:11px;font-weight:700}.radar-range-controls label{display:grid;gap:3px;color:var(--muted);font-size:10px}.radar-range-controls input{min-height:29px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--ink);font:inherit}.radar-range-controls i{align-self:end;padding-bottom:5px;color:var(--muted);font-style:normal}.radar-range-controls button,.radar-scan-timeline>button{min-height:29px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--ink);font-size:11px;cursor:pointer}.radar-range-controls button:hover,.radar-scan-timeline>button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.radar-scan-timeline{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;align-items:center;padding:10px 0 2px}.radar-scan-track{position:relative;height:24px;border-bottom:1px solid var(--line-strong)}.radar-scan-track:before{content:"";position:absolute;top:11px;right:0;left:0;height:1px;background:var(--line-strong)}.radar-scan-track button{position:absolute;top:4px;left:var(--scan-position);width:14px;height:14px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transform:translate(-50%)}.radar-scan-track button span{display:block;width:7px;height:7px;margin:3px;border:1px solid var(--accent);border-radius:50%;background:var(--surface)}.radar-scan-track button.active span{width:11px;height:11px;margin:1px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.radar-scan-time-labels{grid-column:2;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-family:var(--font-family-mono);font-size:10px}.radar-capability-note{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.radar-vertical-strip{display:flex;align-items:stretch;gap:8px;min-height:400px;overflow-x:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.radar-vertical-strip:not(.preserve-gaps){gap:0}.radar-vertical-frame-wrap{display:flex;align-items:center;gap:8px;min-width:56px}.radar-vertical-strip:not(.preserve-gaps) .radar-vertical-frame-wrap{flex:0 0 44px;gap:0;min-width:44px}.radar-vertical-frame{display:grid;gap:6px;margin:0;min-width:44px}.radar-vertical-frame img,.radar-vertical-frame-missing{display:block;width:44px;height:360px;border:1px solid var(--line);border-radius:5px;background:var(--color-text-primary);object-fit:fill}.radar-vertical-strip:not(.preserve-gaps) .radar-vertical-frame img,.radar-vertical-strip:not(.preserve-gaps) .radar-vertical-frame-missing{border:0;border-radius:0}.radar-vertical-frame-missing{display:grid;place-items:center;padding:5px;background:var(--surface);color:var(--muted);font-size:10px;line-height:1.4;text-align:center;writing-mode:vertical-rl}.radar-vertical-gap{display:grid;place-items:center;min-width:32px;color:var(--muted);font-size:9px;line-height:1.3;text-align:center;writing-mode:vertical-rl}.radar-vertical-timeline{display:grid;gap:5px;margin:8px 14px 0;color:var(--muted-strong);font-family:var(--font-family-mono);font-size:10px}.radar-vertical-timeline-line{position:relative;height:8px;border-top:1px solid var(--line-strong)}.radar-vertical-timeline-line span{position:absolute;top:-4px;width:7px;height:7px;border:1px solid var(--accent);border-radius:50%;background:var(--surface)}.radar-vertical-timeline-line span:nth-child(1){left:0}.radar-vertical-timeline-line span:nth-child(2){left:50%;transform:translate(-50%)}.radar-vertical-timeline-line span:nth-child(3){right:0}.radar-vertical-timeline-labels{display:flex;justify-content:space-between;gap:8px}.radar-vertical-timeline-labels span:nth-child(2){text-align:center}.radar-vertical-timeline-labels span:last-child{text-align:right}.radar-hotspot-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.radar-hotspot-summary span{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font-size:11px}.radar-detail-note{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.radar-conclusion-facts{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:11px;color:var(--muted-strong);font-size:11px}.radar-conclusion-facts span{display:inline-flex;align-items:baseline;gap:5px}.radar-conclusion-facts b{color:var(--accent-strong);font-weight:750}.radar-vertical-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.vertical-met-lidar-match{display:block;margin-top:5px;color:var(--teal);font-size:11px;font-weight:700}.vertical-met-lidar-match.muted{color:var(--muted);font-weight:500}.vertical-met-kpis small{display:block;margin-top:4px;color:var(--muted);font-size:10px}@media (max-width: 980px){.radar-horizontal-gallery,.radar-horizontal-workspace{grid-template-columns:1fr}.radar-scan-history{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}.radar-hotspot-map .lidar-map-overlay-card,.radar-hotspot-map .lidar-map-overlay-canvas,.radar-hotspot-map .lidar-map-overlay-empty,.radar-horizontal-stage .lidar-map-overlay-card,.radar-horizontal-stage .lidar-map-overlay-canvas,.radar-horizontal-stage .lidar-map-overlay-empty{min-height:360px;height:360px}}.lidar-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:4px 2px 0}.lidar-page-intro h1{margin:5px 0 7px;color:var(--ink-strong);font-size:clamp(26px,3vw,40px);letter-spacing:-.035em}.lidar-page-intro p{max-width:780px;margin:0;color:var(--muted-strong);font-size:13px;line-height:1.7}.lidar-inner-tabs{justify-content:center}.lidar-inner-tabs button{display:flex;min-width:120px;align-items:center;justify-content:center;text-align:center}.lidar-inner-tabs button strong{font-size:12px}.lidar-focused-mode{min-height:610px}.lidar-time-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.lidar-time-filter label{display:grid;gap:5px;color:var(--muted);font-size:10px}.lidar-time-filter input{min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink)}.lidar-time-filter>strong{margin-left:auto;padding:8px 10px;color:var(--accent-strong);font-family:var(--font-family-mono);font-size:11px}.lidar-scan-workspace{display:grid;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:12px;align-items:start}.lidar-scan-workspace>.lidar-scan-list{max-height:650px;overflow:auto}.lidar-scan-workspace>div:last-child{display:grid;gap:10px;min-width:0}@media (max-width: 900px){.lidar-page-intro{align-items:flex-start;flex-direction:column}.lidar-scan-workspace{grid-template-columns:1fr}.lidar-scan-workspace>.lidar-scan-list{max-height:300px}}
