/* ---------- responsive refinements ---------- */
  @media(max-width:760px){
    .app{padding:18px 14px 54px;}
    .card{padding:24px 20px;}
    .panel{padding-left:18px;padding-right:18px;}

    .dash-toolbar{align-items:flex-start;}
    .toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
    .toolbar-actions .btn{width:100%;padding-left:8px;padding-right:8px;}

    #filterPanel{padding:18px !important;}
    .filter-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      align-items:end;
      gap:12px;
    }
    .filter-title{
      grid-column:1 / -1;
      padding:0;
      margin:0 0 2px;
    }
    .filter-field{min-width:0;}
    .filter-date{width:100%;min-width:0;}
    #filterApplyBtn,#filterClearBtn{width:100%;}
    .filter-info{
      grid-column:1 / -1;
      margin:0;
      line-height:1.4;
    }

    .trend-row{
      display:grid;
      grid-template-columns:repeat(7,minmax(0,1fr));
      gap:7px 4px;
      height:auto;
      align-items:end;
      padding-top:4px;
    }
    .trend-col{
      width:100%;
      height:104px;
      min-width:0;
      justify-content:flex-end;
      padding:3px 1px;
    }
    .trend-bar{max-width:22px;}
    .trend-label{font-size:8.5px;margin-top:4px;}
    .trend-val{font-size:10px;}
    .trend-hint{margin-top:12px;line-height:1.4;}
  }

  @media(max-width:560px){
    h1.page-title{font-size:29px;}
    p.page-desc{font-size:14px;}

    .q-block{padding:19px 0;}
    .scale5{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:5px;
    }
    .scale-btn{
      min-width:0;
      width:100%;
      padding:11px 2px 9px;
      border-radius:11px;
    }
    .scale-btn .emo{font-size:22px;margin-bottom:5px;}
    .scale-btn .lbl{
      font-size:8px;
      letter-spacing:0;
      line-height:1.15;
      overflow-wrap:anywhere;
    }

    .nps-row{gap:4px;}
    .nps-btn{
      flex:1 1 calc((100% - 20px)/6);
      width:auto;
      min-width:36px;
      height:40px;
    }

    .filter-row{grid-template-columns:1fr;}
    .filter-title,.filter-info{grid-column:1;}
    #filterApplyBtn,#filterClearBtn{width:100%;}

    .stat-grid{gap:10px;}
    .stat-card{padding:16px 14px;}
    .stat-card .stat-value{font-size:27px;}

    .panel{padding:20px 14px 8px;}
    .panel h3{font-size:15px;}
  }

  /* Correção específica do filtro de datas no mobile/iPhone */
  @media(max-width:560px){
    #filterPanel .filter-row{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr);
      gap:10px;
      align-items:end;
    }

    #filterPanel .filter-title{
      grid-column:1 / -1;
      margin-bottom:2px;
    }

    #filterPanel .filter-field{
      width:100%;
      min-width:0;
    }

    #filterPanel .filter-date{
      display:block;
      width:100%;
      min-width:0;
      height:46px;
      min-height:46px;
      padding:10px 11px;
      font-size:13px;
      line-height:24px;
      color:var(--black);
      background:#fff;
      border-radius:12px;
      -webkit-appearance:none;
      appearance:none;
    }

    #filterPanel .filter-date::-webkit-date-and-time-value{
      text-align:left;
      min-height:24px;
    }

    #filterPanel .filter-date::-webkit-calendar-picker-indicator{
      opacity:1;
      width:18px;
      height:18px;
      padding:0;
      margin-left:4px;
    }

    #filterApplyBtn,
    #filterClearBtn{
      width:100%;
      min-height:44px;
    }

    #filterPanel .filter-info{
      grid-column:1 / -1;
      margin-top:2px;
    }
  }

  @media(max-width:360px){
    #filterPanel .filter-row{
      grid-template-columns:1fr;
    }

    #filterPanel .filter-title,
    #filterPanel .filter-info{
      grid-column:1;
    }
  }
