@media(max-width:1024px){
  .active-filters{left:10px;right:10px;top:64px;}
  .filter-chip{min-height:36px;}
  .mobile-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--border);
    border-top:1px solid var(--border2);
  }
  .mobile-actions button{
    min-height:44px;
    border:0;
    background:var(--white);
    color:var(--text2);
    font-size:11px;
    font-weight:800;
  }
}
@media(min-width:1025px){.mobile-actions{display:none;}}

@media(max-width:1280px){
  .app-shell{grid-template-columns:minmax(270px,300px) minmax(340px,1fr) minmax(320px,350px);}
  .customer-panel{padding:12px;}
}

@media(max-width:1024px){
  .btn-menu{display:flex;}
  .app-shell{display:block;}
  .control-panel{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:min(340px,92vw);
    height:100dvh;
    z-index:1500;
    transform:translateX(-105%);
    transition:transform .25s ease;
    box-shadow:8px 0 28px rgba(0,0,0,.18);
  }
  .control-panel.mob-open{transform:translateX(0);}
  .sidebar-close-row{display:flex;}
  .map-stage{height:calc(100dvh - 64px - 44px);}
  .customer-panel{
    position:fixed;
    right:0;
    top:64px;
    bottom:44px;
    width:min(390px,92vw);
    z-index:1510;
    transform:translateX(105%);
    transition:transform .25s ease;
    box-shadow:-8px 0 28px rgba(0,0,0,.18);
  }
  .customer-panel.mob-open{transform:translateX(0);}
}

@media(max-width:768px){
  header{height:56px;}
  .hdr-title{font-size:13px;white-space:normal;line-height:1.2;}
  .btn-menu{display:flex;}
  .app-shell{display:block;}
  .control-panel{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:min(340px,92vw);
    height:100dvh;
    z-index:1500;
    transform:translateX(-105%);
    transition:transform .25s ease;
    box-shadow:8px 0 28px rgba(0,0,0,.18);
  }
  .control-panel.mob-open{transform:translateX(0);}
  .control-scroll{padding:12px;}
  .sidebar-close-row{display:flex;}
  .map-stage{height:calc(100dvh - 56px - 44px);}
  .customer-panel{
    top:56px;
    bottom:44px;
    width:100vw;
    max-height:none;
    padding:10px;
  }
  .preview-body{max-height:min(190px,28dvh);}
  .active-filters{top:66px;left:10px;right:10px;}
}

@media(max-width:480px){
  .control-panel{width:100vw;}
  .customer-panel{width:100vw;}
  .readable-stats{grid-template-columns:1fr 1fr;}
  .panel-section,.sec.panel-section{padding:12px;}
  .hdr-btns .btn:not(#btnReset):not(#btnHome){display:none;}
}

/* Compact interaction shell */
.title-short,.customer-close-btn{display:none;}

@media(max-width:1024px){
  header{height:60px;padding:0 10px;gap:8px;}
  .hdr-btns{display:none !important;}
  .btn-menu{display:inline-grid;width:40px;height:40px;padding:0;place-items:center;font-size:23px;line-height:1;}
  .logo-img{height:38px;}
  .hdr-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
  .hdr-sub{overflow:hidden;text-overflow:ellipsis;}
  .map-stage{height:calc(100dvh - 60px - 52px);}
  .active-filters{top:12px;}
  .sidebar-overlay{z-index:2100;}
  .control-panel,.customer-panel{z-index:2200;}
  .customer-panel{top:60px;bottom:52px;opacity:0;visibility:hidden;pointer-events:none;}
  .customer-panel.mob-open{opacity:1;visibility:visible;pointer-events:auto;}
  .customer-close-btn{display:inline-grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid var(--border2);background:var(--white);}
  .mobile-actions{z-index:2300;grid-template-columns:1fr 1.25fr 1fr 1fr;min-height:52px;}
  .mobile-actions button{min-width:0;min-height:52px;padding:6px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mobile-actions button[aria-expanded="true"]{color:var(--gold-dd);background:var(--gold-bg2);box-shadow:inset 0 3px 0 var(--gold);}
}

@media(max-width:768px){
  header{height:52px;padding:0 8px;gap:7px;}
  .logo-img{height:32px;}
  .hdr-sub{display:none;}
  .map-stage{height:calc(100dvh - 52px - 52px);}
  .customer-panel{top:52px;bottom:52px;}
  .active-filters{top:10px;}
}

@media(max-width:480px){
  header{padding:0 6px;gap:6px;}
  .btn-menu{width:36px;height:36px;font-size:21px;}
  .logo-img{height:28px;}
  .title-full{display:none;}
  .title-short{display:inline;}
  .hdr-title{font-size:12px;}
  .mobile-actions{grid-template-columns:.85fr 1.3fr 1fr .85fr;}
  .mobile-actions button{font-size:10px;}
}
/* Unified compare drawer */
.cmp-panel{
  position:fixed !important;
  right:0 !important;
  top:64px;
  bottom:0;
  width:min(360px,92vw) !important;
  height:auto !important;
  z-index:1900;
  display:flex !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(105%);
  transition:transform .25s ease,opacity .2s ease,visibility 0s linear .25s;
}
.cmp-panel.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
  transition-delay:0s;
}

@media(max-width:1024px){
  .cmp-panel{top:60px;bottom:52px;z-index:2200;}
  .mobile-actions button[aria-pressed="true"]{color:var(--gold-dd);background:var(--gold-bg2);box-shadow:inset 0 3px 0 var(--gold);}
}

@media(max-width:768px){
  .cmp-panel{top:52px;bottom:52px;width:100vw !important;}
}
/* Bottom-sheet workspace */
.cmp-panel{
  left:0 !important;
  right:0 !important;
  top:auto;
  bottom:0;
  width:100% !important;
  height:min(380px,42dvh) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  align-items:stretch;
  gap:10px 14px;
  padding:14px 18px 16px;
  border-top:2px solid var(--gold-l);
  border-left:0;
  border-radius:8px 8px 0 0;
  transform:translateY(105%);
  box-shadow:0 -12px 34px rgba(37,27,8,.2);
}
.cmp-panel.is-open{transform:translateY(0);}
.cmp-hdr{grid-column:1/-1;}
.cmp-card{min-width:0;min-height:0;overflow:auto;}
.cmp-vs{align-self:center;font-size:13px;}

@media(max-width:1024px){
  .control-panel,
  .customer-panel{
    position:fixed;
    left:0;
    right:0;
    top:auto;
    bottom:52px;
    width:100%;
    max-width:none;
    height:min(560px,68dvh);
    border:0;
    border-top:2px solid var(--gold-l);
    border-radius:8px 8px 0 0;
    box-shadow:0 -12px 34px rgba(37,27,8,.2);
    transform:translateY(105%);
  }
  .control-panel.mob-open,
  .customer-panel.mob-open{transform:translateY(0);}
  .control-panel{max-height:none;}
  .control-scroll{max-height:none;min-height:0;overflow-y:auto;}
  .customer-panel{opacity:0;visibility:hidden;pointer-events:none;}
  .customer-panel.mob-open{opacity:1;visibility:visible;pointer-events:auto;}
  .cmp-panel{
    bottom:52px;
    height:min(560px,68dvh) !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    padding:12px;
  }
}

@media(max-width:560px){
  .control-panel,
  .customer-panel,
  .cmp-panel{height:min(560px,72dvh) !important;}
  .cmp-panel{gap:8px;padding:10px;}
  .cmp-card{padding:9px;}
  .cmp-row{font-size:10px;}
  .cmp-prov{font-size:12px;}
  .cmp-cnt{font-size:24px;}
  .cmp-unit{font-size:10px;}
}
/* Customer comparison content */
.cmp-select-label{display:block;margin-bottom:5px;color:var(--text3);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;}
.cmp-customer-select{width:100%;min-height:40px;padding:7px 34px 7px 10px;font-size:12px;}
.cmp-customer-details{display:grid;gap:8px;margin-top:12px;}
.cmp-customer-details h3{font-size:15px;line-height:1.35;color:var(--gold-dd);}
.cmp-detail-row{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px;}
.cmp-detail-row span{color:var(--text3);}
.cmp-detail-row b{min-width:0;overflow-wrap:anywhere;color:var(--text);}
@media(max-width:560px){
  .cmp-customer-select{min-height:36px;font-size:11px;}
  .cmp-customer-details{gap:4px;margin-top:8px;}
  .cmp-customer-details h3{font-size:12px;}
  .cmp-detail-row{grid-template-columns:1fr;gap:2px;padding:4px 0;font-size:10px;}
}
/* Stable landscape comparison layout */
.cmp-panel{
  display:flex !important;
  flex-direction:column !important;
  gap:12px;
  height:min(420px,46dvh) !important;
  padding:14px 18px 18px;
}
.cmp-hdr{
  flex:0 0 auto;
  min-height:40px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.cmp-landscape{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);
  gap:14px;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.cmp-landscape .cmp-card{
  min-width:0;
  height:100%;
  padding:16px;
  overflow:auto;
}
.cmp-landscape .cmp-vs{
  display:grid;
  place-items:center;
  align-self:stretch;
  color:var(--gold-d);
  font-size:12px;
  font-weight:900;
}
.cmp-customer-details{grid-template-columns:1fr;}

@media(max-width:1024px){
  .cmp-panel{height:min(480px,52dvh) !important;padding:12px;}
  .cmp-landscape{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:10px;}
  .cmp-landscape .cmp-card{padding:12px;}
}

@media(max-width:600px){
  .cmp-panel{height:min(460px,54dvh) !important;}
  .cmp-landscape{
    grid-template-columns:minmax(260px,82vw) 32px minmax(260px,82vw);
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
  }
  .cmp-landscape .cmp-card{scroll-snap-align:start;}
}
/* Preserve customer-list space in compact sheets */
@media(max-width:1024px){
  .customer-panel{grid-template-rows:minmax(0,1fr);}
  .customer-panel .detail-preview{display:none;}
  .customer-panel.has-customer-selection{grid-template-rows:minmax(0,1fr) auto;}
  .customer-panel.has-customer-selection .detail-preview{display:block;}
  .customer-browser,.customer-list{min-height:0;}
}
