.weight-dashboard { margin:-7px 0 23px; }
.map-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin-bottom:18px; border:1px solid #c7d4e2; border-radius:9px; background:#eef3f8; }
.map-mode-switch button { min-height:38px; border:0; border-radius:6px; background:transparent; color:#607187; font-size:12px; font-weight:800; }
.map-mode-switch button.active { background:#fff; color:#083f84; box-shadow:0 2px 8px rgba(16,35,62,.10); }
.weight-panel { display:none; }
.weight-mode .weight-panel { display:block; }
.weight-mode #filter-panel > .filter-group,.weight-mode #filter-panel > section:not(.weight-dashboard) { display:none; }
.weight-kpis { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; }
.weight-kpi { min-width:0; padding:11px; border:1px solid #d9e1e9; border-radius:8px; background:#f7f9fc; }
.weight-kpi strong,.weight-kpi span { display:block; }
.weight-kpi strong { overflow:hidden; color:#083f84; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.weight-kpi span { margin-top:4px; color:#758498; font-size:10px; }
.weight-control { display:grid; gap:6px; margin:12px 0; color:#53657a; font-size:11px; font-weight:700; }
.weight-control select { width:100%; min-height:38px; border:1px solid #b8cadb; border-radius:7px; background:#fff; color:#10233e; padding:0 9px; }
.weight-primary,.weight-secondary { width:100%; min-height:39px; border-radius:7px; font-weight:800; }
.weight-primary { border:0; background:#0d56b7; color:#fff; }
.weight-primary:hover { background:#083f84; }
.weight-secondary { border:1px solid #a9c0dd; background:#fff; color:#083f84; }
.weight-secondary:hover { background:#e8f1ff; }
.weight-note { margin:9px 0; color:#6e7e91; font-size:11px; line-height:1.55; }
.weight-quality { padding:9px; border:1px solid #d7e0e9; border-radius:7px; background:#fff; color:#586b82; font-size:11px; line-height:1.5; }
.weight-quality.warning { border-color:#e2ba72; background:#fff8e9; color:#79540c; }
.weight-legend { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:13px 0 8px; color:#607187; font-size:10px; }
.weight-legend i { display:inline-block; width:9px; height:9px; margin-right:3px; border-radius:50%; }
.weight-legend .red { background:#dc3d43; }.weight-legend .blue { background:#1769c2; }.weight-legend .green { background:#2f9b63; }
.weight-top-list { display:grid; gap:5px; margin-top:8px; }
.weight-top-item { display:grid; grid-template-columns:23px 44px minmax(0,1fr); gap:6px; align-items:center; width:100%; padding:8px; border:1px solid transparent; border-radius:7px; background:transparent; color:#263e59; text-align:left; }
.weight-top-item:hover { border-color:#bfd0e2; background:#f4f8fc; }
.weight-top-item .rank { color:#7a899a; font-size:10px; }.weight-top-item .code { color:#083f84; font-weight:800; }.weight-top-item .kg { overflow:hidden; color:#53657a; font-size:11px; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.weight-marker { display:grid; place-items:center; border:2px solid #fff; border-radius:50%; color:#fff; font-size:9px; font-weight:900; box-shadow:0 2px 9px rgba(16,35,62,.38); }
.weight-marker.red { background:#dc3d43; }.weight-marker.blue { background:#1769c2; }.weight-marker.green { background:#2f9b63; }
.weight-detail-card { border:1px solid #c9d7e7; border-left:4px solid #1769c2; border-radius:8px; background:#f5f8fc; padding:13px; }
.weight-detail-card h2 { color:#083f84; }.weight-detail-main { display:flex; align-items:end; justify-content:space-between; gap:8px; margin:6px 0 10px; }.weight-detail-main strong { color:#083f84; font-size:25px; }.weight-detail-main span { color:#66778a; font-size:11px; }
.weight-trend { display:flex; align-items:end; gap:4px; height:75px; padding-top:6px; }
.weight-trend-item { display:flex; flex:1; min-width:0; height:100%; flex-direction:column; align-items:center; justify-content:flex-end; }
.weight-trend-value { width:100%; margin-bottom:3px; overflow:visible; color:#51677f; font-size:8px; font-weight:800; line-height:1; text-align:center; white-space:nowrap; }
.weight-trend-bar { display:block; width:100%; min-width:5px; border-radius:3px 3px 0 0; background:#7da9da; }
.weight-trend-labels { display:flex; justify-content:space-between; color:#7c8998; font-size:9px; }
#weight-import-dialog { width:min(760px,calc(100vw - 32px)); max-height:90vh; overflow:auto; }
.weight-import-content { padding:25px; }.weight-import-content h2 { margin:13px 0 7px; }.weight-import-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:15px 0; }.weight-import-grid label { display:grid; gap:6px; color:#4d6076; font-size:11px; font-weight:800; }.weight-import-grid input { min-height:42px; border:1px solid #b8cadb; border-radius:7px; padding:8px; }.weight-preview { margin:14px 0; overflow:auto; }.weight-preview table { width:100%; border-collapse:collapse; font-size:11px; }.weight-preview th,.weight-preview td { padding:8px; border-bottom:1px solid #e1e7ed; text-align:right; white-space:nowrap; }.weight-preview th:first-child,.weight-preview td:first-child { text-align:left; }.weight-review { display:flex; gap:8px; align-items:flex-start; margin:10px 0; color:#5d6e81; font-size:11px; line-height:1.5; }.weight-import-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }.weight-import-actions button { width:auto; padding:0 16px; }
@media(max-width:760px) { .weight-dashboard { margin:0 0 20px; }.weight-import-grid { grid-template-columns:1fr; }.weight-import-content { padding:19px; }.weight-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
