.gr{--gr-ink:#244b3e;--gr-muted:#637267;--gr-line:#dbe5d8;--gr-soft:#f0f5ed;--gr-up:#3e7653;--gr-down:#ac6047;color:#2b4335}.gr h2,.gr h3,.gr h4,.gr p{margin-top:0}.gr p,.gr li,.gr button,.gr select{font-size:15px;line-height:1.75}.gr h3{font-size:21px;line-height:1.5;margin-bottom:9px}.gr h4{font-size:17px;line-height:1.65;margin-bottom:12px}.gr-kicker{font-size:12px!important;font-weight:700;letter-spacing:.12em;margin-bottom:11px!important}.gr-muted{font-size:13px!important;color:var(--gr-muted);overflow-wrap:anywhere;margin-bottom:10px}.gr-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 32px;border-radius:18px;background:linear-gradient(120deg,#244b3e,#315c58);color:#fff}.gr-hero h2{font-size:27px;line-height:1.5;margin-bottom:12px}.gr-hero p{color:#dce8dc;margin-bottom:0;max-width:820px}.gr-hero .gr-kicker{color:#d5e4ba}.gr-hero-actions{display:flex;gap:9px;flex-wrap:wrap;min-width:185px;max-width:245px}.gr-button{padding:9px 14px;border:1px solid #cbd9c5;border-radius:8px;background:#fff;color:#305d40;min-height:42px;cursor:pointer;font-weight:550;line-height:1.6}.gr-button:hover{background:#eef5e9}.gr-button.primary{background:#315f42;color:#fff;border-color:#315f42}.gr-button:disabled{cursor:wait;opacity:.6}.gr-button:focus-visible,.gr-input:focus-visible,.gr summary:focus-visible{outline:3px solid #d7ad60;outline-offset:3px}.gr-hero .gr-button.primary{background:#eff5e6;color:#31523c;border-color:#eff5e6}.gr-update-message{color:#426547;margin:12px 0}.gr-update-message:empty{display:none}.gr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.gr-stat{padding:19px;background:#fff;border:1px solid var(--gr-line);border-radius:12px}.gr-stat>span{font-size:14px;color:#536c50}.gr-stat>strong{font-size:32px;line-height:1.4;color:#315c40;display:block;margin:12px 0 7px;font-variant-numeric:tabular-nums}.gr-stat p{margin-bottom:0}.gr-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.gr-field{display:grid;gap:7px;font-size:14px;color:#4c674a}.gr-input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #cbd8c6;border-radius:8px;color:#2c5039;background:#fff}.gr-controls>.gr-note{grid-column:1/-1;margin:0}.gr-note{padding:14px 17px;border:1px solid #dce8d3;border-radius:9px;background:#eff5e9;color:#45623d;font-size:14px!important;line-height:1.8}.gr-note.warn{background:#fff7e8;color:#7d5e2b;border-color:#e9d8b5}.gr-tabs{display:flex;gap:8px;padding:4px 0 15px;margin-bottom:20px;border-bottom:1px solid var(--gr-line);overflow:auto}.gr-tabs .gr-button{white-space:nowrap;border-color:transparent;background:transparent}.gr-tabs .gr-button.active{background:#244b3e;color:#fff}.gr-stack{display:grid;gap:22px}.gr-card{padding:25px;background:#fff;border:1px solid var(--gr-line);border-radius:15px;min-width:0}.gr-map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:20px;margin-top:18px}.gr-map-box{padding:12px;background:#f5f9f5;border:1px solid #dfe8dc;border-radius:12px;min-width:0}.gr-world-map{width:100%;height:auto;display:block}.gr-ocean{fill:#edf3f1}.gr-graticule{stroke:#d7e1dd;stroke-width:.8}.gr-land{fill:#d7e2cc;stroke:#c2d0bc;stroke-width:.6;stroke-linejoin:round}.gr-city-point{cursor:pointer}.gr-city-point circle{fill:#738575;stroke:#fff;stroke-width:1.7}.gr-city-point.up circle{fill:#407d55}.gr-city-point.down circle{fill:#ba7056}.gr-city-point.unknown circle{fill:#c2ccc4;stroke:#758678;stroke-dasharray:2 2}.gr-city-point.selected circle{stroke:#183a29;stroke-width:2.8}.gr-city-point:focus-visible circle{stroke:#a36a24;stroke-width:4}.gr-map-legend{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.gr-city-detail{padding:21px;border:1px solid #d9e4d4;border-radius:12px;background:#fbfdf8;min-width:0;align-self:start}.gr-city-detail h3{font-size:25px}.gr-city-detail>.gr-button{margin:10px 0}.gr-city-detail h4{margin-top:20px}.gr-badge{display:inline-flex;padding:4px 8px;border-radius:6px;background:#edf3e8;border:1px solid #dce6d5;color:#426743;font-size:12px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.gr-badge.warn{color:#805d29;border-color:#e9d8b5;background:#fff4de}.gr-badge.unknown{color:#697669;background:#f0f3ed;border-color:#dce3d8}.gr .up{color:var(--gr-up)}.gr .down{color:var(--gr-down)}.gr-badge.down{background:#fbefe8;border-color:#edd6ca}.gr-badge.up{background:#eaf3e6;border-color:#cfdfc6}.gr-compare-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.gr-compare-summary>strong{font-size:24px;font-variant-numeric:tabular-nums}.gr-compare-summary>.gr-muted,.gr-compare-summary>.gr-details{flex-basis:100%;margin:0}.gr-fx-value{display:block;font-size:22px;color:#365e40;overflow-wrap:anywhere;margin-bottom:10px}.gr-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:17px}.gr-axis-card{padding:19px;border:1px solid #dfe8d7;border-radius:11px;background:#fafcf6;min-width:0}.gr-table-wrap{overflow:auto;margin:14px 0}.gr-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;line-height:1.7}.gr-table th{background:#eef4e8;color:#3c5b36}.gr-table th,.gr-table td{padding:11px 12px;border-bottom:1px solid #dee7d7;vertical-align:top;min-width:90px}.gr-table td>.gr-button{border:0;background:transparent;padding:0;min-height:26px;text-align:left;font-size:14px}.gr-table td .gr-muted{font-size:12px!important;margin:6px 0}.gr-alert{padding:15px;border-top:1px solid #e2e8dc}.gr-alert:first-of-type{border-top:0}.gr-alert>strong{display:block;margin:8px 0}.gr-trend-grid,.gr-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.gr-trend-card,.gr-product{padding:21px;border:1px solid #dce6d5;border-radius:11px;background:#fafdf7;min-width:0}.gr-line-chart{width:100%;height:auto;max-height:265px;overflow:visible;margin:10px 0}.gr-gridline{stroke:#e0e8da;stroke-width:1}.gr-axis{font-size:11px;fill:#677961;font-family:inherit}.gr-line{fill:none;stroke:#487b54;stroke-width:2.5;stroke-linejoin:round}.gr-line-dot{fill:#fff;stroke:#487b54;stroke-width:1.4}.gr-list{padding-left:20px;color:#536d4d;margin:10px 0 16px}.gr-list li{font-size:14px;margin:6px 0}.gr-subhead{display:block;color:#3c633e;font-size:14px;margin:18px 0 5px}.gr-details{margin:13px 0;border-top:1px solid #e0e8d9;padding-top:11px}.gr-details summary{color:#41663d;cursor:pointer;font-size:14px;font-weight:600;line-height:1.8}.gr-details[open]>summary{margin-bottom:14px}.gr-evidence-row{padding:13px;border:1px solid #dfe8d8;border-radius:8px;background:#fff;margin-top:10px}.gr-link{color:#386443;font-size:13px;text-underline-offset:4px}.gr-empty{padding:20px;border:1px dashed #cfdcc6;border-radius:9px;background:#f8fbf4;color:#61765a;line-height:1.8;font-size:14px!important}.gr-footnote{font-size:12px!important;color:#687960;margin:22px 0 0;line-height:1.8}
@media(max-width:1200px){.gr-map-layout{grid-template-columns:1fr}.gr-city-detail{display:block}.gr-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.gr-hero{display:block}.gr-hero-actions{max-width:none;margin-top:20px}.gr-two{grid-template-columns:1fr}}
@media(max-width:700px){.gr-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gr-stat{padding:15px}.gr-stat>strong{font-size:27px}.gr-hero{padding:23px}.gr-hero h2{font-size:23px}.gr-controls,.gr-trend-grid,.gr-product-grid{grid-template-columns:1fr}.gr-card{padding:18px}.gr-map-box{padding:8px}.gr-city-detail{padding:17px}.gr-axis-card{padding:14px}.gr-card h3{font-size:19px}.gr-world-map{min-height:200px}.gr-map-layout{gap:14px}.gr-compare-summary>strong{font-size:21px}}
.gr-schedule{padding:16px 20px;border:1px solid #dce5d8;border-radius:11px;background:#f8fbf4;display:grid;grid-template-columns:1fr auto;gap:10px 15px;margin-bottom:18px}.gr-schedule>div>strong{color:#315e40}.gr-schedule .gr-muted{margin:5px 0 0}.gr-schedule>.gr-note,.gr-schedule>.gr-update-message{grid-column:1/-1;margin:0}.gr-schedule-controls{display:flex;align-items:center;gap:9px}.gr-schedule>.gr-note{font-size:12px!important;padding:10px 13px}
@media(max-width:700px){.gr-schedule{grid-template-columns:1fr}.gr-schedule>.gr-note,.gr-schedule>.gr-update-message{grid-column:auto}}
.gr-land,.gr-graticule{vector-effect:non-scaling-stroke}
.gr-cost-scenario{padding:21px;border:1px solid #d9e4d2;background:#f7faf2;border-radius:12px;margin:18px 0}.gr-cost-form{display:grid;gap:15px}.gr-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.gr-cost-form>.gr-button{justify-self:start}.gr-fx-reference{padding:12px 15px;background:#fff;border:1px solid #e0e7d8;border-radius:9px}.gr-fx-reference .gr-muted{margin-bottom:8px}.gr-cost-error{color:#a34f35;font-size:14px;line-height:1.8;margin:0}.gr-cost-error:empty,.gr-cost-output:empty{display:none}.gr-cost-output{border-top:1px solid #dce5d6;padding-top:17px}.gr-cost-output>h4{margin-top:20px}.gr-cost-scenario>.gr-muted{margin-bottom:17px}
@media(max-width:700px){.gr-cost-grid{grid-template-columns:1fr}.gr-cost-scenario{padding:16px}}
.gr-news-controls,.gr-news-search{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin:12px 0}.gr-news-search{flex:1;min-width:260px}.gr-news-search .gr-input{flex:1;min-width:180px;width:auto}.gr-news-counts,.gr-news-labels{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.gr-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 20px}.gr-news-card{padding:20px;border:1px solid #dce5d8;border-radius:12px;background:#fbfdf8;min-width:0}.gr-news-card.official{border-color:#c9d8ce;background:#f4f9f5}.gr-news-card h4{font-size:17px;color:#2c563d;margin:14px 0 11px;line-height:1.7;overflow-wrap:anywhere}.gr-news-summary{font-size:14px!important;color:#4d664d;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.gr-news-time{padding:12px 14px;background:#fff;border:1px solid #e1e8dc;border-radius:8px;margin:13px 0}.gr-news-time .gr-muted{font-size:12px!important;margin:4px 0}.gr-news-card>.gr-link{display:inline-block;margin-top:9px}.gr-news-card .gr-note{font-size:13px!important}.gr-news-card .gr-list li{font-size:13px!important}.gr-card>.gr-news-grid+h4,.gr-card>h4{margin-top:22px}
@media(max-width:700px){.gr-news-grid{grid-template-columns:1fr}.gr-news-search{min-width:0;width:100%}.gr-news-controls{align-items:flex-start}.gr-news-card{padding:16px}}
.gr .gr-hero h2{color:#fff}.gr .gr-hero>div>p:not(.gr-kicker){color:#e4eee3}
