/* Global executive polish for Mistery Shopper */
:root{
  --bg:#f3f6fa;
  --card:#ffffff;
  --line:#d9e2ec;
  --line-strong:#c8d4e1;
  --text:#102033;
  --muted:#63758a;
  --brand:#1f6feb;
  --brand2:#25a6c8;
  --success:#25906f;
  --warning:#c28416;
  --danger:#c94740;
  --soft-blue:#eef5ff;
  --soft-green:#edf8f4;
  --shadow:0 14px 36px rgba(16,32,51,.08);
  --shadow-sm:0 6px 18px rgba(16,32,51,.06);
}

html,body{font-family:"Inter","Segoe UI",Arial,sans-serif;color:var(--text)}
body{
  background:
    linear-gradient(180deg,#f8fafc 0%,#f3f6fa 48%,#eef4f8 100%) !important;
  color:var(--text);
}

.top,.topbar{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 8px 24px rgba(16,32,51,.05);
}
.top strong,.brand-name{color:var(--text);letter-spacing:0 !important}
.top-actions{display:flex;align-items:center;gap:12px}
.sidebar-collapse{
  display:none;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:#2d4662;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:none;
}
.sidebar-collapse:hover{
  border-color:#b9c9dd;
  background:#f7faff;
}
.sidebar-collapse[aria-pressed="true"]{
  background:#102033;
  color:#fff;
  border-color:#102033;
}
.top-icon,.avatar{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:#334b63;
  font-weight:900;
}
.avatar{background:#2563eb;color:#fff;border-color:#2563eb}
.admin-name{font-size:13px;font-weight:800;color:#334b63}
.top a,.link-btn,button.save,button:not(.menu-toggle):not(.sidebar-collapse):not(.nav):not(.modal-close):not(.tab-btn):not(.secondary):not(.toggle):not(.evo-toggle):not(.weight-toggle){
  background:linear-gradient(135deg,var(--brand),#1557c0) !important;
  border:1px solid rgba(21,87,192,.18) !important;
  border-radius:8px !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(31,111,235,.16);
}
.link-btn.secondary,button.secondary,.modal-close,.tab-btn{
  background:#fff !important;
  border:1px solid var(--line) !important;
  color:#28465f !important;
  box-shadow:none !important;
}
.link-btn.danger,button.danger{
  background:linear-gradient(135deg,#dc3545,#b42334) !important;
  border-color:rgba(180,35,52,.22) !important;
  color:#fff !important;
}

body.admin-shell .wrap{padding:14px !important;gap:14px !important}
.side,.panel,main,.card,form,.access,.panel,.matrix-card,.modal-card{
  background:rgba(255,255,255,.98) !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow) !important;
}
.side{
  border-radius:12px !important;
  padding:10px 12px !important;
}
.panel{
  border-radius:12px !important;
  padding:18px !important;
}
.logo,.brand img,img[alt="Logo"]{
  filter:drop-shadow(0 8px 16px rgba(31,111,235,.10));
}
.chip{
  background:#f6f9fc !important;
  border-color:var(--line) !important;
  color:#516476;
}
.menu{gap:6px !important}
.menu button,.menu-link{
  border-radius:8px !important;
  border-color:var(--line) !important;
  background:#fff !important;
  color:#253d55 !important;
  box-shadow:0 1px 0 rgba(16,32,51,.03);
}
.menu button.active{
  background:linear-gradient(135deg,#2f6bff,#1b50d5) !important;
  color:#fff !important;
  border-color:#2f6bff !important;
  box-shadow:0 12px 22px rgba(47,107,255,.22);
}
.menu button span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.side-role{
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.side-role span{display:block;color:var(--muted);font-size:11px;font-weight:800}
.side-role strong{display:block;margin-top:4px;color:var(--text)}
.side-copy{color:#8a9aab;font-size:11px;text-align:center;font-weight:700}

h1,h2,h3{
  color:var(--text) !important;
  letter-spacing:0 !important;
}
h1{font-size:26px !important}
h2{font-size:19px !important}
.muted,p{color:var(--muted)}

.cards{gap:12px !important}
.card,.metric-card,.field,.detail-item,.evidence-card,.nps-wrap{
  border-radius:8px !important;
  border-color:var(--line) !important;
  background:#fff !important;
  box-shadow:var(--shadow-sm) !important;
}
.metric-card.primary{
  background:linear-gradient(135deg,#102033,#1b4866) !important;
  border-color:#102033 !important;
}
.metric-card strong{letter-spacing:0 !important}

label,.field span,.access span,.detail-item span{
  color:#465c72 !important;
  letter-spacing:0 !important;
}
input,select,textarea{
  border-radius:8px !important;
  border-color:#cdd8e5 !important;
  background:#fff !important;
  color:var(--text) !important;
  box-shadow:0 1px 0 rgba(16,32,51,.02);
}
input:focus,select:focus,textarea:focus{
  outline:0 !important;
  border-color:var(--brand) !important;
  box-shadow:0 0 0 3px rgba(31,111,235,.14) !important;
}

.table{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.table table{border-collapse:separate !important;border-spacing:0}
.table th{
  background:#f6f9fc;
  color:#334b63 !important;
  font-size:12px !important;
  text-transform:none;
  border-bottom:1px solid var(--line) !important;
}
.table td{
  border-bottom:1px solid #edf2f7 !important;
  color:#1f3144;
}
.table tbody tr:hover td{background:#f9fbfe}

.measurement-hero{
  background:#fff !important;
  border-radius:12px !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow) !important;
}
.matrix-card{border-radius:12px !important}
.matrix-toolbar{background:#f8fafc !important;border-color:var(--line) !important}
.audit-matrix .matrix-title th{
  background:#102033 !important;
  color:#fff !important;
}
.audit-matrix th,.audit-matrix td{border-color:#d9e2ec !important}
.audit-matrix th.matrix-label{background:#fbfcfe !important}
.audit-matrix .matrix-meta th.matrix-label{
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
}
.audit-matrix col.matrix-total-col{width:86px}
.audit-matrix td.matrix-total-cell,
.audit-matrix td.matrix-total-merged{
  position:sticky;
  right:0;
  z-index:1;
  background:#f8fafc !important;
  box-shadow:-4px 0 10px rgba(15,35,60,.06);
}
.audit-matrix td.matrix-total-merged{
  background:#eaf2fb !important;
  text-align:center;
  vertical-align:middle;
  font-weight:900;
}
.matrix-total-header{
  display:block;
  color:#102033;
  font-size:12px;
  letter-spacing:0;
}
.matrix-total-pill{
  margin:-4px -5px !important;
  font-size:12px !important;
  border-left:2px solid rgba(16,32,51,.15);
}
.audit-matrix .matrix-question th,.audit-matrix .matrix-block th{
  background:#edf4fb !important;
}
.score-high{background:#cfeee2 !important;color:#164f3e !important}
.score-mid{background:#fde9b4 !important;color:#5c4110 !important}
.score-low{background:#ffd2cb !important;color:#7d251f !important}
.score-critical{background:#d75b54 !important;color:#fff !important}
.audit-ok{background:var(--success) !important}
.audit-no{background:var(--danger) !important}

.badge-ok{background:#e7f6ef !important;color:#176339 !important;border-color:#a7dec1 !important}
.badge-warn{background:#fff6dd !important;color:#7c560e !important;border-color:#efca74 !important}
.badge-bad{background:#ffe4e8 !important;color:#a11d32 !important;border-color:#f2a8b4 !important}
.err{background:#fff0f0 !important;border-color:#f3b8b5 !important;color:#9f2722 !important}
.ok{background:#eefaf3 !important;border-color:#a9dfbe !important;color:#176339 !important}

.modal{background:rgba(16,32,51,.42) !important}
.modal-card{border-radius:12px !important}
.detail-item strong{color:var(--text)}

.form-tabs{border-bottom:1px solid var(--line);padding-bottom:8px}
.tab-btn.active{
  background:#102033 !important;
  border-color:#102033 !important;
  color:#fff !important;
}
.question,.transcript-row,.evidence-card{
  border-color:var(--line) !important;
  background:#fff !important;
}
.question label{
  border-radius:8px !important;
}
.question label:has(input[value="si"]:checked){
  background:#e4f6ee !important;
  border-color:#99d9ba !important;
  color:#176339 !important;
}
.question label:has(input[value="no"]:checked){
  background:#fff0f0 !important;
  border-color:#f0aaa7 !important;
  color:#9f2722 !important;
}
.nps-pill input:checked + span{
  background:#102033 !important;
  box-shadow:0 8px 18px rgba(16,32,51,.18) !important;
}

.ai-answer-card{
  border-left:4px solid var(--brand) !important;
}
.ai-answer{
  color:#1e3448;
}

@media(max-width:980px){
  body.admin-shell .side{border-radius:0 12px 12px 0 !important}
  body.admin-shell .panel{padding:14px !important}
  h1{font-size:23px !important}
  .dash-filters,.measurement-filter{
    justify-content:flex-start;
    max-width:none;
    width:100%;
  }
  .dash-filters label,.measurement-filter label,
  .data-filter-form .filter-measurement,
  .data-filter-form .filter-company,
  .data-filter-form .filter-brand,
  .data-filter-form .filter-city,
  .data-filter-form .filter-dealer{
    flex:1 1 min(220px, 46%);
    max-width:none;
  }
}
@media(max-width:560px){
  .dash-filters label,.measurement-filter label,
  .data-filter-form .filter-measurement,
  .data-filter-form .filter-company,
  .data-filter-form .filter-brand,
  .data-filter-form .filter-city,
  .data-filter-form .filter-dealer,
  .dash-filters button,.measurement-filter button{
    flex:1 1 100%;
    width:100%;
  }
}

/* Proposal-aligned admin shell */
@media(min-width:981px){
  body.admin-shell{
    overflow:hidden !important;
    background:#f5f8fc !important;
  }
  body.admin-shell .top{
    position:fixed !important;
    top:0 !important;
    left:220px !important;
    right:0 !important;
    height:68px !important;
    z-index:30 !important;
    padding:0 28px !important;
    border-left:1px solid var(--line) !important;
  }
  body.admin-shell .sidebar-collapse{
    display:grid;
  }
  body.admin-shell .top-left::before{
    content:none;
  }
  body.admin-shell .wrap{
    height:100vh !important;
    padding:0 !important;
    display:block !important;
  }
  body.admin-shell .side{
    position:fixed !important;
    inset:0 auto 0 0 !important;
    width:220px !important;
    z-index:35 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:18px 12px !important;
    border-radius:0 !important;
    border-top:0 !important;
    border-left:0 !important;
    border-bottom:0 !important;
    overflow:hidden auto !important;
    box-shadow:none !important;
  }
  body.admin-shell .side .logo{
    height:58px !important;
    width:100%;
    object-fit:contain;
    margin:0 0 6px !important;
  }
  body.admin-shell .side .chip{display:none !important}
  body.admin-shell .menu{
    min-width:0 !important;
    display:grid !important;
    gap:5px !important;
    align-items:stretch !important;
  }
  body.admin-shell .menu button{
    width:100% !important;
    min-height:39px !important;
    justify-content:flex-start !important;
    padding:9px 14px !important;
    border-radius:8px !important;
    font-weight:750 !important;
  }
  body.admin-shell .menu button::before{
    width:22px;
    display:inline-grid;
    place-items:center;
    margin-right:8px;
    color:currentColor;
    opacity:.9;
    font-size:15px;
  }
body.admin-shell .menu button[data-screen="dashboard"]::before{content:"\2302"}
body.admin-shell .menu button[data-screen="clients"]::before{content:"\25C8"}
  body.admin-shell .menu button[data-screen="users"]::before{content:"\25C9"}
  body.admin-shell .menu button[data-screen="registrations"]::before{content:"\25A1"}
  body.admin-shell .menu button[data-screen="measurements"]::before{content:"\2301"}
  body.admin-shell .menu button[data-screen="measurement-data"]::before{content:"\21E7"}
  body.admin-shell .menu button[data-screen="typed-data"]::before{content:"\25A6"}
  body.admin-shell .menu button[data-screen="supervisor"]::before{content:"\25CE"}
  body.admin-shell .menu button[data-screen="analysis"]::before{content:"\25A7"}
  body.admin-shell .menu button[data-screen="ai-config"]::before{content:"\2699"}
  body.admin-shell .menu button[data-screen="ai-agent"]::before{content:"\25A3"}
body.admin-shell .menu button[data-screen="forms"]::before{content:"\25A4"}

  body.admin-shell .side-role{
    margin-top:auto;
  }
  body.admin-shell .panel{
    position:fixed !important;
    top:68px !important;
    left:220px !important;
    right:0 !important;
    bottom:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#f5f8fc !important;
    padding:18px !important;
    overflow:auto !important;
  }
  body.admin-shell.sidebar-collapsed .top{
    left:76px !important;
  }
  body.admin-shell.sidebar-collapsed .panel{
    left:76px !important;
  }
  body.admin-shell.sidebar-collapsed .side{
    width:76px !important;
    padding:18px 10px !important;
    align-items:center !important;
  }
  body.admin-shell.sidebar-collapsed .side .logo{
    height:38px !important;
    max-width:50px;
    margin:0 auto 12px !important;
  }
  body.admin-shell.sidebar-collapsed .side-role,
  body.admin-shell.sidebar-collapsed .side-copy,
  body.admin-shell.sidebar-collapsed .side .chip{
    display:none !important;
  }
  body.admin-shell.sidebar-collapsed .menu{
    width:100%;
  }
  body.admin-shell.sidebar-collapsed .menu button{
    width:48px !important;
    min-width:48px !important;
    min-height:44px !important;
    padding:0 !important;
    justify-content:center !important;
    overflow:hidden;
  }
  body.admin-shell.sidebar-collapsed .menu button span{display:none !important}
  body.admin-shell.sidebar-collapsed .menu button::before{
    margin:0 !important;
    width:100% !important;
    font-size:17px !important;
  }
}

.screen-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:flex-start;
  gap:22px;
  margin-bottom:16px;
  padding:2px 2px 0;
}
.screen-heading h2{margin:0 0 5px}
.screen-heading p{margin:0}
.registration-toolbar{display:grid;grid-template-columns:minmax(230px,280px) auto;align-items:end;gap:10px}
.registration-filter{margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important}
.registration-filter label{display:grid;gap:5px;color:#29445f;font-size:11px;font-weight:800}
.registration-filter select{width:100%;min-width:0;min-height:40px;background:#fff}
.registration-toolbar .link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;white-space:nowrap}
.quick-assignment{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(360px,1.7fr) minmax(190px,.7fr) auto;
  align-items:end;
  gap:12px;
  margin-bottom:16px;
  padding:16px !important;
  border:1px solid #d8e4f2 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 7px 20px rgba(30,71,117,.06) !important;
}
.quick-assignment label{display:block;margin:0 0 6px;color:#29445f;font-size:12px;font-weight:800}
.quick-assignment select,.quick-assignment input{width:100%;min-height:42px}
.quick-assignment button{min-height:42px;white-space:nowrap}
.registration-assignment{display:grid;gap:2px;min-width:190px}
.registration-assignment strong{color:#102744;font-size:12px}
.registration-assignment span{color:#5d7188;font-size:12px;line-height:1.35}
.assignment-delete-form{display:inline !important;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important}
.assignment-delete-form button{min-height:34px;white-space:nowrap}
.assignment-delete-blocked{opacity:.65;cursor:not-allowed !important;box-shadow:none !important}
.assignment-capacity{margin-top:16px;border:1px solid #d8e4f2;border-radius:8px;background:#fff;overflow:hidden}
.assignment-capacity summary{cursor:pointer;padding:14px 16px;color:#173d68;font-weight:800;list-style-position:inside}
.assignment-capacity[open] summary{border-bottom:1px solid #d8e4f2}
.assignment-capacity .table{border:0;border-radius:0;box-shadow:none}
@media(max-width:1250px){
  .screen-heading{grid-template-columns:1fr}
  .registration-toolbar{justify-content:start}
  .quick-assignment{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .screen-heading{align-items:stretch}
  .registration-toolbar{grid-template-columns:1fr}
  .registration-filter,.registration-filter select{width:100%}
  .registration-toolbar .link-btn{width:100%}
  .quick-assignment{grid-template-columns:1fr;padding:14px}
}

.dash-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:16px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.dash-head h1{margin:0 0 6px !important}
.dash-head p{margin:0}
.dash-filters{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:760px}
.measurement-filter{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:760px;
}
.dash-filters label,.measurement-filter label{
  flex:0 1 128px;
  min-width:108px;
  max-width:180px;
  margin:0;
  color:#244563;
  font-size:12px;
  font-weight:800;
}
.data-filter-form .filter-measurement{
  flex-basis:160px;
  max-width:180px;
}
.data-filter-form .filter-company,
.data-filter-form .filter-brand,
.data-filter-form .filter-city{
  flex-basis:116px;
  max-width:132px;
}
.data-filter-form .filter-dealer{
  flex-basis:210px;
  max-width:240px;
}
.dash-filters select,.measurement-filter select{
  width:100%;
  min-width:0;
  padding:9px 10px;
  background:#fff;
  border-color:#c8d8ea;
  box-shadow:0 6px 14px rgba(28,79,128,.07);
}
.dash-filters button,.measurement-filter button{
  align-self:end;
  padding:10px 12px !important;
  min-height:38px;
}
.weight-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:end;
  min-height:38px;
  padding:7px 10px !important;
  border:1px solid #c8d8ea !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#4b6078 !important;
  box-shadow:none !important;
  white-space:nowrap;
}
.weight-toggle span{
  position:relative;
  display:block;
  width:30px;
  height:17px;
  border-radius:999px;
  background:#c8d4e2;
  transition:background .16s ease;
}
.weight-toggle span::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,40,70,.28);
  transition:transform .16s ease;
}
.weight-toggle.active{border-color:#8eb5f4 !important;background:#eef5ff !important;color:#174f9b !important}
.weight-toggle.active span{background:#2563eb}
.weight-toggle.active span::after{transform:translateX(13px)}
.weight-toggle strong{font-size:12px;font-weight:850}
.matrix-toolbar-actions{
  display:grid !important;
  grid-template-columns:minmax(190px,auto) auto;
  align-items:center !important;
  justify-content:end;
  gap:12px 16px !important;
  flex:0 0 auto;
  max-width:520px;
}
.matrix-excel-link{display:inline-flex !important;align-items:center !important;justify-content:center;min-height:38px;margin:0 !important;white-space:nowrap}
@media(max-width:1100px){
  .matrix-toolbar{align-items:flex-start !important;flex-direction:column}
  .matrix-toolbar-actions{width:100%;max-width:none;justify-content:space-between}
}
@media(max-width:640px){
  .matrix-toolbar-actions{grid-template-columns:1fr;justify-content:stretch}
  .matrix-excel-link{width:100%}
}
.dash-select{
  min-width:190px;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.dash-select span{display:block;font-size:11px;color:var(--muted);font-weight:800}
.dash-select strong{display:block;margin-top:3px;color:var(--text)}
.dash-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.dash-kpi{
  min-height:136px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.dash-kpi i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#fff;
  font-style:normal;
  font-weight:900;
  margin-bottom:12px;
}
.kpi-blue{background:#2563eb}.kpi-green{background:#2faf7f}.kpi-violet{background:#5b6ee1}.kpi-red{background:#df4c4b}
.dash-kpi span{display:block;font-size:12px;font-weight:900;color:#334b63}
.dash-kpi strong{display:block;margin-top:5px;font-size:28px;line-height:1;color:#102033}
.dash-kpi small{display:block;margin-top:7px;color:var(--muted);font-weight:650}
.dash-kpi a{display:inline-block;margin-top:13px;color:#1f6feb;text-decoration:none;font-size:13px;font-weight:800}
.evolution-card{
  margin-bottom:14px;
}
.evolution-card .dash-card-head{align-items:flex-start}
.evolution-cross-form{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin:0;
}
.evolution-cross-form label{
  width:170px;
  margin:0;
  color:#244563;
  font-size:12px;
  font-weight:800;
}
.evolution-cross-form select{
  width:100%;
  padding:9px 10px;
  min-width:0;
}
.evo-note{
  margin:0 0 8px;
  font-size:12px;
}
.evolution-table-wrap{
  width:100%;
  overflow-x:auto;
}
.evolution-table{
  width:100%;
  min-width:760px;
  border-collapse:separate;
  border-spacing:0 6px;
}
.evolution-table th,.evolution-table td{
  padding:9px 10px;
  text-align:center;
  font-size:12px;
}
.evolution-table thead th{
  color:#64748b;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0;
  border-bottom:1px solid #e5edf7;
}
.evolution-table tbody th{
  position:sticky;
  left:0;
  z-index:1;
  text-align:left;
  color:#10213a;
  background:#fff;
  font-weight:900;
  min-width:220px;
}
.evolution-table .evo-total-row th{
  background:#102033;
  color:#fff;
}
.evolution-table .evo-block-row th{
  background:#f7faff;
  border-left:3px solid #2563eb;
  box-shadow:inset 0 -1px 0 #e4edf8;
}
.evolution-table .evo-question-row th{
  min-width:310px;
  padding-left:42px;
  background:#ffffff;
  color:#40576d;
  font-weight:750;
  font-size:11px;
  line-height:1.25;
  border-left:3px solid #dbeafe;
}
.evo-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  padding:0;
  border:0 !important;
  background:transparent !important;
  color:#102033 !important;
  box-shadow:none !important;
  font:inherit;
  text-align:left;
  cursor:pointer;
  min-height:22px;
  border-radius:0 !important;
}
.evo-toggle span{
  width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  border:1px solid #b8cef3;
  background:#fff;
  color:#1f5fd1;
  font-weight:900;
  font-size:12px;
  line-height:1;
  flex:0 0 auto;
}
.evo-toggle[aria-expanded="true"] span{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
.evo-toggle:hover{
  color:#1f5fd1 !important;
}
.evolution-table tbody td{
  border:1px solid #e3eaf4;
  background:#f8fafc;
}
.evolution-table tbody td strong{
  display:inline-block;
  min-width:54px;
}
.evolution-table .evo-ok{background:#dff7e8;color:#176339;border-color:#a7dec1}
.evolution-table .evo-mid{background:#fff3d8;color:#805300;border-color:#efca74}
.evolution-table .evo-low{background:#ffe4e8;color:#a11d32;border-color:#f2a8b4}
.evolution-table .evo-empty{background:#f1f5f9;color:#64748b}
.evo-trend{
  display:inline-block;
  min-width:76px;
  border-radius:999px;
  padding:6px 9px;
  font-weight:900;
}
.evo-trend-up{background:#e7f6ef;color:#176339}
.evo-trend-down{background:#ffe4e8;color:#a11d32}
.evo-trend-neutral{background:#eef2f7;color:#475569}
.dash-grid{
  display:grid;
  grid-template-columns:minmax(500px,1.45fr) minmax(280px,.55fr) minmax(260px,.52fr);
  gap:14px;
  align-items:stretch;
}
.dash-card{
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.alert-panel{
  margin:0 0 14px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  scroll-margin-top:86px;
}

body.is-navigating::before{
  content:"";
  position:fixed;
  z-index:9999;
  top:0;
  left:0;
  width:38%;
  height:3px;
  background:#2f6bff;
  box-shadow:0 0 10px rgba(47,107,255,.45);
  animation:route-progress .8s ease-in-out infinite alternate;
}
body.is-navigating .panel{opacity:.72;transition:opacity .12s ease}
@keyframes route-progress{from{transform:translateX(-25%)}to{transform:translateX(190%)}}
.matrix-lazy{min-height:220px;background:#fff}
.module-loading,.module-error{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:24px;
  color:#58708b;
}
.loading-spinner{
  width:24px;
  height:24px;
  border:3px solid #dce9f8;
  border-top-color:#2f6bff;
  border-radius:50%;
  animation:module-spin .75s linear infinite;
}
@keyframes module-spin{to{transform:rotate(360deg)}}
.pagination-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 4px;
  color:#5f7590;
  font-size:13px;
}
.pagination-actions{display:flex;align-items:center;gap:7px}
.pagination-actions a[aria-disabled="true"]{pointer-events:none;opacity:.45}
.typed-db-card{
  margin:0 0 14px;
}
.typed-db-table{
  box-shadow:none !important;
}
.typed-db-table th,.typed-db-table td{
  font-size:12px !important;
}
.alert-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.alert-head h3{margin:0 0 4px;font-size:18px;color:var(--text)}
.alert-count{
  min-width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#fff0f0;
  border:1px solid #f1b8b6;
  color:#b8322b;
  font-size:20px;
  font-weight:900;
}
.alert-table{box-shadow:none !important}
.alert-table th,.alert-table td{font-size:12px !important}
.alert-table table{
  table-layout:auto !important;
}
.alert-table .alert-comment{
  min-width:520px;
  max-width:980px;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.45;
  word-break:normal;
  overflow-wrap:anywhere;
}
.focus-flash{
  animation:focusFlash 1.45s ease;
}
@keyframes focusFlash{
  0%,100%{box-shadow:var(--shadow-sm)}
  30%{box-shadow:0 0 0 4px rgba(223,76,75,.16),0 12px 28px rgba(223,76,75,.14)}
}
.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.dash-card-head h2{margin:0 !important}
.dash-table{box-shadow:none !important;border-radius:8px}
.dash-table th,.dash-table td{font-size:12px !important;padding:9px !important}
.dash-pill{display:inline-block;min-width:54px;text-align:center;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}
.dash-blocks{display:grid;gap:12px;margin-top:8px}
.dash-block-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:13px;color:#40566c}
.dash-block-row div{min-width:0}
.dash-block-row strong{font-size:12px;color:#52687d}
.dash-block-row i{grid-column:1 / -1;height:6px;border-radius:999px;background:#eef2f7;overflow:hidden}
.dash-block-row b{display:block;height:100%;border-radius:999px;background:#2563eb}
.dash-block-row b.score-high{background:#2faf7f !important}
.dash-block-row b.score-mid{background:#f0a51a !important}
.dash-block-row b.score-low,.dash-block-row b.score-critical{background:#df4c4b !important}
.full-btn{width:100%;margin-top:20px}
.dash-agent-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.dash-agent-title span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#eef5ff;color:#1f6feb;font-weight:900}
.dash-agent-title h2{margin:0 !important}
.dash-agent-title em{margin-left:auto;font-style:normal;padding:5px 9px;border-radius:999px;background:#e9f8f0;color:#23734f;font-size:12px;font-weight:800}
.dash-suggestions{display:grid;gap:9px;margin-top:18px}
.dash-suggestions button{width:100%;text-align:left}
.dash-agent-card{min-width:0}
.dash-agent-card .secondary{white-space:normal;line-height:1.25;padding:10px 12px !important}

@media(max-width:1450px){
  .dash-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}
  .dash-agent-card{grid-column:1 / -1}
}

@media(max-width:1250px){
  .dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dash-grid{grid-template-columns:1fr}
}
@media(max-width:980px){
  .dash-head{display:block}
  .dash-filters{justify-content:stretch;margin-top:12px}
  .evolution-card .dash-card-head{display:block}
  .evolution-cross-form{margin-top:10px}
  .evolution-cross-form label{width:100%}
  .dash-select{width:100%}
  .dash-kpis{grid-template-columns:1fr}
  .dash-grid{grid-template-columns:1fr}
}

.report-config-card{margin-bottom:12px}
.report-config-card .grid{
  grid-template-columns:repeat(4,minmax(120px,1fr)) !important;
  align-items:end;
}
.report-config-card .grid select{
  padding:9px 10px;
}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.check-pill{display:flex;align-items:center;gap:8px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;padding:10px 11px;font-weight:800;color:#334b63}
.check-pill input{width:auto}
progress{accent-color:#2563eb}
@media(max-width:1180px){
  .report-config-card .grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .report-config-card .grid{grid-template-columns:1fr !important}
  .check-grid{grid-template-columns:1fr}
}

.supervisor-kpis .card h2{font-size:30px;margin:0;color:#10213a}
.supervisor-table table{min-width:1280px}
.supervisor-modal-card{
  width:min(1240px,calc(100vw - 32px)) !important;
  max-height:calc(100vh - 40px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:20px !important;
}
body.modal-open{overflow:hidden !important}
.supervisor-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:10px 0 14px;
}
.supervisor-summary-grid>div{
  border:1px solid #dfe9f8;
  border-radius:8px;
  padding:10px;
  background:#fbfdff;
}
.supervisor-summary-grid span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  margin-bottom:4px;
}
.supervisor-block-title{
  margin:16px 0 8px;
  color:#0f2749;
  font-size:16px;
}
.supervisor-question-grid{display:grid;gap:8px}
.supervisor-question{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,290px);
  gap:18px;
  align-items:center;
  border:1px solid #e3ecf8;
  border-radius:8px;
  padding:10px;
  background:#fff;
}
.supervisor-question-text{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:8px;
  color:#172b45;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.supervisor-question-text strong{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border-radius:5px;
  background:#eaf2ff;
  color:#1d5fc5;
  font-size:11px;
  white-space:nowrap;
}
.supervisor-question-text span{min-width:0}
.supervisor-answer-options{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.supervisor-answer-options label{
  display:inline-flex;
  gap:5px;
  align-items:center;
  font-weight:800;
}
.supervisor-evidence-list{
  display:grid;
  gap:8px;
  list-style:none;
  padding:0;
  margin:8px 0 12px;
}
.supervisor-evidence-list li{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #e3ecf8;
  border-radius:8px;
  padding:9px 10px;
  background:#fbfdff;
}
.supervisor-evidence-list span{
  min-width:86px;
  color:#64748b;
  font-weight:800;
}
.transcript-row.compact{margin-bottom:8px}
@media(max-width:900px){
  .supervisor-summary-grid{grid-template-columns:1fr 1fr}
  .supervisor-question{grid-template-columns:1fr}
  .supervisor-answer-options{justify-content:flex-start}
}
@media(max-width:560px){
  .supervisor-summary-grid{grid-template-columns:1fr}
}

.client-switcher{display:flex;align-items:center;gap:8px;margin:0}
.client-switcher label{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase}
.client-switcher select{min-width:150px;height:36px;padding:6px 32px 6px 10px;border:1px solid #d7e2f0;border-radius:7px;background:#fff;color:#10213a;font-weight:800}
.client-context{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #d7e2f0;border-radius:7px;background:#f7faff;color:#17345d;font-size:12px;font-weight:800}
@media(max-width:760px){
  .client-switcher label{display:none}
  .client-switcher select{min-width:112px;max-width:132px}
  .client-context{display:none}
}
