/* ================================================================
   ADMIN UX, MENUS, PERGUNTAS E ATIVIDADES
   ================================================================ */

.toolbar-actions{align-items:center;}
.toolbar-menu{position:relative;}
.toolbar-menu-trigger{display:inline-flex;align-items:center;gap:7px;}
.toolbar-menu-trigger span{font-size:12px;transition:transform .18s ease;}
.toolbar-menu-trigger[aria-expanded="true"] span{transform:rotate(180deg);}
.toolbar-dropdown{
  position:absolute;
  z-index:300;
  top:calc(100% + 8px);
  right:0;
  width:260px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg-card);
  box-shadow:0 18px 55px rgba(0,0,0,.18);
}
.toolbar-dropdown-wide{width:290px;}
.toolbar-dropdown button{
  width:100%;
  display:grid;
  gap:2px;
  padding:11px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--black);
  text-align:left;
  cursor:pointer;
}
.toolbar-dropdown button:hover{background:rgba(102,22,216,.075);}
.toolbar-dropdown strong{font-size:11px;}
.toolbar-dropdown span{color:var(--muted);font-size:9px;line-height:1.35;}

.module-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--bg-card);
}
.module-page-header h2{margin:4px 0 5px;font-size:23px;}
.module-page-header p{margin:0;color:var(--muted);font-size:12px;}
.module-eyebrow{
  color:var(--orange);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.module-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:15px;
}
.module-card-header h3{margin:0 0 4px;}
.admin-layout-grid{display:grid;gap:16px;}
.question-admin-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.question-field-wide{grid-column:1/-1;}
.admin-check{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  font-size:11px;
  font-weight:800;
}
.admin-check input{width:17px;height:17px;accent-color:var(--purple);}
.question-form-actions{display:flex;align-items:center;gap:10px;}
.admin-feedback{font-size:10px;font-weight:800;}
.admin-feedback.success{color:#16894a;}
.admin-feedback.error{color:#bf3228;}

.question-admin-list{display:grid;gap:9px;}
.question-admin-row{
  display:grid;
  grid-template-columns:48px minmax(230px,1fr) 115px 110px auto;
  align-items:center;
  gap:11px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg-card);
}
.question-order-controls{display:flex;gap:4px;}
.question-order-btn{
  width:22px;height:25px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--bg-card);
  color:var(--black);
  cursor:pointer;
}
.question-order-btn:disabled{opacity:.35;cursor:not-allowed;}
.question-main strong{display:block;font-size:11px;}
.question-main small{display:block;margin-top:3px;color:var(--muted);font-size:9px;}
.question-type-badge,.question-required-badge,.question-system-badge{
  display:inline-flex;
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  background:#f0ecf8;
  color:var(--purple);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.question-required-badge.optional{background:#f2f2f4;color:#737985;}
.question-system-badge{margin-left:5px;background:#fff0e8;color:#b54a0c;}
.question-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;}

.dynamic-question-block{position:relative;}
.dynamic-question-meta{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.dynamic-question-required{
  color:var(--orange);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.survey-questions-loading{
  padding:22px;
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--muted);
  text-align:center;
  font-size:11px;
}
.dynamic-textarea{min-height:105px;resize:vertical;}

.activity-filters{
  display:grid;
  grid-template-columns:220px minmax(260px,1fr);
  gap:12px;
  margin-bottom:16px;
}
.activity-timeline{display:grid;gap:10px;}
.activity-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
}
.activity-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:11px;
  background:rgba(102,22,216,.09);
  color:var(--purple);
  font-size:13px;
  font-weight:900;
}
.activity-item strong{display:block;font-size:11px;}
.activity-item p{margin:4px 0 0;color:var(--muted);font-size:9.5px;line-height:1.4;}
.activity-item time{color:var(--muted);font-size:9px;white-space:nowrap;}

.role-select{
  min-width:125px;
  padding:7px 28px 7px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--bg-card);
  color:var(--black);
  font:inherit;
  font-size:10px;
  font-weight:800;
}
.role-select:disabled{opacity:.55;cursor:wait;}
.role-save-state{display:block;margin-top:4px;font-size:8px;color:var(--muted);}
.role-save-state.success{color:#16894a;}
.role-save-state.error{color:#bf3228;}

.limited-scroll-list{
  max-height:610px;
  overflow-y:auto;
  padding-right:5px;
  scrollbar-width:thin;
  scrollbar-color:rgba(102,22,216,.38) transparent;
}
.limited-scroll-list::-webkit-scrollbar{width:7px;}
.limited-scroll-list::-webkit-scrollbar-thumb{background:rgba(102,22,216,.32);border-radius:999px;}

.dynamic-analytics-grid{display:grid;gap:11px;}
.dynamic-analytics-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(180px,2fr) 65px;
  align-items:center;
  gap:12px;
}
.dynamic-analytics-row strong{font-size:10.5px;}
.dynamic-analytics-track{height:10px;border-radius:999px;background:#e7e7eb;overflow:hidden;}
.dynamic-analytics-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--purple),var(--orange));}
.dynamic-analytics-value{text-align:right;font-size:11px;font-weight:900;}
.dynamic-text-summary{
  max-height:260px;
  overflow:auto;
  display:grid;
  gap:7px;
}
.dynamic-text-summary div{
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
}

body.dark-mode .toolbar-dropdown,
body.dark-mode .toolbar-dropdown button,
body.dark-mode .question-order-btn,
body.dark-mode .role-select{background:var(--bg-card);color:var(--white);}
body.dark-mode .toolbar-dropdown button:hover{background:rgba(155,91,255,.12);}
body.dark-mode .question-type-badge{background:#302541;color:#cba8ff;}
body.dark-mode .question-required-badge.optional{background:#30343d;color:#b8c0cb;}
body.dark-mode .question-system-badge{background:#3b281d;color:#ffb37d;}
body.dark-mode .dynamic-analytics-track{background:#343943;}

@media(max-width:920px){
  .question-admin-row{grid-template-columns:42px minmax(180px,1fr) 100px auto;}
  .question-admin-row .question-required-badge{display:none;}
}
@media(max-width:700px){
  .toolbar-dropdown{position:fixed;left:14px;right:14px;top:auto;width:auto;}
  .module-page-header{flex-direction:column;}
  .module-page-header .btn{width:100%;}
  .question-admin-form{grid-template-columns:1fr;}
  .question-field-wide{grid-column:auto;}
  .question-admin-row{grid-template-columns:38px 1fr;}
  .question-admin-row > .question-type-badge,
  .question-admin-row > .question-required-badge{display:none;}
  .question-actions{grid-column:1/-1;justify-content:flex-start;}
  .activity-filters{grid-template-columns:1fr;}
  .activity-item{grid-template-columns:36px 1fr;}
  .activity-item time{grid-column:2;}
  .dynamic-analytics-row{grid-template-columns:1fr 55px;}
  .dynamic-analytics-track{grid-column:1/-1;grid-row:2;}
}

.toolbar-actions #usersTabBtn,.toolbar-actions #wheelTabBtn,
.toolbar-actions #exportBtn,.toolbar-actions #exportPdfBtn{display:none!important;}
.dynamic-question-block .scale5{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;
}
.dynamic-question-block .scale-btn{min-height:86px;}
.dynamic-question-block .scale-btn .emo{
  display:block;font-size:26px;line-height:1;margin-bottom:7px;
}
.dynamic-question-block .scale-btn .lbl{
  display:block;font-size:10px;line-height:1.15;
}
.admin-module-view.hidden,#usersView.hidden,#wheelView.hidden,
#questionsView.hidden,#activitiesView.hidden{display:none!important;}
@media(max-width:650px){
  .dynamic-question-block .scale5{
    grid-template-columns:repeat(5,minmax(62px,1fr));
    overflow-x:auto;padding-bottom:5px;
  }
}


/* ---------- alinhamentos e configurações da pesquisa ---------- */
.contact-grid > *{
  width:100%;
  min-width:0;
}
.contact-grid .field,
.contact-cnpj-field,
.contact-cnpj-field .field{
  width:100%;
  box-sizing:border-box;
}
.survey-config-form{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);
  gap:14px;
  align-items:start;
}
.survey-config-description textarea{
  min-height:104px;
  resize:vertical;
}
.survey-config-preview{
  grid-column:1/-1;
  padding:16px 17px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(102,22,216,.045);
}
.survey-config-preview > span{
  display:block;
  margin-bottom:7px;
  color:var(--orange);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.survey-config-preview strong{
  display:block;
  color:var(--black);
  font-size:18px;
}
.survey-config-preview p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.question-custom-emojis{
  grid-column:1/-1;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(102,22,216,.035);
}
.question-custom-emojis > label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.emoji-custom-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(52px,1fr));
  gap:8px;
}
.emoji-input{
  text-align:center;
  font-size:23px!important;
  padding:7px!important;
}
.question-emoji-preview{
  display:inline-flex;
  gap:3px;
  margin-left:7px;
  font-size:13px;
  vertical-align:middle;
}

/* Ações da tabela de usuários */
#usersTableWrap .users-table{
  table-layout:fixed;
}
#usersTableWrap .users-table th:last-child,
#usersTableWrap .users-table td:last-child{
  width:126px;
  min-width:126px;
}
#usersTableWrap .users-table tbody tr{
  height:94px;
}
#usersTableWrap .users-table td{
  vertical-align:middle;
}
#usersTableWrap .user-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:7px;
  width:100%;
}
#usersTableWrap .user-actions .user-action-btn{
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:7px 8px;
  line-height:1.15;
  text-align:center;
}
body.dark-mode .survey-config-preview,
body.dark-mode .question-custom-emojis{
  background:#20242c;
}
body.dark-mode .survey-config-preview strong{
  color:#fff;
}

@media(max-width:820px){
  .survey-config-form{
    grid-template-columns:1fr;
  }
  .survey-config-preview{
    grid-column:auto;
  }
}
@media(max-width:700px){
  .contact-grid{
    grid-template-columns:1fr!important;
  }
  #usersTableWrap .users-table{
    table-layout:auto;
  }
  #usersTableWrap .users-table th:last-child,
  #usersTableWrap .users-table td:last-child{
    width:auto;
    min-width:112px;
  }
  .emoji-custom-grid{
    grid-template-columns:repeat(5,minmax(45px,1fr));
    overflow-x:auto;
  }
}
