/* ===== Trang Ảnh vệ tinh: dùng chung khung với trang bản đồ (map.css) ===== */
.sat-map{position:absolute;inset:0}
.sat-side{display:flex;flex-direction:column}
.sat-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:12px 14px 0;padding:3px;background:#eef3f1;border-radius:999px}
.sat-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:none;border-radius:999px;padding:8px 6px;font-size:12px;font-weight:600;color:#17354c;cursor:pointer}
.sat-tabs button.on{background:#0b8a5c;color:#fff;box-shadow:0 1px 4px #0b8a5c55}
.sat-tabs .icon{width:15px;height:15px}
.sat-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 16px;display:grid;gap:12px;align-content:start}
.sat-scroll section{display:grid;gap:12px}
.sat-scroll section[hidden]{display:none}
.sat-note{display:flex;gap:8px;margin:0;background:#eef5fb;border-radius:10px;padding:10px 12px;font-size:12px;color:#2c4a5e;line-height:1.5}
.sat-note .icon{color:#1f6fd1;margin-top:2px}
.sat-note a{color:#0b7a4e;font-weight:700}
.sat-card{border:1px solid #e1ebe7;border-radius:12px;padding:10px 12px 12px;margin:0;display:grid;gap:8px;min-width:0}
.sat-card legend{font-size:12px;font-weight:700;color:#17354c;padding:0 6px}
.sat-card label{display:grid;gap:3px;font-size:12px;font-weight:600;margin:0}
.sat-card select,.sat-card input[type=date]{width:100%;margin:0;border:1px solid #d3e0dc;border-radius:8px;padding:7px 9px;font-size:12.5px;background-color:#fff;min-height:34px}
.sat-card input[type=range]{width:100%;padding:0;border:0;accent-color:#0b8a5c}
.grid2c{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sat-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sat-sources button{border:2px solid #e1ebe7;border-radius:10px;background:#fff;padding:0 0 6px;cursor:pointer;display:grid;gap:1px;text-align:center;overflow:hidden;font-family:inherit}
.sat-sources button.on{border-color:#0b8a5c;background:#f0faf4}
.sat-sources button:disabled{opacity:.55;cursor:not-allowed}
.sat-sources .ph{display:block;height:46px;background:#445}
.sat-sources .s2{background:linear-gradient(135deg,#2f4a36,#5f7a45 50%,#8b8a5a)}
.sat-sources .l8{background:linear-gradient(135deg,#3b4a5e,#6a7f8e)}
.sat-sources .ot{background:linear-gradient(135deg,#4a3b50,#7e6b88)}
.sat-sources strong{font-size:11.5px;color:#17354c;padding-top:4px}
.sat-sources small{font-size:10px;color:#6a8177}
.sat-displays{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sat-displays label{position:relative;display:grid;gap:1px;border:2px solid #e1ebe7;border-radius:10px;padding:0 0 6px;cursor:pointer;overflow:hidden;text-align:center;background:#fff}
.sat-displays label.on{border-color:#0b8a5c;background:#f0faf4}
.sat-displays input{position:absolute;opacity:0;pointer-events:none}
.sat-displays .sw{display:block;height:34px}
.sat-displays strong{font-size:12px;padding-top:4px;color:#17354c}
.sat-displays small{font-size:10px;font-weight:400;color:#6a8177}
.sat-presets{display:flex;gap:6px}
.sat-presets button{flex:1;border:1px solid #d3e0dc;background:#fff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:600;cursor:pointer;color:#17354c}
.sat-presets button.on{background:#0b8a5c;border-color:#0b8a5c;color:#fff}
.sat-run{width:100%;padding:11px 12px!important;font-size:13.5px!important}
.sat-run .icon{width:17px;height:17px}
.sat-jobs{border:1px solid #e1ebe7;border-radius:12px;padding:8px 12px}
.sat-jobs summary{cursor:pointer;font-size:12.5px;font-weight:700;padding:3px 0}
.sat-jobs .job-list{margin-top:8px}
.job-list{display:flex;flex-direction:column;gap:8px}
.job{display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-align:left;border:1px solid #dfe9e4;background:#fff;border-radius:8px;padding:8px 10px;font-size:12px;cursor:pointer;font-family:inherit;color:inherit}
.job:hover{background:#f1f8f4}
.job small{color:#6a8177;grid-column:1}.job .st{grid-row:1/3;grid-column:2;align-self:center}
.st{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:5px;background:#edf1f3;color:#5a6b73}.st.green{background:#dff3e6;color:#12803f}.st.red{background:#fde3df;color:#c0392b}.st.blue{background:#e1ecfb;color:#1b62b8}
.sat-soon{display:grid;gap:4px;background:#f6f8f7;border-radius:12px;padding:10px 12px;font-size:12px;color:#7b8c96}
.sat-soon strong{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#6a8177}
.sat-soon span{display:flex;align-items:center;gap:8px}.sat-soon .icon{width:14px;height:14px}
.sat-disclaimer{margin:0}

/* Bản đồ */
.sat-legend{position:absolute;z-index:3;left:var(--off);bottom:34px;background:#fff;border-radius:12px;padding:10px 14px;font-size:11px;box-shadow:0 6px 20px #0a2a3a38;width:240px;transition:left .25s}
.sat-legend[hidden],.sat-legend.off,.sat-legend.cmp{display:none}
.sat-legend .bar{display:block;height:10px;border-radius:5px;margin:6px 0 2px;background:linear-gradient(90deg,#a50026,#ffffbf,#006837)}
.sat-legend span{display:flex;justify-content:space-between}.sat-legend em{font-style:normal}.sat-legend small{color:#6a8177;font-size:10px}
.sat-compare{position:absolute;z-index:2;left:var(--off);right:0;top:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff;transition:left .25s}
.sat-compare[hidden]{display:none}
.sat-compare .cm{position:relative}
.sat-compare .cm>div{position:absolute;inset:0}
.sat-compare .tag{position:absolute;z-index:3;left:12px;top:70px;background:#0b8a5c;color:#fff;font-weight:700;border-radius:8px;padding:2px 10px}
.sat-op{display:grid;gap:4px;font-size:12px;font-weight:500;padding:4px}
.sat-op input{width:100%;accent-color:#0b8a5c}
.sat-shell .mp-tools{top:66px}
.sat-shell .mp-menu section h4+.sat-op{margin-top:0}
.sat-shell .mapboxgl-ctrl-bottom-left{left:calc(var(--off) - 8px);bottom:8px}

/* Bảng kết quả bên phải */
.sat-result{position:absolute;z-index:3;right:16px;top:64px;bottom:22px;width:340px;overflow:auto;padding:12px 16px 16px}
.sat-result[hidden]{display:none}
.sat-result-open{position:absolute;z-index:4;right:16px;top:64px}
.sat-result-open[hidden]{display:none}
.sat-block{padding:10px 0;border-top:1px solid #edf2f0}
.sat-block:first-child{border-top:0;padding-top:0}
.sat-block h4{margin:0 0 8px;font-size:13px}
.kv{display:grid;grid-template-columns:96px 1fr;gap:5px 10px;font-size:12px;margin:0}.kv dt{color:#6a8177}.kv dd{margin:0;font-weight:600}
.mm{display:flex;gap:8px}.mm span{flex:1;background:#f2f8f5;border-radius:8px;padding:8px 4px;text-align:center;font-size:10px;color:#587468}.mm b{display:block;font-size:18px;color:#0f3b2d}
.chart{width:100%;height:auto;margin-bottom:6px}
.warns{padding-left:18px;font-size:12px;color:#8a5a0c;margin:0 0 6px}
.sat-tbl{width:100%;font-size:12px}
.sat-tbl th{font-size:11px}
.cdot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sat-empty{display:grid;gap:6px;justify-items:center;text-align:center;padding:30px 8px;color:#5c7280}
.sat-empty .icon{width:34px;height:34px;color:#9bb8a9}
.sat-empty strong{color:#17354c;font-size:14px}
.sat-empty p{margin:0;font-size:12.5px;line-height:1.5}

@media(max-width:820px){
 .sat-shell .sat-scroll{max-height:none}
 .sat-result{position:relative;inset:auto;width:auto;margin:10px}
 .sat-compare{left:0}
 .sat-legend{left:10px}
}
.mp-shell .sat-empty .icon{width:34px;height:34px;flex-basis:34px}
.sat-result{bottom:auto;max-height:calc(100% - 90px)}

/* ===== Bổ sung: các chức năng (chế độ) ===== */
[hidden]{display:none!important}
.sat-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px 14px 0}
.sat-modes button{display:grid;justify-items:center;gap:4px;border:1px solid #e1ebe7;background:#fff;border-radius:11px;padding:8px 2px 7px;font-size:11px;font-weight:600;color:#33566b;cursor:pointer;font-family:inherit;line-height:1.2}
.sat-modes button span{width:30px;height:30px;border-radius:9px;background:#eaf6ef;color:#0b8a5c;display:flex;align-items:center;justify-content:center}
.sat-modes .icon{width:17px;height:17px}
.sat-modes button:hover{border-color:#b6d9c6}
.sat-modes button.on{background:#0b8a5c;border-color:#0b8a5c;color:#fff;box-shadow:0 2px 8px #0b8a5c55}
.sat-modes button.on span{background:#ffffff2e;color:#fff}
.sat-title{margin:0;display:grid;gap:2px}
.sat-title strong{font-size:15px;color:#17354c}
.sat-title span{font-size:12px;color:#587468;line-height:1.5}
.sat-card:disabled{display:none}
.sat-cloud{display:flex;align-items:center;gap:10px}
.sat-cloud input{flex:1}
.sat-cloud output{min-width:38px;text-align:right;font-weight:700;font-size:12.5px}
.sat-card .chk{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500}
.lg-list{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px}
.lg-list li{display:flex;align-items:center;gap:6px;font-size:11px}
.lg-list i{width:11px;height:11px;border-radius:3px;flex:0 0 11px}
.stack{display:flex;height:12px;border-radius:6px;overflow:hidden;margin-bottom:10px;background:#edf2f0}
.stack i{display:block;height:100%}
.cmpcards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cmpcards span{border-radius:10px;padding:10px;font-size:11px;color:#587468;display:grid;gap:2px}
.cmpcards b{font-size:16px}
.cmpcards .up{background:#e8f6ee}.cmpcards .up b{color:#0b7a4e}
.cmpcards .down{background:#fdeceb}.cmpcards .down b{color:#c0392b}
.trow{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #edf2f0;font-size:12.5px}
.trow i{width:12px;height:12px;border-radius:3px}
.trow span{flex:1}
.sat-dl{width:100%;margin-bottom:8px;text-decoration:none}
.sat-legend ul{margin:0}
.sat-legend{width:min(300px,calc(100% - var(--off) - 380px));min-width:230px}
/* So sánh bằng thanh trượt */
.sat-compare{display:block;background:#000}
.sat-compare .cmp-map,.sat-compare .cmp-clip{position:absolute;inset:0}
.sat-compare .cmp-clip{clip-path:inset(0 0 0 50%);z-index:1}
.cmp-handle{position:absolute;z-index:3;top:0;bottom:0;left:50%;width:4px;margin-left:-2px;background:#fff;box-shadow:0 0 8px #0006;cursor:ew-resize;touch-action:none}
.cmp-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 2px 10px #0005;display:flex;align-items:center;justify-content:center;color:#0b8a5c}
.cmp-handle .icon{width:15px;height:15px;margin:0 -2px}
.cmp-tag{position:absolute;z-index:4;top:70px;background:#0b8a5c;color:#fff;font-size:12px;font-weight:700;border-radius:8px;padding:3px 12px;box-shadow:0 2px 8px #0004}
.cmp-tag.a{left:calc(var(--off) + 56px)}
.cmp-tag.b{right:16px;background:#1f6fd1}
.sat-compare{left:var(--off)}
.cmp-tag.a{left:70px}
@media(max-width:820px){.sat-modes{grid-template-columns:repeat(4,1fr)}}
.sat-tbl small.sub{display:block;font-size:10.5px;color:#7a8d84}

/* nguồn ảnh dạng lựa chọn */
.sat-sources label{display:grid;gap:1px;border:2px solid #e1ebe7;border-radius:10px;background:#fff;padding:0 0 6px;cursor:pointer;text-align:center;overflow:hidden;position:relative}
.sat-sources label.on{border-color:#0b8a5c;background:#f0faf4}
.sat-sources label.dis{opacity:.55;cursor:not-allowed}
.sat-sources label input{position:absolute;opacity:0;pointer-events:none}
.sat-sources label .ph{display:block;height:46px}
.sat-sources label strong{font-size:11.5px;color:#17354c;padding-top:4px}
.sat-sources label small{font-size:10px;color:#6a8177}
/* vẽ khu vực */
.sat-drawn{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#ecfeff;border:1px solid #a5e8f0;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:600;color:#0e6f80}
.sat-drawn button{border:0;background:none;color:#0e6f80;text-decoration:underline;cursor:pointer;font-size:12px}
.sat-drawbar{position:absolute;z-index:5;left:50%;transform:translateX(calc(-50% + 180px));top:12px;display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;box-shadow:0 6px 20px #0a2a3a44;padding:8px 12px;font-size:12.5px}
.sat-drawbar .mp-btn{padding:6px 12px}
.sat-drawbar[hidden]{display:none}
.mp-menu-acts button.on{background:#d9f0e3;color:#067a52}
.px-pop{font-size:12.5px;min-width:150px}
.px-pop table{width:100%;margin:6px 0}
.px-pop td{padding:2px 0}.px-pop td:last-child{text-align:right}
.px-pop small{color:#6a8177}

/* ===== Panel trái gọn: vừa khung nhìn, không phải cuộn mới thấy các thành phần chính ===== */
.sat-modes{grid-template-columns:repeat(7,1fr)!important;gap:4px!important;padding:10px 12px 0!important}
.sat-modes button{padding:6px 0 5px!important;font-size:10px!important;gap:3px!important;border-radius:9px!important}
.sat-modes button span{width:26px!important;height:26px!important}
.sat-modes .icon{width:15px!important;height:15px!important}
.sat-scroll{padding:10px 12px 12px!important;gap:9px!important}
.sat-scroll section{gap:9px!important}
.sat-title strong{font-size:14px}
.sat-title span{font-size:11.5px;line-height:1.4}
.sat-note{padding:7px 10px!important;font-size:11.5px!important}
.sat-card{padding:6px 10px 9px!important;gap:6px!important;border-radius:10px!important}
.sat-card legend{font-size:11.5px!important}
.sat-card select,.sat-card input[type=date]{min-height:30px!important;padding:4px 8px!important;font-size:12px!important}
.sat-card label{gap:2px!important;font-size:11.5px!important}
.sat-sources{gap:6px!important}
.sat-sources label{padding-bottom:3px!important;border-width:1.5px!important}
.sat-sources label .ph{height:22px!important}
.sat-sources label strong{font-size:11px!important;padding-top:2px!important}
.sat-sources label small{font-size:9.5px!important}
.sat-displays{grid-template-columns:repeat(4,1fr)!important;gap:5px!important}
.sat-displays label{padding-bottom:3px!important;border-width:1.5px!important}
.sat-displays .sw{height:18px!important}
.sat-displays strong{font-size:10.5px!important;padding:2px 2px 0!important;line-height:1.2}
.sat-displays small{display:none!important}
.sat-presets button{padding:3px 6px!important;font-size:11.5px!important}
.sat-run{padding:9px 12px!important;font-size:13px!important}
.sat-jobs{padding:5px 10px!important}
.sat-disclaimer{font-size:10.5px!important;line-height:1.35}
.sat-card .small.muted{font-size:10.5px;line-height:1.35;margin:0}
@media(max-height:760px){.sat-title span{display:none}.sat-sources label .ph{display:none}}
.sat-sources label .ph{display:none!important}
.sat-title span{display:none}
.sat-card[data-modes~="download"] .small.muted,.sat-card[data-modes~="trend"] .small.muted{display:block}
.sat-cloud{gap:8px}
.sat-card:has(.sat-cloud){display:flex;align-items:center;gap:10px;padding:6px 10px!important}
.sat-card:has(.sat-cloud) legend{float:left;margin:0;padding:0 4px 0 0;white-space:nowrap}
.sat-card:has(.sat-cloud) .sat-cloud{flex:1}
.sat-run{position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 12px #fff}
.sat-jobs{margin-top:2px}
@media(max-height:900px){.sat-title{display:none}.sat-note{display:none}.sat-card{padding:4px 10px 7px!important}.sat-modes button{font-size:9.5px!important}}

/* Thanh chức năng nằm trên bản đồ (thay cho lưới nút ở panel trái) */
.sat-modes{position:absolute!important;z-index:4;left:var(--off);top:12px;right:auto!important;display:flex!important;gap:2px!important;padding:4px!important;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0a2a3a30;max-width:calc(100% - var(--off) - 180px);overflow-x:auto;scrollbar-width:none;transition:left .25s;grid-template-columns:none!important}
.sat-modes::-webkit-scrollbar{display:none}
.sat-modes button{display:inline-flex!important;align-items:center;gap:7px!important;border:0!important;background:none!important;box-shadow:none!important;padding:7px 12px 7px 10px!important;font-size:12px!important;border-radius:9px!important;white-space:nowrap;color:#17354c!important;flex:0 0 auto}
.sat-modes button .icon{width:17px!important;height:17px!important;color:#0b8a5c}
.sat-modes button:hover{background:#eef6f2!important}
.sat-modes button.on{background:#0b8a5c!important;color:#fff!important}
.sat-modes button.on .icon{color:#fff}
.sat-shell .mp-tools{top:66px}
.sat-drawbar{top:66px!important}
.sat-scroll{padding-top:12px!important}
@media(max-width:820px){.sat-modes{left:10px;top:56px;max-width:calc(100% - 20px)}}

/* Kết quả bên phải: giãn đều, dễ đọc */
.sat-result{padding:16px 20px 20px!important}
.sat-result header{margin-bottom:12px!important;padding-bottom:10px;border-bottom:1px solid #edf2f0}
.sat-block{padding:16px 0!important}
.sat-block h4{margin:0 0 12px!important;font-size:13.5px!important;display:flex;align-items:center;gap:8px}
.sat-block h4:before{content:"";width:4px;height:14px;border-radius:2px;background:#0b8a5c}
.kv{gap:9px 12px!important;grid-template-columns:100px 1fr!important}
.mm{gap:10px!important}
.mm span{padding:12px 4px!important}
.sat-tbl td,.sat-tbl th{padding:9px 8px!important}
.trow{padding:10px 0!important}
/* danh sách kết quả đã chạy */
.sat-jobs{border:1px solid #e1ebe7;border-radius:12px;padding:10px 12px!important;display:grid;gap:8px}
.sat-jobs header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px}
.jt{display:flex;background:#eef3f1;border-radius:999px;padding:2px}
.jt button{border:0;background:none;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer;color:#17354c;font-family:inherit}
.jt button.on{background:#0b8a5c;color:#fff}
.job.cur{border-color:#0b8a5c;background:#f0faf4}
.jpager{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:#587468}
.jpager:empty{display:none}
.jpager button{width:26px;height:26px;border-radius:7px;border:1px solid #d3e0dc;background:#fff;cursor:pointer;font-size:14px;line-height:1}
.jpager button:disabled{opacity:.4;cursor:default}
.cmp-pick{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center}
.cmp-pick select{min-width:0;text-overflow:ellipsis}
.cmp-pick .b{width:26px;height:26px;border-radius:8px;background:#0b8a5c;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.cmp-pick .b2{background:#1f6fd1}
.lg-list.one{grid-template-columns:1fr 1fr}
.sat-legend small{display:block;margin-top:4px}
.sat-legend.cmp{display:block!important}
.cmp-pick{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center}
.cmp-pick select{min-width:0;text-overflow:ellipsis}
.cmp-pick .b{width:26px;height:26px;border-radius:8px;background:#0b8a5c;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.cmp-pick .b2{background:#1f6fd1}
.lg-list.one{grid-template-columns:1fr 1fr}
.sat-legend small{display:block;margin-top:4px}
.sat-legend.cmp{display:block!important}
.job{position:relative;padding-left:30px!important}
.job:before{content:"";position:absolute;left:9px;top:50%;width:14px;height:14px;margin-top:-7px;background:#0b8a5c;-webkit-mask:url(/assets/icons/eye.svg) center/contain no-repeat;mask:url(/assets/icons/eye.svg) center/contain no-repeat;opacity:.35}
.job.cur:before{opacity:1}
.job.cur.off:before{-webkit-mask-image:url(/assets/icons/eye-off.svg);mask-image:url(/assets/icons/eye-off.svg);background:#8a9aa4}
.job.cur.off{opacity:.7}

/* Popup giá trị điểm ảnh */
.px-popup .mapboxgl-popup-content{padding:14px 18px 12px;border-radius:12px;box-shadow:0 10px 28px #0a2a3a55;min-width:210px}
.px-popup .mapboxgl-popup-close-button{top:6px;right:6px;width:24px;height:24px;font-size:18px;line-height:22px;padding:0;border-radius:50%;color:#587468;background:none}
.px-popup .mapboxgl-popup-close-button:hover{background:#eef3f1;color:#17354c}
.px-popup .mapboxgl-popup-close-button:focus{outline:none}
.px-pop{font-size:13px}
.px-pop strong{display:block;padding-right:22px;font-size:13.5px;color:#17354c}
.px-pop table{width:100%;margin:8px 0 6px;border-collapse:collapse}
.px-pop td{padding:5px 0;border-top:1px solid #edf2f0}
.px-pop td:last-child{text-align:right;padding-left:16px;white-space:nowrap}
.px-pop small{display:block;color:#7a8d98;font-size:11px}

/* Menu "Lớp bản đồ" của trang Ảnh vệ tinh: 2 cột, gọn, không cần cuộn */
.sat-shell .mp-menu{width:min(560px,calc(100vw - 32px));max-height:none;overflow:visible;display:grid;grid-template-columns:1fr 1fr;column-gap:18px;padding:6px 16px 12px}
.sat-shell .mp-menu[hidden]{display:none}
.sat-shell .mp-menu section{padding:8px 0;border-bottom:1px solid #edf2f0}
.sat-shell .mp-menu section:nth-child(4){grid-column:1/-1;order:5}
.sat-shell .mp-menu section:nth-child(5){order:4}
.sat-shell .mp-menu section:last-child{border-bottom:1px solid #edf2f0}
.sat-shell .mp-menu h4{margin:0 0 4px}
.sat-shell .mp-sw{padding:5px 2px;font-size:12.5px;gap:8px}
.sat-shell .mp-sw em{white-space:nowrap}
.sat-shell .mp-menu .mp-bgrid{gap:8px}
.sat-shell .mp-menu .mp-thumb{height:40px}
.sat-shell .mp-menu-acts{grid-template-columns:1fr;gap:4px}
.sat-shell .mp-menu-acts button{padding:7px 8px;font-size:12px}
.sat-shell .sat-op{padding:2px 2px 4px;font-size:12px}
@media(max-width:620px){.sat-shell .mp-menu{grid-template-columns:1fr}.sat-shell .mp-menu section:nth-child(4){grid-column:auto}}

/* Menu lớp bản đồ & bảng kết quả co theo cửa sổ */
.sat-shell .mp-menu{max-height:calc(100vh - 150px)!important;overflow:auto!important}
@media(max-height:700px){.sat-shell .mp-menu{grid-template-columns:1fr 1fr;padding:2px 14px 8px}.sat-shell .mp-sw{min-height:34px}}
@media(max-width:1100px){.sat-result{width:min(340px,calc(100% - 400px))}}
.sat-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
.sat-strip button{flex:0 0 92px;border:2px solid #e3edeb;border-radius:8px;background:#fff;padding:3px;cursor:pointer;font:inherit;text-align:center}
.sat-strip button:disabled{cursor:default}
.sat-strip button.on{border-color:#0b8a5c}
.sat-strip img{display:block;width:100%;height:68px;object-fit:contain;background:#f0f4f2;border-radius:5px}
.sat-strip span{display:block;font-size:12px;font-weight:600;margin-top:3px}
.sat-strip small{display:block;font-size:11px;color:#587468}
.sat-area-f{display:block;font-size:12.5px;font-weight:600}
.sat-area-f select{width:100%;margin-top:4px}
.sat-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.sat-tbl tr.on{background:#e8f5ef}
.sat-area-list{display:flex;flex-direction:column;gap:6px}
.sat-area-list button{display:grid;grid-template-columns:92px 1fr 62px;gap:8px;align-items:center;border:0;background:none;padding:2px 0;font:inherit;font-size:12.5px;text-align:left;cursor:pointer}
.sat-area-list i{display:block;height:8px;background:#edf3f0;border-radius:5px;overflow:hidden}
.sat-area-list b{display:block;height:100%}
.sat-area-list em{font-style:normal;text-align:right;font-weight:600}
