/* ==========================================================================
   AZ Nexus — página "Funcionário virtual"
   Complementa styles.css (mesmos tokens). Classes próprias com prefixo fv-.
   ========================================================================== */

/* ---------- HERO + CRACHÁ ---------- */
.fv-hero .lede{max-width:50ch}
.fv-hero-note{margin:18px 0 0;font-size:.86rem;color:var(--dim)}

.fv-badge-wrap{display:flex;flex-direction:column;align-items:center;animation:rise .8s .15s cubic-bezier(.16,1,.3,1) both}

/* cordão do crachá */
.fv-lanyard{
  width:38px;height:clamp(40px,7vw,86px);
  background:var(--grad);
  -webkit-mask:linear-gradient(90deg,#000 0 30%,transparent 30% 70%,#000 70%);
  mask:linear-gradient(90deg,#000 0 30%,transparent 30% 70%,#000 70%);
  opacity:.75;
}
.fv-clip{
  width:46px;height:18px;margin-top:-2px;border-radius:5px 5px 8px 8px;
  background:linear-gradient(180deg,#9FB2C2,#5D6F80);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 10px rgba(0,0,0,.5);
  position:relative;z-index:2;
}

.fv-badge{
  width:min(340px,100%);margin-top:-8px;
  background:#EEF4F8;color:#0B1622;
  border-radius:18px;overflow:hidden;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.6) inset;
  transform:rotate(-2deg);
  transform-origin:50% 0;
}
.fv-badge-top{
  background:var(--grad);padding:22px 22px 18px;position:relative;
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
}
.fv-badge-top::before{ /* furo do crachá */
  content:'';position:absolute;left:50%;top:9px;transform:translateX(-50%);
  width:44px;height:8px;border-radius:6px;background:rgba(4,18,26,.35);
}
.fv-badge-org{
  margin-top:10px;
  font-family:var(--display);font-variation-settings:'wdth' 122;font-weight:800;
  font-size:.95rem;letter-spacing:.08em;color:#04121A;
}
.fv-badge-kind{margin-top:10px;font-size:.78rem;font-weight:600;color:rgba(4,18,26,.72)}

.fv-badge-body{padding:22px 22px 24px;display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center}
.fv-avatar{
  width:76px;height:88px;border-radius:12px;
  background:linear-gradient(160deg,#16202D,#0B1622);
  display:flex;align-items:center;justify-content:center;color:var(--teal);
}
.fv-avatar svg{width:40px;height:40px}
.fv-badge-name{
  margin:0;font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:800;
  font-size:1.35rem;line-height:1.05;letter-spacing:-.01em;
}
.fv-badge-name small{display:block;margin-top:5px;font-family:var(--body);font-size:.74rem;font-weight:500;color:#5A6B7C;letter-spacing:0}

.fv-badge-rows{grid-column:1/-1;margin:0;display:grid;gap:0;border-top:1px solid #D3DEE7}
.fv-badge-rows div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #D3DEE7}
.fv-badge-rows dt{font-size:.8rem;color:#5A6B7C}
.fv-badge-rows dd{margin:0;font-size:.86rem;font-weight:600;text-align:right}

.fv-status{
  grid-column:1/-1;display:flex;align-items:center;gap:9px;
  font-size:.86rem;font-weight:600;color:#127A47;
}
.fv-status i{
  width:9px;height:9px;border-radius:50%;background:#1DB86A;flex:none;
  box-shadow:0 0 0 0 rgba(29,184,106,.6);animation:fv-pulse 2.2s ease-out infinite;
}
@keyframes fv-pulse{
  0%{box-shadow:0 0 0 0 rgba(29,184,106,.55)}
  70%{box-shadow:0 0 0 9px rgba(29,184,106,0)}
  100%{box-shadow:0 0 0 0 rgba(29,184,106,0)}
}

/* ---------- FICHA DE CONTRATAÇÃO ---------- */
.fv-sheet{
  border:1px solid var(--line-strong);border-radius:var(--radius-lg);
  background:linear-gradient(170deg,rgba(22,32,45,.92),rgba(11,17,25,.9));
  overflow:hidden;
}
.fv-sheet-head{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;align-items:baseline;
  padding:22px clamp(20px,3vw,32px);border-bottom:1px solid var(--line-strong);
}
.fv-sheet-head h3{font-size:1.15rem;font-variation-settings:'wdth' 110}
.fv-sheet-head p{margin:0;font-size:.85rem;color:var(--dim)}

.fv-sheet dl{margin:0}
.fv-row{
  display:grid;grid-template-columns:200px 1fr;gap:6px 28px;
  padding:20px clamp(20px,3vw,32px);border-bottom:1px solid var(--line);
}
.fv-row:last-child{border-bottom:0}
.fv-row dt{font-weight:600;color:var(--muted);font-size:.93rem}
.fv-row dd{margin:0;color:var(--text);font-size:.97rem;max-width:62ch}
.fv-row dd p{margin:0}
.fv-row dd p + p{margin-top:4px;color:var(--muted);font-size:.9rem}
.fv-row .ticks{margin:0;padding:0;border:0}
.fv-row .ticks li{color:var(--text);font-size:.95rem}

.fv-row-not .ticks li::before{
  transform:none;border:0;width:10px;height:1.7px;top:.72em;background:var(--warn);
}
.fv-row-key{background:var(--grad-soft)}
.fv-row-key dd strong{font-family:var(--display);font-variation-settings:'wdth' 112;font-size:1.25rem;color:var(--teal)}

/* ---------- 168 HORAS ---------- */
.fv-hours{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,48px);align-items:start;
}
.fv-result{margin:0 0 26px}
.fv-result-n{
  display:block;
  font-family:var(--display);font-variation-settings:'wdth' 125;font-weight:800;
  font-size:clamp(4.2rem,11vw,8rem);line-height:.9;letter-spacing:-.035em;
  color:var(--warn);
}
.fv-result-t{display:block;margin-top:10px;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:500;max-width:34ch}
.fv-result-sub{margin:10px 0 28px;color:var(--muted);font-size:.93rem;max-width:56ch}

.fv-grid{display:grid;grid-template-columns:34px repeat(24,minmax(0,1fr));gap:3px;align-items:center}
.fv-grid .fv-day{font-size:.74rem;color:var(--dim)}
.fv-grid .fv-hr{font-size:.66rem;color:var(--dim);text-align:left;white-space:nowrap;overflow:visible}
.fv-cell{
  height:clamp(10px,2vw,20px);border-radius:3px;
  background:rgba(242,166,90,.22);
  transition:background .3s ease;
}
.fv-cell.on{background:var(--teal)}

.fv-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;padding:0;list-style:none;font-size:.85rem;color:var(--muted)}
.fv-legend li{display:flex;align-items:center;gap:8px}
.fv-legend i{width:14px;height:14px;border-radius:3px;background:var(--teal)}
.fv-legend li + li i{background:rgba(242,166,90,.38)}

.fv-controls{
  padding:24px 22px;border-radius:var(--radius-lg);border:1px solid var(--line-strong);
  background:linear-gradient(170deg,rgba(22,32,45,.95),rgba(11,17,25,.95));
  display:flex;flex-direction:column;gap:20px;
}
.fv-controls h3{font-size:1.05rem;font-variation-settings:'wdth' 108}
.fv-controls fieldset{border:0;margin:0;padding:0;min-width:0}
.fv-controls legend,.fv-controls .fv-lbl{display:block;padding:0;margin:0 0 9px;font-size:.88rem;color:var(--muted)}
.fv-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.fv-days button{
  padding:9px 0;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;
  background:rgba(5,9,14,.65);border:1px solid var(--line-strong);color:var(--dim);
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.fv-days button[aria-pressed="true"]{background:rgba(47,227,200,.16);border-color:rgba(47,227,200,.6);color:var(--text)}
.fv-time{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fv-time select{
  width:100%;padding:11px 36px 11px 12px;border-radius:10px;appearance:none;cursor:pointer;
  background-color:rgba(5,9,14,.65);border:1px solid var(--line-strong);color:var(--text);font-size:.95rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--teal) 50%),linear-gradient(135deg,var(--teal) 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 12px) 19px;background-size:6px 6px;background-repeat:no-repeat;
}
.fv-check{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--muted);cursor:pointer}
.fv-check input{width:18px;height:18px;accent-color:var(--teal)}

/* ---------- PAPÉIS ---------- */
.fv-roles{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fv-role{padding:28px 26px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface)}
.fv-role h3{font-size:1.15rem;font-variation-settings:'wdth' 108;margin-bottom:6px}
.fv-role > p{margin:0;color:var(--muted);font-size:.93rem}
.fv-role .ticks{margin-top:18px}
.fv-role-v{border-color:rgba(47,227,200,.3);background:linear-gradient(165deg,rgba(20,40,45,.55),rgba(13,22,34,.6))}
.fv-role-v h3{color:var(--teal)}

/* ---------- CONVERSA ---------- */
.fv-demo{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.fv-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:18px}
.fv-tabs button{
  padding:9px 18px;border-radius:999px;border:0;background:transparent;cursor:pointer;
  font-size:.9rem;font-weight:600;color:var(--muted);
}
.fv-tabs button[aria-selected="true"]{background:rgba(47,227,200,.16);color:var(--text)}

.fv-phone{
  border-radius:26px;border:1px solid var(--line-strong);overflow:hidden;
  background:#0B141A;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);
}
.fv-phone-top{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#1F2C34}
.fv-phone-top .fv-mini{width:36px;height:36px;border-radius:50%;background:var(--grad);flex:none}
.fv-phone-top b{display:block;font-size:.93rem}
.fv-phone-top span{font-size:.76rem;color:#8FA3AE}
.fv-chat{padding:18px 14px 20px;display:flex;flex-direction:column;gap:8px;min-height:420px}
.fv-day-tag{align-self:center;font-size:.72rem;color:#8FA3AE;background:#182229;padding:4px 10px;border-radius:7px;margin-bottom:6px}
.fv-msg{
  max-width:82%;padding:8px 11px 6px;border-radius:9px;font-size:.89rem;line-height:1.42;position:relative;
}
.fv-msg small{display:block;text-align:right;font-size:.66rem;color:#8FA3AE;margin-top:3px}
.fv-in{align-self:flex-start;background:#202C33;border-top-left-radius:2px}
.fv-out{align-self:flex-end;background:#005C4B;border-top-right-radius:2px}
.fv-out small{color:#9CD4C5}
.fv-audio{display:flex;align-items:center;gap:9px;min-width:190px}
.fv-audio svg{width:16px;height:16px;flex:none;color:#AEBAC1}
.fv-wave{flex:1;height:14px;background:repeating-linear-gradient(90deg,#AEBAC1 0 2px,transparent 2px 5px);opacity:.7}
.fv-photo{width:190px;height:120px;border-radius:6px;margin-bottom:5px;
  background:linear-gradient(140deg,#3B4A55,#1C262D);display:flex;align-items:center;justify-content:center;color:#8FA3AE}
.fv-photo svg{width:44px;height:44px}

.fv-handoff{
  margin-top:10px;padding:14px 14px 12px;border-radius:10px;
  border:1px dashed rgba(47,227,200,.45);background:rgba(47,227,200,.06);
  font-size:.85rem;color:var(--text);
}
.fv-handoff b{display:block;color:var(--teal);font-size:.82rem;margin-bottom:6px}
.fv-handoff ul{margin:0;padding-left:18px;color:var(--muted)}

.fv-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.fv-points b{display:block;font-family:var(--display);font-variation-settings:'wdth' 110;font-size:1.08rem;margin-bottom:4px}
.fv-points p{margin:0;color:var(--muted);font-size:.93rem;max-width:52ch}

/* ---------- CTA FINAL ---------- */
.fv-final{text-align:center}
.fv-final .h2{max-width:22ch;margin-inline:auto}
.fv-final .section-lede{margin-inline:auto;margin-bottom:30px}
.fv-final .hero-actions{justify-content:center;margin-top:0}

/* ---------- RESPONSIVO ---------- */
@media (max-width:980px){
  .fv-hours,.fv-demo{grid-template-columns:1fr}
  .fv-badge-wrap{margin-top:12px}
}
@media (max-width:760px){
  .fv-roles{grid-template-columns:1fr}
  .fv-row{grid-template-columns:1fr}
}
@media (max-width:560px){
  .fv-grid{grid-template-columns:26px repeat(24,minmax(0,1fr));gap:2px}
  .fv-grid .fv-hr{font-size:.58rem}
  .fv-badge{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .fv-status i{animation:none}
}
