/* Versão 1.1: cadastro de cliente, portal do cliente, atendimento e configurações. */
/* chave liga/desliga usada nas telas novas */
.x-sw{position:relative;display:inline-flex;flex:none;cursor:pointer}
.x-sw input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.x-sw i{width:42px;height:24px;border-radius:99px;background:var(--line);position:relative;transition:background .15s;display:block}
.x-sw i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.x-sw input:checked+i{background:var(--accent)}
.x-sw input:checked+i::after{transform:translateX(18px)}
.x-sw input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.x-sw input:disabled+i{opacity:.5}

/* ---------- clientes ---------- */
.c-modo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.c-modo small{color:var(--muted);font-weight:600;font-size:12px}
.c-doc{display:flex;gap:8px}
.c-doc .txt{flex:1;min-width:0}
.c-doc .btn{flex:none;white-space:nowrap}
.campo>label{font-weight:700}
.c-iss{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}
.c-iss-t{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;cursor:pointer}
.c-iss small{color:var(--muted);font-weight:500;font-size:12px;margin-top:-4px}
.c-linkbox{display:flex;gap:8px}
.c-linkbox .txt{flex:1;min-width:0;font-size:13px}
.c-link-acoes{display:flex;gap:8px;flex-wrap:wrap}
.c-link-acoes .btn{flex:1 1 auto;justify-content:center;text-decoration:none}
.cli .c-contato dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.cli .hd .pill{margin-left:auto;align-self:flex-start}
@media (max-width:560px){.c-doc{flex-direction:column}.c-linkbox{flex-direction:column}}

/* ---------- portal do cliente (gestão) ---------- */
.pc-resumo{display:flex;gap:8px 22px;flex-wrap:wrap;align-items:center;padding:14px 18px}
.pc-resumo b{font-family:var(--display);font-size:16px}
.pc-resumo small{color:var(--muted);margin-left:auto}
.pc-tools .search{flex:1;max-width:none}
.pc-lista{padding:0;overflow:hidden}
.pc-linha{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.pc-linha:first-child{border-top:0}
.pc-linha .t{flex:1;min-width:160px;display:flex;flex-direction:column;gap:5px}
.pc-linha .t b{font-family:var(--display);font-weight:600;font-size:15px}
.pc-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pc-chips small{color:var(--muted);font-size:12px}
.pc-acoes{display:flex;gap:8px;flex-wrap:wrap}
.pc-ap{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:20px;align-items:start}
.pc-form{display:flex;flex-direction:column;gap:14px;padding:22px}
.pc-sec{font-size:12px;font-family:var(--body);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px;padding-top:16px;margin-top:6px;border-top:1px solid var(--line)}
.pc-sec:first-child{border-top:0;padding-top:0;margin-top:0}
.pc-dica{margin:-6px 0 0;color:var(--muted);font-size:12.5px}
.pc-cor{display:flex;gap:8px;align-items:center}
.pc-cor input[type=color]{width:42px;height:40px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--surface);flex:none;cursor:pointer}
.pc-cor .txt{flex:1;min-width:0}
.pc-arq{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pc-arq img{width:44px;height:44px;border-radius:10px;object-fit:contain;border:1px solid var(--line);background:#fff}
.pc-arq img.larga{width:96px;height:54px;object-fit:cover}
.pc-arq small{color:var(--muted);font-weight:500}
.pc-seg{align-self:flex-start;flex-wrap:wrap}
.pc-tex{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pc-tex button{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:6px;border:1px solid var(--line);border-radius:11px;font-size:12px;font-weight:700;color:var(--muted)}
.pc-tex button i{height:38px;border-radius:7px;display:block}
.pc-tex button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}
.pc-op{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line);cursor:pointer;font-weight:500}
.pc-op>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-op b{font-weight:700}
.pc-op small{color:var(--muted);font-size:12.5px;font-weight:500}
.pc-form .pc-sec+.pc-op,.pc-form .pc-dica+.pc-op{border-top:0;padding-top:2px}
.pc-salvar{display:flex;gap:8px;flex-wrap:wrap;position:sticky;bottom:0;background:var(--surface);padding:14px 0 2px;border-top:1px solid var(--line)}
.pc-lado{position:sticky;top:0;display:flex;flex-direction:column;gap:10px}
.pc-lado-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pc-lado-cab b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pc-pv{border-radius:16px;border:1px solid var(--line);overflow:hidden;min-height:300px;font-size:10px;box-shadow:var(--shadow)}
.pc-pv-login{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px}
.pc-pv-login.dividida{flex-direction:row;justify-content:space-around}
.pc-pv-cab{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.pc-pv-cab b{font-family:var(--display);font-size:13px}
.pc-pv-cab small{opacity:.75}
.pc-pv-logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:13px;overflow:hidden;flex:none}
.pc-pv-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.pc-pv-caixa{width:min(190px,100%);background:#fff;color:#141a2a;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px;box-shadow:0 12px 30px -14px rgba(0,0,0,.5)}
.pc-pv-caixa.vidro{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25)}
.pc-pv-caixa label{font-weight:700;font-size:9px}
.pc-pv-caixa>b{border-radius:7px;padding:7px;text-align:center;margin-top:4px}
.pc-pv-campo{border-radius:7px;padding:6px 8px;opacity:.9}
.pc-pv-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:rgba(120,130,150,.18);padding:3px;border-radius:8px;margin-bottom:3px}
.pc-pv-seg i{font-style:normal;text-align:center;padding:4px;border-radius:6px;font-weight:700}
.pc-pv-seg i.on{background:rgba(255,255,255,.9);color:#141a2a}
.pc-pv-rod{text-align:center}
.pc-pv-dentro{background:#f3f5f9;color:#141a2a}
.pc-pv-topo{display:flex;gap:9px;align-items:center;padding:10px 12px;background:#fff;border-bottom:1px solid #e2e6ee}
.pc-pv-topo b{display:block;font-family:var(--display);font-size:12px}
.pc-pv-topo small{color:#5d667a}
.pc-pv-corpo{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px}
.pc-pv-lado{display:flex;flex-direction:column;gap:4px}
.pc-pv-lado i{font-style:normal;padding:5px 8px;border-radius:7px;font-weight:700;color:#5d667a}
.pc-pv-cli{background:#fff;border:1px solid #e2e6ee;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:2px;margin-bottom:4px}
.pc-pv-cli small{color:#5d667a;font-size:8.5px}
.pc-pv-cli span{border-radius:6px;padding:3px;text-align:center;font-weight:700;margin-top:3px}
.pc-pv-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pc-pv-cards div{background:#fff;border:1px solid #e2e6ee;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;gap:5px;padding-bottom:6px}
.pc-pv-cards span{height:86px;background:#e7eaf1}
.pc-pv-cards em{height:6px;width:60%;margin:0 6px;border-radius:9px;background:#e2e6ee}
.pc-pv-cards b{margin:0 6px;border-radius:6px;padding:5px;text-align:center}
.pc-cfg-cab{display:flex;gap:14px;align-items:center}
.pc-cfg-cab p{margin:4px 0 0;color:var(--muted);font-size:13px}
.pc-cfg-bts{display:flex;gap:8px;flex-wrap:wrap}
.pc-bloco{border:1px solid var(--line);border-radius:14px;padding:0 14px}
.pc-bloco .pc-op:first-child{border-top:0}
.pc-tri{flex:none;padding:3px}
.pc-tri label{position:relative;cursor:pointer}
.pc-tri input{position:absolute;opacity:0;inset:0}
.pc-tri span{display:block;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}
.pc-tri input:checked+span{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}
.pc-tri input:focus-visible+span{outline:2px solid var(--accent)}
.pc-vis{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 12px}
.pc-cliente{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:10px 12px;color:var(--muted)}
.pc-cliente b{color:var(--fg)}
.pc-logins .row{flex-wrap:wrap;align-items:flex-start}
.pc-logins .t{gap:4px}
.pc-off{opacity:.6}
.dialogo .pc-dica{margin:-6px 0 0}
@media (max-width:1100px){.pc-ap{grid-template-columns:minmax(0,1fr)}.pc-lado{position:static;order:-1}}
@media (max-width:640px){.pc-resumo small{margin-left:0}.pc-op{flex-wrap:wrap}.pc-tex{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-acoes{width:100%}.pc-acoes .btn{flex:1;justify-content:center}}
.pc-logins .t{flex:1 1 240px;min-width:0}
.pc-logins .pc-acoes{width:100%;padding-left:44px}

/* Parte 3: Aparência (itens do menu e atalhos) e Tags */
.ap-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.ap-grupo{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.ap-grupo .sec{width:100%;margin:0 0 2px}
.cfg-tag-f{flex-wrap:wrap;gap:8px}
.cfg-tag-f input[type=color]{width:40px;height:40px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}

/* Parte A: cadastro PF/PJ com checklist */
.c-check{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}
.c-check.ok{border-color:color-mix(in srgb,var(--good) 40%,var(--line));background:color-mix(in srgb,var(--good) 8%,var(--surface))}
.c-check-t{display:flex;flex-direction:column;gap:2px;font-size:13.5px}.c-check-t span{color:var(--muted)}.c-check-t small{color:var(--faint)}
.c-check i{display:block;height:6px;border-radius:99px;background:var(--line);position:relative;overflow:hidden}
.c-check i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);background:var(--accent);border-radius:99px}.c-check.ok i::after{background:var(--good)}
.c-bloco h3{font-size:14px;font-weight:700;margin:4px 0 10px;color:var(--fg)}
.c-opc{font-weight:500;color:var(--faint)}
.c-mais summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--accent-ink)}

/* Parte B: prévia das partes no contrato */
.o-partes{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-2);font-size:13.5px;line-height:1.55}
[data-o-partes]{display:flex;flex-direction:column;gap:8px}
