/* 9.330 — Área do cliente "Ar puro" (azul Frilar).
 * Só é carregado nas telas do cliente (consulta de serviços, acesso, área do cliente, ficha do aparelho,
 * página do adesivo e acompanhamento do chamado). Tudo fica dentro de html.frc-cv: nenhuma outra tela muda.
 * Não altera estrutura nem funções: só a aparência. */

html.frc-cv{
  --cv-bg:#fafbfd; --cv-s:#edf2f7; --cv-sl:#e1e8f0; --cv-card:#fff; --cv-t:#0f1e2e; --cv-mu:#62748a;
  --cv-p:#0A3D62; --cv-p-h:#0d4a76; --cv-p2:#e2edf7; --cv-sky:#3aa0e8; --cv-ok:#1a8a58; --cv-okb:#e1f4ea;
  --cv-warn:#9a5b00; --cv-warnb:#fff3db; --cv-bad:#b4322a; --cv-badb:#fde8e6;
  --cv-r:24px; --cv-r-sm:16px;
  --cv-ring:0 0 0 1px var(--cv-sl);
  --cv-lift:0 14px 30px -18px rgba(10,61,98,.45);
  --frc-primary:#0A3D62; --frc-primary-dark:#082f4c; --frc-bg:#fafbfd; --frc-surface:#fff; --frc-border:#e1e8f0;
  --frc-text:#0f1e2e; --frc-muted:#62748a; --frc-radius:24px; --frc-shadow:none;
  --frc-font-display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--cv-bg);
}
html.frc-cv body{ background:var(--cv-bg) !important; color:var(--cv-t); -webkit-font-smoothing:antialiased; }
html.frc-cv .frc-portal,
html.frc-cv .frc-portal button,
html.frc-cv .frc-portal input,
html.frc-cv .frc-portal select,
html.frc-cv .frc-portal textarea,
html.frc-cv .frc-footer{ font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
html.frc-cv .frc-portal{ max-width:560px !important; color:var(--cv-t); }
html.frc-cv .frc-portal h1, html.frc-cv .frc-portal h2, html.frc-cv .frc-portal h3{ letter-spacing:-.025em; font-family:inherit; }
html.frc-cv .frc-portal a{ -webkit-tap-highlight-color:transparent; }

/* ------------------------------------------------------------------ topo */
html.frc-cv .frc-portal-head{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:6px 2px 4px !important; margin-bottom:14px !important; flex-wrap:nowrap; }
html.frc-cv .frc-portal-head img{ height:30px; border-radius:0; }
html.frc-cv .frc-portal-head .nm{ font-size:14px; font-weight:800; letter-spacing:-.01em; }
html.frc-cv .frc-portal-head .site:empty{ display:none; }
html.frc-cv .frc-portal-head::after{ content:"Área do cliente"; flex:none; font-size:11.5px; font-weight:700; color:var(--cv-p); background:var(--cv-p2); padding:6px 12px; border-radius:999px; }

/* ------------------------------------------------------------------ superfícies */
html.frc-cv .frc-cons{ gap:14px; }
html.frc-cv .frc-portal .frc-card{ background:var(--cv-card); border:0; border-radius:var(--cv-r); box-shadow:var(--cv-ring); padding:20px; }
html.frc-cv .frc-cons-dica, html.frc-cv .frc-cons-nota, html.frc-cv .frc-hint{ color:var(--cv-mu); }
html.frc-cv .frc-cons-sec{ margin:10px 4px -2px; font-size:12px !important; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--cv-mu) !important; }
html.frc-cv .frc-cons-eyebrow{ letter-spacing:.06em; font-weight:700; }

/* ------------------------------------------------------------------ topo azul (linhas de ar) */
html.frc-cv .frc-cons-hero,
html.frc-cv .frc-etq-hero{
  position:relative; overflow:hidden; border-radius:28px; padding:24px 22px; background-color:var(--cv-p);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='230' height='130' viewBox='0 0 230 130' fill='none' stroke='%233aa0e8' stroke-width='2' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M20 30c30-14 50 14 80 0s50-14 80 0 30 6 40 2'/%3E%3Cpath d='M40 64c30-14 50 14 80 0s50-14 80 0'/%3E%3Cpath d='M20 98c30-14 50 14 80 0s50-14 80 0 30 6 40 2'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right -30px top -6px; box-shadow:var(--cv-lift);
}
html.frc-cv .frc-cons-hero h1, html.frc-cv .frc-etq-hero h1{ font-size:25px; font-weight:800; letter-spacing:-.03em; line-height:1.15; }
html.frc-cv .frc-cons-hero p, html.frc-cv .frc-etq-hero p{ color:#c9dbea; }
html.frc-cv .frc-cons-hero .frc-cons-eyebrow{ color:#9fc4e4; }
html.frc-cv .frc-cons-cont > div{ background:rgba(255,255,255,.1); color:#fff; border-radius:14px; }
html.frc-cv .frc-cons-cont > div span{ color:#c9dbea; }
html.frc-cv .frc-cons-hero-btn, html.frc-cv .frc-cons-hero-wa{ border-radius:16px; min-height:50px; }
html.frc-cv .frc-cons-hero-btn{ background:#fff; color:var(--cv-p) !important; box-shadow:0 10px 22px -12px rgba(0,0,0,.5); }
html.frc-cv .frc-cons-hero-wa{ background:rgba(255,255,255,.1) !important; color:#fff !important; border:0 !important; }

/* ------------------------------------------------------------------ botões */
html.frc-cv .frc-portal .frc-btn{ border-radius:18px; font-weight:700; }
html.frc-cv .frc-portal .frc-btn-primary{ background:var(--cv-p); color:#fff; border:0; box-shadow:0 12px 24px -14px rgba(10,61,98,.7); }
html.frc-cv .frc-portal .frc-btn-primary:hover{ background:var(--cv-p-h); }
html.frc-cv .frc-portal .frc-btn-ghost{ background:var(--cv-s); border:0; color:var(--cv-t); }
html.frc-cv .frc-cons-btn{ min-height:52px; border-radius:18px !important; }
html.frc-cv .frc-cons-btn-wa{ border-radius:16px; background:var(--cv-okb); color:var(--cv-ok) !important; border:0; }
html.frc-cv .frc-acc-btn-wa{ border-radius:18px !important; background:var(--cv-ok) !important; color:#fff !important; border:0 !important; box-shadow:0 12px 24px -14px rgba(26,138,88,.8); }
html.frc-cv .frc-cons-btn-sec, html.frc-cv .frc-cons-btn-tel{ border:0; border-radius:16px; background:var(--cv-s); color:var(--cv-p) !important; }
html.frc-cv .frc-cons-link, html.frc-cv .frc-acc-link-l, html.frc-cv .frc-acc-links a{ color:var(--cv-p); font-weight:700; }

/* O botão de confirmar acompanha a rolagem no fim do formulário de agendamento (sempre à mão). */
html.frc-cv .frc-cons-agenda > .frc-cons-btn{ position:sticky; bottom:12px; z-index:5; }

/* ------------------------------------------------------------------ campos */
html.frc-cv .frc-portal input[type=text], html.frc-cv .frc-portal input[type=tel], html.frc-cv .frc-portal input[type=email],
html.frc-cv .frc-portal input[type=password], html.frc-cv .frc-portal input[type=number], html.frc-cv .frc-portal input[type=date],
html.frc-cv .frc-portal select, html.frc-cv .frc-portal textarea, html.frc-cv .frc-acc-tel{
  background:var(--cv-s) !important; border:1.5px solid transparent !important; border-radius:var(--cv-r-sm) !important; color:var(--cv-t);
  box-shadow:none !important; min-height:50px; padding:12px 14px; font-size:15px; transition:border-color .15s, background .15s;
}
html.frc-cv .frc-portal textarea{ min-height:84px; }
html.frc-cv .frc-portal input::placeholder, html.frc-cv .frc-portal textarea::placeholder{ color:#8a9aae; font-weight:500; }
html.frc-cv .frc-portal input:focus, html.frc-cv .frc-portal select:focus, html.frc-cv .frc-portal textarea:focus{ outline:none; background:#fff !important; border-color:var(--cv-p) !important; box-shadow:0 0 0 4px rgba(10,61,98,.12) !important; }
html.frc-cv .frc-portal label{ color:var(--cv-t); }
html.frc-cv .frc-acc-cod, html.frc-cv .frc-acc-codigo input{ letter-spacing:.4em !important; font-weight:800 !important; font-size:24px !important; text-align:center; }
html.frc-cv .frc-acc-lembrar{ background:var(--cv-s); border:0 !important; border-radius:var(--cv-r-sm); }
html.frc-cv .frc-portal input[type=checkbox], html.frc-cv .frc-portal input[type=radio]{ accent-color:var(--cv-p); }

/* ------------------------------------------------------------------ abas (celular / CPF) e modo (código / senha) */
html.frc-cv .frc-acc-aba-nav{ background:var(--cv-s) !important; border-radius:18px !important; padding:4px !important; }
html.frc-cv .frc-acc-aba-nav label{ border-radius:14px !important; min-height:44px; }
html.frc-cv #frc-acc-aba-cel:checked ~ .frc-acc-aba-nav label[for=frc-acc-aba-cel],
html.frc-cv #frc-acc-aba-doc:checked ~ .frc-acc-aba-nav label[for=frc-acc-aba-doc]{ background:#fff !important; color:var(--cv-t) !important; box-shadow:0 2px 10px -3px rgba(15,30,46,.25) !important; }
html.frc-cv .frc-acc-modo-nav label{ border:0 !important; background:var(--cv-s) !important; border-radius:999px !important; color:var(--cv-mu) !important; }
html.frc-cv .frc-acc-modo-cod:checked ~ .frc-acc-modo-nav .frc-acc-l-cod,
html.frc-cv .frc-acc-modo-pw:checked ~ .frc-acc-modo-nav .frc-acc-l-pw{ background:var(--cv-p) !important; color:#fff !important; }
html.frc-cv .frc-acc-canal label, html.frc-cv .frc-acc-canal > *{ border-radius:999px !important; }

/* ------------------------------------------------------------------ passos numerados */
html.frc-cv .frc-cons-agenda h3{ font-size:19px; font-weight:800; }
html.frc-cv .frc-cons-passo{ font-size:15px; margin-top:12px; }
html.frc-cv .frc-cons-passo b{ background:var(--cv-p2); color:var(--cv-p); font-weight:800; }

/* ------------------------------------------------------------------ escolhas (pílulas) */
html.frc-cv .frc-cons-chip span{ min-height:46px; border:0; border-radius:999px; background:var(--cv-s); color:var(--cv-mu); padding:6px 12px; transition:background .15s, color .15s, box-shadow .15s; }
html.frc-cv .frc-cons-chip strong{ font-weight:700; font-size:14px; }
html.frc-cv .frc-cons-chip input:checked + span{ background:var(--cv-p); color:#fff; box-shadow:0 10px 20px -12px var(--cv-p); }
html.frc-cv .frc-cons-chip input:focus-visible + span{ outline:2px solid var(--cv-sky); outline-offset:2px; }

/* Período (manhã / tarde): botão duplo */
html.frc-cv .frc-cons-chips-2:has(input[name=periodo]){ background:var(--cv-s); border-radius:18px; padding:4px; gap:4px; }
html.frc-cv .frc-cons-chips-2:has(input[name=periodo]) .frc-cons-chip span{ background:transparent; border-radius:14px; min-height:54px; color:var(--cv-mu); }
html.frc-cv .frc-cons-chips-2:has(input[name=periodo]) .frc-cons-chip input:checked + span{ background:#fff; color:var(--cv-t); box-shadow:0 2px 10px -3px rgba(15,30,46,.25); }
html.frc-cv .frc-cons-chips-2:has(input[name=periodo]) .frc-cons-chip input:checked + span small{ color:var(--cv-mu); }

/* Faixa de dias (do modelo B): rola para o lado, dia escolhido em azul cheio */
html.frc-cv .frc-cons-chips:has(input[name=data]){
  display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x proximity; padding:4px 6px 16px; margin:0 -6px;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
html.frc-cv .frc-cons-chips:has(input[name=data])::-webkit-scrollbar{ display:none; }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip{ flex:none; scroll-snap-align:start; }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip span{
  width:64px; min-height:72px; border-radius:18px; background:#fff; box-shadow:var(--cv-ring); padding:8px 0; gap:2px;
}
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip small{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--cv-mu); }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip strong{ font-size:16px; font-weight:800; letter-spacing:-.02em; color:var(--cv-t); }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip input:checked + span{ background:var(--cv-p); box-shadow:0 12px 22px -10px var(--cv-p); }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip input:checked + span small{ color:#9fc4e4; }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip input:checked + span strong{ color:#fff; }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip input:disabled + span{ opacity:.45; }
html.frc-cv .frc-cons-chips:has(input[name=data]) .frc-cons-chip input:disabled + span strong{ text-decoration:line-through; }

/* ------------------------------------------------------------------ listas de marcar (aparelhos, serviços) */
html.frc-cv .frc-cons-lista{ gap:8px; }
html.frc-cv .frc-cons-check{ border:0; border-radius:18px; background:var(--cv-s); padding:13px 14px; transition:background .15s, box-shadow .15s; }
html.frc-cv .frc-cons-check:has(input:checked){ background:#fff; box-shadow:0 0 0 2px var(--cv-p); }
html.frc-cv .frc-cons-check input{ width:22px; height:22px; }
html.frc-cv .frc-cons-check strong{ font-size:14px; font-weight:700; }

/* ------------------------------------------------------------------ aparelhos */
html.frc-cv .frc-cons-eq{ gap:10px; }
html.frc-cv .frc-cons-eq-breve{ box-shadow:0 0 0 1.5px #f1d9a3 !important; }
html.frc-cv .frc-cons-eq-vencida{ box-shadow:0 0 0 1.5px #f2b8b5 !important; }
html.frc-cv .frc-cons-eq-top strong{ font-weight:700; }
html.frc-cv .frc-cons-pill, html.frc-cv .frc-acc-eq-st{ border-radius:999px; font-weight:700; }
html.frc-cv .frc-cons-pill-em_dia{ background:var(--cv-okb); color:var(--cv-ok); }
html.frc-cv .frc-cons-barra{ height:8px; border-radius:99px; background:var(--cv-sl); }
html.frc-cv .frc-cons-barra i{ border-radius:99px; background:linear-gradient(90deg,var(--cv-sky),var(--cv-p)); }
html.frc-cv .frc-cons-datas{ color:var(--cv-mu); }
html.frc-cv .frc-cons-rodape{ border-top:1px solid var(--cv-sl); padding-top:10px; }
html.frc-cv .frc-cons-rodape a{ color:var(--cv-p); font-weight:700; background:var(--cv-p2); padding:5px 12px; border-radius:999px; text-decoration:none; white-space:nowrap; }

/* nível, avaliação, senha, "não achou" */
html.frc-cv .frc-cons-nivel{ background:#fff; border:0 !important; border-radius:var(--cv-r) !important; box-shadow:var(--cv-ring) !important; }
html.frc-cv .frc-acc-avaliar{ background:var(--cv-warnb) !important; box-shadow:none !important; }
html.frc-cv .frc-acc-avaliar-ic{ background:#fff !important; color:#e19a0c !important; border-radius:14px !important; }
html.frc-cv .frc-acc-senha-ic, html.frc-cv .frc-cons-rapido-ic, html.frc-cv .frc-acc-parcial-ic{ background:var(--cv-p2) !important; color:var(--cv-p) !important; border-radius:14px !important; }
html.frc-cv .frc-acc-trocar{ background:#fff; border-radius:var(--cv-r-sm); box-shadow:var(--cv-ring); color:var(--cv-p) !important; font-weight:700; }
html.frc-cv details.frc-card > summary{ cursor:pointer; }
html.frc-cv .frc-cons-beneficios{ background:var(--cv-s) !important; box-shadow:none !important; }
html.frc-cv .frc-cons-lgpd{ color:var(--cv-mu); }

/* ------------------------------------------------------------------ código / escolha de cadastro */
html.frc-cv .frc-acc-cad{ border:0; border-radius:20px; box-shadow:var(--cv-ring); padding:16px; transition:box-shadow .15s, transform .15s; }
html.frc-cv .frc-acc-cad:hover{ box-shadow:0 0 0 2px var(--cv-p); transform:translateY(-1px); }
html.frc-cv .frc-acc-av{ background:var(--cv-p2) !important; color:var(--cv-p) !important; border-radius:16px !important; font-weight:800; }
html.frc-cv .frc-acc-parcial-eqs > *{ background:var(--cv-s) !important; border:0 !important; border-radius:var(--cv-r-sm) !important; }

/* ------------------------------------------------------------------ ficha do aparelho (QR) */
html.frc-cv .frc-acc-eq{ border:0; }
html.frc-cv .frc-acc-cod-tag{ border-radius:999px !important; border:0 !important; background:var(--cv-s); color:var(--cv-p) !important; letter-spacing:.12em; }
html.frc-cv .frc-acc-cta, html.frc-cv summary.frc-acc-cta{ background:var(--cv-p) !important; color:#fff !important; border-radius:18px !important; box-shadow:0 12px 24px -14px rgba(10,61,98,.7); border:0 !important; }
html.frc-cv .frc-acc-cuidado, html.frc-cv .frc-etq-dica{ background:var(--cv-p2) !important; border:0 !important; border-radius:var(--cv-r) !important; color:var(--cv-t); }
html.frc-cv .frc-acc-eq-anel circle:last-child, html.frc-cv .frc-acc-eq-anel [stroke="#1d7a4a"], html.frc-cv .frc-acc-eq-anel [stroke="#16a34a"]{ stroke:var(--cv-p); }
html.frc-cv .frc-timeline{ border-color:var(--cv-sl); }

/* ------------------------------------------------------------------ página do adesivo (QR geral) */
html.frc-cv .frc-etq-cta{ background:#fff !important; color:var(--cv-p) !important; border-radius:16px !important; border:0 !important; box-shadow:0 10px 22px -12px rgba(0,0,0,.5); }
html.frc-cv .frc-etq-cta2{ background:rgba(255,255,255,.1) !important; color:#fff !important; border:0 !important; border-radius:16px !important; }
html.frc-cv .frc-etq-sec{ font-size:12px; font-weight:800; letter-spacing:.08em; color:var(--cv-mu); }
html.frc-cv .frc-etq-grid{ gap:10px; }
html.frc-cv .frc-etq-tile{ border:0; border-radius:22px; box-shadow:var(--cv-ring); padding:16px; }
html.frc-cv .frc-etq-tile:hover{ box-shadow:0 0 0 2px var(--cv-p); transform:translateY(-1px); }
html.frc-cv .frc-etq-ic{ background:var(--cv-p2) !important; color:var(--cv-p) !important; border-radius:14px !important; }
html.frc-cv .frc-etq-card{ border:0 !important; border-radius:var(--cv-r) !important; box-shadow:var(--cv-ring) !important; background:#fff; }
html.frc-cv .frc-etq-prob summary{ border-radius:999px !important; border:0 !important; background:var(--cv-s) !important; }
html.frc-cv .frc-etq-prob[open] summary{ background:var(--cv-p) !important; color:#fff !important; }
html.frc-cv .frc-etq-prob[open]{ border:0 !important; border-radius:22px !important; box-shadow:0 0 0 2px var(--cv-p) !important; }
html.frc-cv .frc-etq-chip{ border-radius:999px; background:var(--cv-s); border:0; }
html.frc-cv .frc-etq-cod{ border:0 !important; border-radius:var(--cv-r) !important; background:#fff !important; box-shadow:var(--cv-ring) !important; }
html.frc-cv .frc-etq-num{ font-weight:800; letter-spacing:-.02em; }

/* ------------------------------------------------------------------ acompanhamento do chamado */
html.frc-cv .frc-portal > .frc-card[style*="padding:0"]{ overflow:hidden; }
html.frc-cv .frc-portal [style*="background:#0A3D62"]{
  background-color:var(--cv-p) !important; border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='230' height='130' viewBox='0 0 230 130' fill='none' stroke='%233aa0e8' stroke-width='2' stroke-linecap='round' opacity='.45'%3E%3Cpath d='M20 30c30-14 50 14 80 0s50-14 80 0 30 6 40 2'/%3E%3Cpath d='M40 64c30-14 50 14 80 0s50-14 80 0'/%3E%3Cpath d='M20 98c30-14 50 14 80 0s50-14 80 0 30 6 40 2'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right -40px top -10px !important;
}
html.frc-cv .frc-pub-agenda{ background:rgba(255,255,255,.1) !important; border:0 !important; border-radius:18px !important; }
html.frc-cv .frc-pub-agenda strong{ font-size:16px; letter-spacing:-.01em; }
html.frc-cv .frc-tipo-at{ border-radius:999px; }
html.frc-cv .frc-dc-barra, html.frc-cv .frc-dc-barra i{ border-radius:99px; }
html.frc-cv .frc-dc-falta{ border-radius:999px; }
html.frc-cv .frc-gcli{ background:var(--cv-p2) !important; border:0 !important; border-radius:var(--cv-r) !important; box-shadow:none !important; color:var(--cv-t) !important; }
html.frc-cv .frc-gcli-abrir{ background:var(--cv-p) !important; border-radius:16px !important; color:#fff !important; border:0 !important; }
html.frc-cv .frc-gcli-ic{ color:var(--cv-p) !important; }
html.frc-cv .frc-hist-item{ border:0 !important; border-left:0 !important; border-radius:var(--cv-r-sm) !important; background:var(--cv-s) !important; box-shadow:none !important; }
html.frc-cv .frc-hist-estado{ border-radius:999px; }
html.frc-cv .frc-pub-itens-tit, html.frc-cv .frc-portal .frc-card:not(.frc-cons-agenda) > h3:first-child, html.frc-cv .frc-portal .frc-card:not(.frc-cons-agenda) > h4:first-child{ font-size:12px !important; font-weight:800 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--cv-mu) !important; }

/* ------------------------------------------------------------------ rodapé da empresa */
html.frc-cv .frc-footer{ background:transparent !important; border-top:0 !important; max-width:560px; margin:28px auto 0 !important; }
html.frc-cv .frc-footer-inner{ background:var(--cv-s); border-radius:var(--cv-r); padding:22px 18px; }
html.frc-cv .frc-footer-logo{ max-height:34px; width:auto; }

/* ------------------------------------------------------------------ tela cheia: respiro nas bordas do celular */
@media (max-width:480px){
  html.frc-cv body{ padding:14px 14px 24px !important; }
  html.frc-cv .frc-cons-hero h1, html.frc-cv .frc-etq-hero h1{ font-size:23px; }
}
@media (prefers-reduced-motion:reduce){ html.frc-cv *{ transition:none !important; } }
html.frc-cv .frc-acc-eq .frc-cons-eyebrow{ color:var(--cv-p) !important; }
html.frc-cv .frc-cons-garantia{ background:var(--cv-okb); border-radius:16px; padding:10px 12px; }

/* ======================================================================================
 * 9.331 — Acompanhamento do chamado (modelo D): topo azul inteiro com brilho, folha que sobe,
 * 5 etapas com ícones, conversa com a Frilar e gaveta de mensagem.
 * ====================================================================================== */
html.frc-cv body:has(.frc-acp){
  background:radial-gradient(130% 520px at 50% -60px, rgba(58,160,232,.55), transparent 70%), linear-gradient(180deg,#0A3D62 0,#0A3D62 900px,var(--cv-bg) 900px) !important;
  background-repeat:no-repeat !important; background-color:var(--cv-bg) !important;
}
html.frc-cv body:has(.frc-acp.is-cancelado){ background:linear-gradient(180deg,#5c1d1d 0,#5c1d1d 900px,var(--cv-bg) 900px) !important; }
html.frc-cv body:has(.frc-acp) .frc-portal-head .nm{ color:#fff; }
html.frc-cv body:has(.frc-acp) .frc-portal-head img{ background:#fff; padding:5px 9px; border-radius:12px; height:36px; box-sizing:content-box; }
html.frc-cv body:has(.frc-acp) .frc-portal-head::after{ content:none; display:none; } /* 9.338: o rótulo foi para cima do número do chamado */
html.frc-acp-preso, html.frc-acp-preso body{ overflow:hidden; }

.frc-acp{ position:relative; }
.frc-acp-top{ color:#fff; text-align:center; padding:6px 4px 52px; }
.frc-acp-row{ display:flex; justify-content:space-between; align-items:center; font-size:12.5px; font-weight:700; color:#9fc4e4; }
.frc-acp-vivo{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; color:#8ef0bd; background:rgba(110,231,168,.14); padding:5px 11px; border-radius:999px; }
.frc-acp-vivo i{ width:7px; height:7px; border-radius:50%; background:#6ee7a8; box-shadow:0 0 0 0 rgba(110,231,168,.6); animation:frcAcpPulso 2s infinite; }
@keyframes frcAcpPulso{ 0%{ box-shadow:0 0 0 0 rgba(110,231,168,.55);} 70%{ box-shadow:0 0 0 8px rgba(110,231,168,0);} 100%{ box-shadow:0 0 0 0 rgba(110,231,168,0);} }
.frc-acp-tag{ font-size:11.5px; color:#dbeafa; background:rgba(255,255,255,.12); padding:5px 11px; border-radius:999px; }
.frc-acp-assunto{ margin:8px 0 6px; font-size:13.5px; font-weight:600; color:#c9dbea; text-wrap:balance; }
.frc-acp-top .frc-tipo-at{ display:inline-flex; margin:0 auto 4px; background:rgba(255,255,255,.12) !important; color:#fff !important; border:0 !important; }
.frc-acp-bigic{ width:68px; height:68px; margin:12px auto 8px; border-radius:22px; display:grid; place-items:center; background:rgba(255,255,255,.12); box-shadow:0 0 0 8px rgba(255,255,255,.05); }
.frc-acp-top h1{ margin:0; color:#fff !important; font-size:27px !important; font-weight:800; letter-spacing:-.03em; line-height:1.12; text-wrap:balance; }
.frc-acp-sub{ margin:6px auto 0; max-width:34ch; font-size:13.5px; color:#c9dbea; line-height:1.45; }
.frc-acp-agenda{ margin:14px auto 0; max-width:420px; display:flex; flex-direction:column; gap:2px; padding:12px 14px; border-radius:18px; background:rgba(255,255,255,.1); }
.frc-acp-agenda span{ font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#9fc4e4; }
.frc-acp-agenda strong{ font-size:16px; letter-spacing:-.01em; }
.frc-acp-agenda small{ font-size:11.5px; color:#b8cde0; line-height:1.4; }
.frc-acp-steps{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); margin-top:20px; }
.frc-acp-line{ position:absolute; left:10%; right:10%; top:17px; height:3px; border-radius:9px; background:rgba(255,255,255,.18); }
.frc-acp-line i{ display:block; height:100%; border-radius:9px; background:#fff; transition:width .6s ease; }
.frc-acp-step{ position:relative; display:grid; justify-items:center; gap:6px; min-width:0; }
.frc-acp-step span{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#0d4a76; color:#7fa3c2; box-shadow:0 0 0 3px #0A3D62; }
.frc-acp-step.is-ok span{ background:#fff; color:var(--cv-p); }
.frc-acp-step.is-agora span{ background:var(--cv-sky); color:#fff; box-shadow:0 0 0 3px #0A3D62, 0 0 0 7px rgba(58,160,232,.35); }
.frc-acp-step em{ font-style:normal; font-size:10.5px; font-weight:700; color:#c9dbea; line-height:1.15; }
.frc-acp-step:not(.is-ok):not(.is-agora) em{ color:#7fa3c2; }
.frc-acp-step.is-agora em{ color:#fff; }
.frc-acp-step i{ font-style:normal; font-size:9.5px; color:#8fb1cf; margin-top:-4px; white-space:nowrap; }

.frc-acp-sheet{ position:relative; background:var(--cv-bg); border-radius:28px 28px 0 0; margin:-30px -14px 0; padding:16px 14px 110px; display:flex; flex-direction:column; gap:12px; min-height:60vh; }
@media (min-width:561px){ .frc-acp-sheet{ margin-left:0; margin-right:0; border-radius:28px; } }
html.frc-cv .frc-acp-sheet .frc-card{ margin:0; }
.frc-acp-lbl{ font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--cv-mu); margin-bottom:10px; }
.frc-acp-os{ display:flex; align-items:center; gap:12px; padding:16px; border-radius:20px; background:var(--cv-p); color:#fff !important; text-decoration:none; font-weight:700; box-shadow:var(--cv-lift); }
.frc-acp-os span{ flex:1; }
/* linha do tempo */
.frc-acp-tl > div{ display:flex; justify-content:space-between; gap:10px; padding:9px 0 9px 20px; border-left:2px solid var(--cv-sl); position:relative; font-size:13.5px; }
.frc-acp-tl > div::before{ content:""; position:absolute; left:-7px; top:13px; width:12px; height:12px; border-radius:50%; background:#fff; box-shadow:0 0 0 2px var(--cv-sl); }
.frc-acp-tl > div.is-ok{ border-color:var(--cv-p); }
.frc-acp-tl > div.is-ok::before{ background:var(--cv-p); box-shadow:0 0 0 2px var(--cv-p); }
.frc-acp-tl > div.is-agora::before{ background:var(--cv-sky); box-shadow:0 0 0 2px var(--cv-sky), 0 0 0 6px rgba(58,160,232,.2); }
.frc-acp-tl > div:last-child{ border-left-color:transparent; }
.frc-acp-tl b{ font-weight:700; }
.frc-acp-tl > div:not(.is-ok) b{ color:var(--cv-mu); font-weight:600; }
.frc-acp-tl span{ color:var(--cv-mu); font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; }
/* detalhes */
.frc-acp-kv{ display:flex; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--cv-sl); }
.frc-acp-kv:first-of-type{ border-top:0; padding-top:0; }
.frc-acp-kv > span{ width:36px; height:36px; flex:none; border-radius:12px; background:var(--cv-s); display:grid; place-items:center; color:var(--cv-p); }
.frc-acp-kv small{ display:block; font-size:11.5px; color:var(--cv-mu); }
.frc-acp-kv b{ font-size:14px; font-weight:700; }
/* local */
html.frc-cv .frc-portal .frc-acp-local{ padding:0 !important; overflow:hidden; }
.frc-acp-mapa > div{ border-radius:0 !important; border:0 !important; height:170px !important; }
.frc-acp-end{ display:flex; gap:10px; align-items:flex-start; padding:16px 16px 0; color:var(--cv-p); }
.frc-acp-end b{ display:block; color:var(--cv-t); font-size:14px; line-height:1.4; }
.frc-acp-locbtn{ display:flex; align-items:center; gap:12px; width:calc(100% - 32px); margin:12px 16px 16px; padding:12px; border:0; border-radius:18px; background:var(--cv-p); color:#fff; text-align:left; cursor:pointer; font:inherit; box-shadow:var(--cv-lift); }
.frc-acp-locbtn > span{ width:40px; height:40px; flex:none; border-radius:13px; background:rgba(255,255,255,.14); display:grid; place-items:center; }
.frc-acp-locbtn div{ flex:1; }
.frc-acp-locbtn b{ display:block; font-size:14.5px; }
.frc-acp-locbtn small{ font-size:12px; color:#c9dbea; }
.frc-acp-locbtn[hidden]{ display:none; }
.frc-acp-locconf{ margin:12px 16px 16px; padding:14px; border-radius:18px; background:var(--cv-warnb); color:#6b4300; }
.frc-acp-locconf b{ display:block; font-size:14px; }
.frc-acp-locconf p{ margin:4px 0 10px; font-size:13px; line-height:1.45; }
.frc-acp-locconf label{ display:flex; gap:10px; align-items:center; font-size:14px; font-weight:700; color:var(--cv-t) !important; margin-bottom:12px; }
.frc-acp-locconf input{ width:20px; height:20px; }
.frc-acp-duo{ display:flex; gap:8px; flex-wrap:wrap; }
.frc-acp-duo .frc-btn{ flex:1 1 150px; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:46px; }
.frc-acp-locok{ display:flex; gap:10px; align-items:center; margin:12px 16px 16px; padding:12px; border-radius:16px; background:var(--cv-okb); color:var(--cv-ok); }
.frc-acp-locok[hidden], .frc-acp-locconf[hidden], .frc-acp-locerr[hidden]{ display:none; }
.frc-acp-locok div{ flex:1; } .frc-acp-locok b{ display:block; font-size:13.5px; } .frc-acp-locok small{ font-size:11.5px; color:#2f6b4f; }
.frc-acp-locok > span{ width:24px; height:24px; border-radius:50%; background:var(--cv-ok); color:#fff; display:grid; place-items:center; }
.frc-acp-locerr{ margin:0 16px 16px; font-size:13px; color:var(--cv-bad); }
/* conversa */
.frc-acp-msgs{ display:flex; flex-direction:column; gap:8px; }
.frc-acp-m{ max-width:86%; font-size:14px; line-height:1.45; word-wrap:break-word; }
.frc-acp-m small{ display:block; font-size:10.5px; margin-top:4px; opacity:.75; }
.frc-acp-m p{ margin:0 0 4px; } .frc-acp-m p:last-child{ margin:0; }
.frc-acp-m.is-cli{ align-self:flex-end; background:var(--cv-p); color:#fff; padding:10px 12px; border-radius:18px 18px 6px 18px; }
.frc-acp-m.is-cli a{ color:#cfe6ff; }
.frc-acp-m.is-fr{ align-self:flex-start; background:var(--cv-s); padding:10px 12px; border-radius:18px 18px 18px 6px; }
.frc-acp-m.is-sys{ align-self:stretch; max-width:none; background:#fff; box-shadow:0 0 0 1px var(--cv-sl); border-radius:14px; padding:9px 12px; font-size:13px; color:var(--cv-mu); }
.frc-acp-m.is-sys small{ margin:0 0 2px; font-weight:700; opacity:1; }
.frc-acp-m .frc-att-list{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.frc-acp-m .frc-att-item{ width:96px; height:96px; border-radius:12px; overflow:hidden; background:rgba(0,0,0,.08); }
.frc-acp-m .frc-att-item img, .frc-acp-m .frc-att-item video{ width:100%; height:100%; object-fit:cover; display:block; }
.frc-acp-m .att-video{ width:180px; height:auto; } .frc-acp-m .att-video video{ height:auto; max-height:240px; }
.frc-acp-vazio{ margin:0; font-size:13px; color:var(--cv-mu); text-align:center; padding:6px 4px; }
.frc-acp-escrever{ margin-top:12px; width:100%; display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; border:0; border-radius:16px; background:var(--cv-p2); color:var(--cv-p); font:inherit; font-weight:700; cursor:pointer; }
/* mais detalhes */
.frc-acp-mais > summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:14px; color:var(--cv-p); cursor:pointer; }
.frc-acp-mais > summary::-webkit-details-marker{ display:none; }
.frc-acp-mais[open] > summary svg{ transform:rotate(90deg); }
.frc-acp-desc{ margin-top:10px; font-size:13.5px; color:var(--cv-t); }
/* botão flutuante + gaveta */
.frc-acp-fab{ position:fixed; z-index:40; right:16px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); display:inline-flex; align-items:center; gap:8px; padding:14px 20px; border:0; border-radius:999px; background:var(--cv-p); color:#fff; font:inherit; font-size:14.5px; font-weight:700; cursor:pointer; box-shadow:0 14px 30px -10px rgba(10,61,98,.85), 0 0 0 4px rgba(255,255,255,.9); }
.frc-acp-fab[hidden]{ display:none; }
.frc-acp-dim{ position:fixed; inset:0; z-index:60; background:rgba(8,22,36,.5); opacity:0; transition:opacity .2s; }
.frc-acp-dim.is-on{ opacity:1; }
.frc-acp-bs{ position:fixed; z-index:61; left:0; right:0; bottom:0; margin:0 auto; max-width:560px; background:#fff; border-radius:26px 26px 0 0; padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px)); box-shadow:0 -18px 40px -16px rgba(0,0,0,.35); transform:translateY(105%); transition:transform .22s ease; max-height:92vh; overflow-y:auto; box-sizing:border-box; }
.frc-acp-bs.is-on{ transform:none; }
.frc-acp-dim[hidden], .frc-acp-bs[hidden], .frc-acp-toast[hidden], .frc-acp-prev[hidden], .frc-acp-prog[hidden], .frc-acp-erro[hidden]{ display:none; }
.frc-acp-grab{ display:block; width:40px; height:5px; border-radius:9px; background:var(--cv-sl); margin:0 auto 10px; }
.frc-acp-bs-h{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.frc-acp-bs-h b{ font-size:17px; letter-spacing:-.01em; }
.frc-acp-ib{ width:40px; height:40px; flex:none; border:0; border-radius:12px; background:var(--cv-s); color:var(--cv-p); display:inline-grid; place-items:center; cursor:pointer; padding:0; }
.frc-acp-qr{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.frc-acp-qr button{ border:0; font:inherit; font-size:12.5px; font-weight:600; padding:8px 12px; border-radius:999px; background:#fff; box-shadow:0 0 0 1px var(--cv-sl); color:var(--cv-t); cursor:pointer; }
.frc-acp-qr button:active{ background:var(--cv-p2); }
.frc-acp-comp{ border-radius:20px; background:#fff; padding:10px; box-shadow:0 0 0 1.5px var(--cv-p), 0 0 0 5px rgba(10,61,98,.08); }
html.frc-cv .frc-acp-comp textarea{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:4px 4px 8px; min-height:64px; resize:none; width:100%; box-sizing:border-box; font-size:15px; }
.frc-acp-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; }
.frc-acp-prev{ display:flex; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.frc-acp-th{ position:relative; width:64px; height:64px; border-radius:14px; background:#22313f center/cover no-repeat; overflow:hidden; }
.frc-acp-th video{ width:100%; height:100%; object-fit:cover; display:block; }
.frc-acp-th em{ position:absolute; left:4px; bottom:3px; font-style:normal; font-size:9.5px; font-weight:700; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.6); }
.frc-acp-x{ position:absolute; right:4px; top:4px; width:20px; height:20px; border:0; border-radius:50%; background:rgba(15,30,46,.75); color:#fff; font-size:14px; line-height:20px; padding:0; cursor:pointer; }
.frc-acp-bar{ display:flex; align-items:center; gap:6px; }
.frc-acp-bar label{ margin:0; }
.frc-acp-cnt{ margin-left:auto; font-size:11px; color:var(--cv-mu); font-weight:600; font-variant-numeric:tabular-nums; }
.frc-acp-send{ display:inline-flex; align-items:center; gap:6px; height:42px; padding:0 16px; border:0; border-radius:14px; background:var(--cv-p); color:#fff; font:inherit; font-size:14px; cursor:pointer; box-shadow:0 10px 20px -12px var(--cv-p); }
.frc-acp-send:disabled{ background:#c3cfdb; box-shadow:none; cursor:default; }
.frc-acp-send.is-load{ opacity:.7; }
.frc-acp-prog{ height:4px; border-radius:9px; background:var(--cv-sl); margin-top:8px; overflow:hidden; }
.frc-acp-prog i{ display:block; width:0; height:100%; background:var(--cv-p); transition:width .2s; }
.frc-acp-nota{ display:block; font-size:11.5px; color:var(--cv-mu); margin-top:8px; line-height:1.45; }
.frc-acp-erro{ margin:8px 0 0; font-size:13px; color:var(--cv-bad); font-weight:600; }
.frc-acp-toast{ position:fixed; z-index:70; left:16px; right:16px; bottom:calc(84px + env(safe-area-inset-bottom,0px)); margin:0 auto; max-width:420px; display:flex; gap:10px; align-items:center; padding:12px 14px; border-radius:18px; background:var(--cv-ok); color:#fff; box-shadow:0 14px 30px -12px rgba(0,0,0,.35); transform:translateY(20px); opacity:0; transition:all .25s; }
.frc-acp-toast.is-on{ transform:none; opacity:1; }
.frc-acp-toast b{ display:block; font-size:14px; } .frc-acp-toast small{ font-size:12px; color:#d9f5e7; }
/* tela do sistema: conversa no chamado */
.frc-acp-admin .frc-acp-msgs{ margin:10px 0 12px; }
.frc-acp-admin-form{ display:flex; flex-direction:column; gap:8px; }
.frc-acp-admin-form textarea{ width:100%; box-sizing:border-box; border:1px solid var(--frc-border); border-radius:12px; padding:10px 12px; font:inherit; }
.frc-acp-admin .frc-acp-m.is-cli{ align-self:flex-start; background:#eef3f8; color:#0f1e2e; border-radius:18px 18px 18px 6px; }
.frc-acp-admin .frc-acp-m.is-cli a{ color:#0A3D62; }
.frc-acp-admin .frc-acp-m.is-fr{ align-self:flex-end; background:#0A3D62; color:#fff; border-radius:18px 18px 6px 18px; }
@media (prefers-reduced-motion:reduce){ .frc-acp-vivo i{ animation:none; } .frc-acp-bs, .frc-acp-toast, .frc-acp-dim{ transition:none; } }
html.frc-cv body:has(.frc-acp) .frc-portal{ background:transparent !important; box-shadow:none !important; border:0 !important; }
html.frc-cv:has(.frc-acp){ background:#0A3D62; }
html.frc-cv body:has(.frc-acp) .frc-portal{ padding:0 !important; }
html.frc-cv body:has(.frc-acp) .frc-portal-head{ padding:10px 2px 6px !important; }
html.frc-cv .frc-gcli-det, html.frc-cv .frc-gcli small, html.frc-cv .frc-gcli p{ color:var(--cv-mu) !important; }
html.frc-cv .frc-portal .frc-acp-comp textarea, html.frc-cv .frc-portal .frc-acp-comp textarea:focus{ background:transparent !important; border:0 !important; box-shadow:none !important; outline:none; min-height:64px; padding:4px 4px 8px; }

/* 9.338: cabeçalho nunca sobrepõe o rótulo (nome e site encolhem com reticências) */
html.frc-cv .frc-portal-head{ display:flex; align-items:center; gap:10px; }
html.frc-cv .frc-portal-head .brand{ flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:10px; }
html.frc-cv .frc-portal-head .brand .txt{ min-width:0; }
html.frc-cv .frc-portal-head .nm, html.frc-cv .frc-portal-head .site{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:420px){ html.frc-cv .frc-portal-head::after{ display:none; } }
.frc-acp-row .frc-acp-id{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; text-align:left; }
.frc-acp-row .frc-acp-id small{ font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#7fa9cf; }
.frc-acp-row .frc-acp-id b{ font-size:15px; font-weight:800; color:#dbeafa; }

/* 9.339 — marcar o local no mapa (corrigir localização) */
.frc-acp-locconf{ background:var(--cv-card, #fff); color:var(--cv-t) !important; border:1px solid var(--cv-l, rgba(0,0,0,.08)); }
.frc-acp-locconf b{ color:var(--cv-t); }
.frc-acp-locconf p{ color:var(--cv-t2, #5b6472); }
.frc-acp-locmapa{ height:260px; border-radius:14px; overflow:hidden; margin:0 0 10px; background:#e8edf2; z-index:0; position:relative; }
.frc-acp-locgps{ width:100%; justify-content:center; display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.frc-acp-locst{ min-height:18px; font-size:12.5px !important; margin:4px 0 10px !important; }
.frc-acp-locst.is-ok{ color:#0a7a45 !important; }
.frc-acp-locst.is-warn{ color:#9a5b00 !important; font-weight:700; }
.frc-acp-locconf .frc-btn[disabled]{ opacity:.45; cursor:not-allowed; }

/* 9.343 — rotina PMOC em lote no link do cliente */
.frc-rot-cli-n{ display:flex; align-items:baseline; gap:8px; margin:4px 0 8px; }
.frc-rot-cli-n b{ font-size:30px; font-weight:800; letter-spacing:-.03em; }
.frc-rot-cli-n span{ font-size:14px; color:var(--cv-t2, #5b6472); }
.frc-rot-cli-bar{ height:8px; border-radius:8px; background:rgba(0,0,0,.07); overflow:hidden; margin-bottom:8px; }
.frc-rot-cli-bar i{ display:block; height:100%; background:#1a8a58; border-radius:8px; }
.frc-rot-cli-r{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-top:1px solid rgba(0,0,0,.06); font-size:14px; }
.frc-rot-cli-r em{ font-style:normal; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; background:rgba(0,0,0,.05); }
.frc-rot-cli-r em.is-ok{ background:#e1f4ea; color:#1a8a58; }
