/* Camada exclusiva para telas web. O visual mobile existente permanece inalterado. */
.desktop-nav,.detail-modal{display:none}

@media (min-width:980px){
  :root{--desk-ink:#172330;--desk-panel:#ffffff;--desk-page:#eef1f5;--desk-line:#dde2e8}
  body{min-width:980px;background:var(--desk-page);color:var(--desk-ink)}
  .app-shell{max-width:none;min-height:100vh;background:var(--desk-page);box-shadow:none}

  .login-view{display:grid;place-content:center;min-height:100vh;padding:44px;background:linear-gradient(130deg,#ed1c24 0 38%,var(--desk-page) 38%)}
  .login-brand{position:fixed;left:42px;top:34px;margin:0;font-size:.82rem}
  .login-card{width:440px;padding:34px 36px;border-radius:20px}
  .login-card h1{font-size:2rem}

  .brand-header{position:sticky;top:0;z-index:1600;min-height:72px;padding:0 32px;background:#ed1c24;box-shadow:0 2px 12px #18243525}
  .brand-header>strong{min-width:240px;font-size:1rem;letter-spacing:.08em}
  .desktop-nav{display:flex;align-self:stretch;align-items:center;gap:7px;margin:auto}
  .desktop-nav button{height:40px;padding:0 17px;border:1px solid transparent;border-radius:9px;background:transparent;color:#fff;font-size:.92rem;font-weight:900}
  .desktop-nav button:hover{background:#ffffff1c}
  .desktop-nav button.active{border-color:#ffffff73;background:#fff;color:var(--red)}
  .brand-header #logout-button{min-width:64px}

  .list-view{position:relative;display:grid;grid-template-columns:272px minmax(560px,1fr);grid-template-rows:68px auto 1fr auto;gap:0 24px;min-height:calc(100vh - 72px);padding:0 34px 34px;background:var(--desk-page)}
  .welcome-line{grid-column:2;grid-row:1;align-self:center;padding:0;border-bottom:1px solid var(--desk-line)}
  .welcome-line strong{font-size:1.07rem;letter-spacing:.01em}
  .welcome-line small{font-size:.93rem}
  .search-box{grid-column:1;grid-row:1;align-self:center;height:47px;padding:0 13px;border-color:#ccd3dc;border-radius:11px;box-shadow:none}
  .search-box span{font-size:1.55rem}
  .search-box input{font-size:.95rem}
  .day-filter,.frequency-filter{grid-column:1;margin:0;padding:0;overflow:visible}
  .day-filter{grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:20px 0 13px;border-top:0}
  .day-filter:before{grid-column:1/-1;content:'DIA DA VISITA';padding-bottom:3px;color:#68727f;font-size:.72rem;font-weight:900;letter-spacing:.08em}
  .day-filter button{min-width:0;height:40px;border:1px solid var(--desk-line);border-radius:9px;background:#fff;color:#4f5965;font-size:.78rem}
  .day-filter button.active{border-color:#ed1c24;background:#ed1c24;color:#fff;box-shadow:none}
  .frequency-filter{grid-row:3;display:flex;flex-direction:column;align-self:start;gap:7px;padding:15px 0;border-top:1px solid var(--desk-line)}
  .frequency-filter:before{content:'TIPO DE SEMANA';padding-bottom:3px;color:#68727f;font-size:.72rem;font-weight:900;letter-spacing:.08em}
  .frequency-filter button{width:100%;padding:11px 13px;border:1px solid var(--desk-line);border-radius:9px;background:#fff;color:#4f5965;font-size:.78rem;text-align:left}
  .frequency-filter button.active{border-color:#ed1c24;background:#fff0f1;color:#c61720;box-shadow:none}
  .list-toolbar{grid-column:2;grid-row:2;min-height:64px;padding:0 2px;border-bottom:1px solid var(--desk-line)}
  .list-toolbar p{font-size:.9rem}
  .list-toolbar button{padding:9px 15px;border-color:#ed1c24;border-radius:8px;background:#ed1c24;color:#fff;font-size:.84rem}
  .client-list{grid-column:2;grid-row:3;align-content:start;gap:0;margin-top:16px;border:1px solid var(--desk-line);border-radius:13px;background:#fff;box-shadow:0 5px 18px #1424370d}
  .client-card{min-height:76px;padding:13px 52px 12px 64px;border-radius:0;border-bottom:1px solid #edf0f3;box-shadow:none}
  .client-card:first-child{border-radius:13px 13px 0 0}.client-card:last-child{border-bottom:0;border-radius:0 0 13px 13px}
  .client-card:before{width:4px}.client-card:hover{z-index:1;background:#fff8f8;box-shadow:inset 0 0 0 1px #ffced1}
  .shop-icon{left:20px;top:22px;width:32px;height:32px}
  .client-card strong{font-size:.96rem}.client-card .reason{display:inline;margin-top:4px;font-size:.83rem}.client-card .pv{display:inline;margin:0 0 0 13px;color:#7d8590;font-size:.83rem}.client-arrow{top:20px;right:19px;font-size:2rem}
  .empty-state{padding:34px}.load-more{grid-column:2;grid-row:4;align-self:start;margin:18px 0 0}

  .map-view{height:calc(100vh - 72px);background:var(--desk-page)}
  .map-view>.sub-header{display:none}
  .map-tools{position:relative;z-index:1001;display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:13px;align-items:end;padding:14px 28px;border-bottom:1px solid var(--desk-line);box-shadow:0 2px 8px #14243710}
  .map-search{padding:0}.map-search-box{height:43px;border-radius:9px;box-shadow:none}.map-search-results{left:0;right:0;top:49px}
  .map-filters-toggle{display:none}
  .map-filters,.map-filters.collapsed{display:block;padding:0}
  .map-filter-grid{grid-template-columns:repeat(5,minmax(118px,1fr));gap:9px}
  .multi.wide{grid-column:auto}.multi>span{margin-bottom:4px;font-size:.72rem}.multi-trigger{height:37px;font-size:.8rem}
  .map-filter-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}.map-filter-actions button{height:32px;padding:0 13px;font-size:.77rem}.map-filter-actions button:first-child{background:#ed1c24;color:#fff}
  .map-view>p{min-height:34px;padding:9px 29px 7px;background:#fff;font-size:.8rem}
  #route-map{min-height:470px}
  .leaflet-control-zoom{margin:18px!important}.leaflet-popup-content-wrapper{border-radius:12px}.leaflet-popup-content{margin:13px 14px}

  .detail-modal{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:32px;background:#12203078;backdrop-filter:blur(3px)}
  .detail-modal.hidden{display:none!important}
  .detail-modal-card{width:min(760px,calc(100vw - 64px));max-height:calc(100vh - 64px);overflow:auto;border-radius:18px;background:var(--desk-page);box-shadow:0 24px 70px #0b142166}
  .detail-modal-top{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:16px 22px;background:#ed1c24;color:#fff}
  .detail-modal-top small,.detail-modal-top strong{display:block}.detail-modal-top small{margin-bottom:3px;font-size:.68rem;font-weight:900;letter-spacing:.09em}.detail-modal-top strong{font-size:1.14rem}
  .detail-modal-top button{width:36px;height:36px;border:1px solid #ffffffa8;border-radius:50%;background:transparent;color:#fff;font-size:1.65rem;line-height:1}
  .detail-modal .detail-content{padding:22px}.detail-modal .identity-card{padding:18px}.detail-modal .identity-card h1{font-size:1.2rem}.detail-modal .address-card{padding:15px}.detail-modal .info-grid{grid-template-columns:repeat(3,1fr);gap:12px}.detail-modal .info-card{min-height:105px;padding:15px}.detail-modal .info-card h2{font-size:.86rem}.detail-modal .info-card p{font-size:.93rem}
}

@media (min-width:980px) and (max-width:1199px){
  .list-view{grid-template-columns:248px minmax(500px,1fr);padding-inline:22px;gap:0 18px}
  .brand-header{padding-inline:22px}.brand-header>strong{min-width:208px;font-size:.9rem}.desktop-nav button{padding-inline:12px}
  .map-tools{grid-template-columns:300px 1fr;padding-inline:20px}.map-filter-grid{grid-template-columns:repeat(3,1fr)}
}
