/* drawer.css — slide-in à direita 520px + backdrop */
.drawer-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.18); z-index: 100;
  opacity: 0; transition: opacity .15s ease-out; }
.drawer-backdrop.show { opacity: 1; }
.drawer { position: fixed; top: 0; right: 0; height: 100vh; width: 520px; max-width: 92vw;
  background: #fff; border-left: .5px solid var(--az-border-secondary); z-index: 101;
  display: flex; flex-direction: column; box-shadow: -8px 0 24px rgba(0,0,0,.08);
  transform: translateX(100%); transition: transform .2s ease-out; }
.drawer.show { transform: none; }

.drawer .dw-head { padding: 16px 20px 14px; border-bottom: .5px solid var(--az-border-tertiary); display: flex; align-items: flex-start; gap: 12px; }
.drawer .dw-head .meta { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; flex-wrap: wrap; }
.drawer .dw-head h3 { font-size: 16px; font-weight: 500; margin: 0; }
.drawer .dw-head .cid { font-size: 12px; color: var(--az-text-secondary); margin-top: 2px; }
.drawer .dw-body { flex: 1; overflow-y: auto; padding: 18px 20px; }
.drawer .dw-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 22px; }
.drawer .dw-kpis .kpi { padding: 10px 12px; }
.drawer .dw-kpis .k-label { font-size: 10px; }
.drawer .dw-kpis .k-value { font-size: 16px; }
.drawer .dw-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 24px; }
.drawer .dw-cards .lbl { font-size: 10px; color: var(--az-text-secondary); text-transform: uppercase; margin-bottom: 8px; }
.drawer .dw-cards .nm { font-size: 14px; font-weight: 500; }
.drawer .dw-cards .ln { font-size: 12px; color: var(--az-text-secondary); margin-top: 2px; }
.drawer .sec-title { font-size: 13px; font-weight: 500; margin-bottom: 12px; }
.drawer section { margin-bottom: 24px; }

/* timeline */
.tl { position: relative; padding-left: 22px; }
.tl::before { content: ''; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; background: var(--az-border-tertiary); }
.tl .ev { position: relative; margin-bottom: 14px; }
.tl .ev:last-child { margin-bottom: 0; }
.tl .dot { position: absolute; left: -22px; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--az-text-secondary); }
.tl .dot.primary { border-color: var(--az-primary); }
.tl .dot.warning { border-color: var(--az-warning-500); }
.tl .dot.success { border-color: var(--az-success-500); }
.tl .dot.done { background: var(--az-success-500); border-color: var(--az-success-500); }
.tl .ts { font-size: 12px; color: var(--az-text-secondary); }
.tl .lb { font-size: 13px; }
.tl .ex { font-size: 11px; color: var(--az-text-secondary); }

/* QA */
.qa-box { background: var(--az-bg-secondary); border-radius: var(--az-radius-md); padding: 14px; }
.qa-box .row { display: flex; align-items: center; justify-content: space-between; }
.qa-box .score { font-size: 24px; font-weight: 500; }
.qa-box .score small { font-size: 14px; color: var(--az-text-secondary); font-weight: 400; }
.qa-crit { display: flex; gap: 14px; }
.qa-crit .c { text-align: right; }
.qa-crit .c .l { font-size: 11px; color: var(--az-text-secondary); }
.qa-crit .c .v { font-size: 13px; font-weight: 500; }
.qa-crit .pass { color: var(--az-success-700); } .qa-crit .fail { color: var(--az-danger-700); }
.mock-tag { font-size: 10px; color: var(--az-text-tertiary); margin-top: 6px; }

/* NPS bloqueado */
.nps-empty { background: var(--az-bg-secondary); border: .5px dashed var(--az-border-secondary); border-radius: var(--az-radius-md); padding: 14px; text-align: center; }
.nps-empty .ico { font-size: 20px; color: var(--az-text-tertiary); }

.dw-foot { padding: 12px 20px; border-top: .5px solid var(--az-border-tertiary); display: flex; align-items: center; justify-content: space-between; }
.dw-skel { padding: 18px 20px; }

/* NPS card (Sprint 8) */
.nps-card { border-radius: var(--az-radius-md); padding: 14px; text-align: center; margin-bottom: 10px; border: 1px solid var(--az-border-tertiary); }
.nps-card.nps-promoter  { background: var(--az-success-50); border-color: var(--az-success-500); }
.nps-card.nps-neutral   { background: var(--az-warning-50); border-color: var(--az-warning-500); }
.nps-card.nps-detractor { background: var(--az-danger-50);  border-color: var(--az-danger-700); }
.nps-card .nps-lbl { font-size: 11px; color: var(--az-text-secondary); text-transform: uppercase; }
.nps-card .nps-big { font-size: 40px; font-weight: 600; }
.nps-card .nps-max { font-size: 18px; color: var(--az-text-tertiary); font-weight: 400; }
.nps-card .nps-tag { font-size: 13px; font-weight: 500; }
.csat-row { display: flex; justify-content: space-between; padding: 7px 2px; font-size: 13px; border-bottom: .5px solid var(--az-border-tertiary); }
.csat-row .csat-good { color: var(--az-success-700); font-weight: 600; }
.csat-row .csat-ok   { color: var(--az-warning-700); font-weight: 600; }
.csat-row .csat-bad  { color: var(--az-danger-700);  font-weight: 600; }
.nps-comment { background: var(--az-bg-secondary); padding: 10px 12px; border-radius: var(--az-radius-md); margin-top: 10px; font-style: italic; font-size: 13px; }
.nps-foot { display: flex; justify-content: space-between; margin-top: 10px; font-size: 11px; color: var(--az-text-tertiary); }

/* badge de fonte (Sprint 8.1) */
.src-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 500; }
.src-badge.src-survey      { background: var(--az-primary-50); color: var(--az-primary); }
.src-badge.src-participant { background: var(--az-bg-tertiary); color: var(--az-text-secondary); }
