/* Conexões (cn-) — mobile-first */
.cn-raiz{display:flex;flex-direction:column;gap:14px;max-width:760px}
.cn-topo{display:flex;align-items:center;gap:12px}
.cn-novo{flex:1;min-height:52px;font-size:1.05rem;font-weight:700;border-radius:14px}
.cn-aviso{display:flex;gap:10px;align-items:flex-start;background:var(--azul-bg);color:#1e40af;border:1px solid #c7dafc;border-radius:var(--raio);padding:11px 13px;font-size:.88rem}
.cn-aviso i{margin-top:3px}
.cn-lista{display:flex;flex-direction:column;gap:12px}
.cn-sk{height:170px}
.cn-erro{text-align:center;padding:28px 18px}.cn-erro i{font-size:2rem;color:var(--verm);display:block;margin-bottom:8px}.cn-erro p{margin:0 0 14px}
.cn-card{padding:16px;border:2px solid transparent;transition:border-color .2s,box-shadow .2s}
.cn-ativa{border-color:var(--cor-primaria)}
.cn-cab{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.cn-foto{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none;background:var(--azul-bg)}
.cn-ini{display:grid;place-items:center;font-weight:800;font-size:1.2rem;color:var(--cor-primaria)}
.cn-id{flex:1;min-width:140px}
.cn-nome{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1.05rem}
.cn-cad{color:var(--cor-texto-sec);font-size:.85rem}
.cn-selo-ativa{background:var(--cor-primaria);color:#fff;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:20px}
.cn-sub{font-weight:600;margin-top:2px}
.cn-tec{color:var(--cor-texto-sec);font-size:.8rem;overflow-wrap:anywhere}
.cn-estado{flex:none}
.cn-cont{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.cn-cont>div{background:#f6f8fb;border-radius:10px;padding:8px 6px;text-align:center}
.cn-cont b{display:block;font-size:1.05rem}.cn-cont span{font-size:.72rem;color:var(--cor-texto-sec)}
.cn-prot{font-size:.8rem;color:var(--cor-texto-sec);margin-bottom:10px}
.cn-botoes{display:flex;flex-wrap:wrap;gap:8px}
.cn-botoes button{flex:1 1 140px;min-height:44px}
.cn-botoes .btn-perigo{flex:0 1 auto}
.cn-lbl{display:block;font-weight:600;margin:12px 0 6px}.cn-lbl small{font-weight:400;color:var(--cor-texto-sec)}
.cn-sheet input{font-size:16px;width:100%}
.cn-dica{font-size:.82rem;color:var(--cor-texto-sec);margin:10px 0 0}
.cn-vermelho{color:var(--verm)}
.cn-ok{color:var(--verde)!important}
.cn-bg{z-index:70}
.cn-sheet .acoes button{min-height:44px}
/* QR */
.cn-cheia{max-width:480px}
.cn-qr-topo{display:flex;align-items:center;justify-content:space-between;gap:10px}.cn-qr-topo h3{margin:0}
.cn-x{width:44px;height:44px;padding:0}
.cn-abas{display:flex;gap:6px;background:#eef2f8;border-radius:12px;padding:4px;margin:12px 0}
.cn-abas button{flex:1;min-height:42px;border:0;background:transparent;border-radius:9px;font-weight:600;color:var(--cor-texto-sec)}
.cn-abas button.on{background:#fff;color:var(--cor-primaria);box-shadow:var(--sombra)}
.cn-num{display:flex;gap:8px}.cn-num input{flex:1;min-width:0}.cn-num button{flex:none;min-height:44px}
.cn-centro{display:grid;place-items:center;margin:14px 0}
.cn-qr-img{width:min(86vw,320px);aspect-ratio:1;background:#fff;padding:10px;border-radius:14px;box-shadow:var(--sombra);transition:opacity .2s}
.cn-qr-sk{width:min(80vw,300px);aspect-ratio:1}.cn-cod-sk{width:240px;height:64px}
.cn-vel{opacity:.4}
.cn-cod{font-size:2.2rem;font-weight:800;letter-spacing:.18em;font-variant-numeric:tabular-nums;background:var(--azul-bg);color:var(--cor-primaria);padding:16px 20px;border-radius:14px;user-select:all;text-align:center}
.cn-tempo small{display:block;text-align:center;color:var(--cor-texto-sec);margin-top:4px}
.cn-tempo .barra-prog>i{transition:width 1s linear}
.cn-aguarda{text-align:center;color:var(--cor-texto-sec);margin:12px 0;font-size:.9rem}
.cn-passos{padding-left:22px;font-size:.92rem;margin:0}.cn-passos li{margin-bottom:4px}
.cn-err{background:#fff1f1;color:var(--verm);border-radius:10px;padding:10px;font-size:.88rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cn-sucesso{text-align:center;padding:10px 0}
.cn-check{width:96px;height:96px;margin:0 auto 10px}
.cn-check svg{width:100%;height:100%}
.cn-check circle{stroke:var(--verde);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:cnTraco .6s ease forwards;fill:#e8f8ee}
.cn-check path{stroke:var(--verde);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:cnTraco .4s .5s ease forwards}
@keyframes cnTraco{to{stroke-dashoffset:0}}
.cn-pergunta{font-weight:700;margin-top:16px}
.cn-acoes{justify-content:center!important}
/* Limpeza de dados / sincronização */
.cn-dica0{margin:6px 0 4px;font-size:.92rem}
.cn-op{display:flex;gap:12px;align-items:flex-start;border:2px solid #e3e9f3;border-radius:14px;padding:12px;margin:8px 0;cursor:pointer;min-height:56px;transition:border-color .15s,background .15s}
.cn-op:active{background:#f4f7fc}
.cn-op input{width:22px!important;height:22px;flex:none;margin:2px 0 0;accent-color:var(--cor-primaria)}
.cn-op span{display:flex;flex-direction:column;gap:3px;min-width:0}
.cn-op b{font-size:1rem}.cn-op small{color:var(--cor-texto-sec);font-size:.82rem;line-height:1.35}
.cn-op em{display:inline-block;font-style:normal;font-size:.7rem;font-weight:700;background:#e8f8ee;color:#15803d;padding:2px 8px;border-radius:20px;margin-left:4px;vertical-align:middle}
.cn-op.on{border-color:var(--cor-primaria);background:var(--azul-bg)}
.cn-op-perigo.on{border-color:var(--verm);background:#fff1f1}.cn-op-perigo input{accent-color:var(--verm)}
.cn-oculto{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff7e6;border:1px solid #fde0a5;color:#8a5a00;border-radius:12px;padding:10px 12px;margin:12px 0;font-size:.86rem}
.cn-oculto>span{flex:1 1 180px}.cn-oculto button{flex:1 1 100%;min-height:44px}
.cn-sync{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--cor-texto-sec);margin:0 0 10px;background:#f6f8fb;border-radius:10px;padding:8px 10px}
.cn-sync>i{margin-top:3px;color:var(--cor-primaria)}.cn-sync>span{flex:1;min-width:0}.cn-sync .barra-prog{margin-top:6px}
.cn-sync button{flex:none;min-height:40px}
.cn-as-topo{display:flex;gap:12px;align-items:center;margin-bottom:12px}.cn-as-topo h3{margin:0}.cn-as-topo p{margin:2px 0 0;color:var(--cor-texto-sec);font-size:.88rem}
.cn-as-ic{width:48px;height:48px;border-radius:50%;background:var(--azul-bg);color:var(--cor-primaria);display:grid;place-items:center;font-size:1.3rem;flex:none;animation:cnPulsa 1.6s ease-in-out infinite}
@keyframes cnPulsa{50%{transform:scale(1.08)}}
.cn-as-barra{height:10px;margin-bottom:12px}.cn-as-barra>i{transition:width .5s ease}
.cn-etapas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cn-et{display:flex;align-items:center;gap:10px;min-height:46px;padding:6px 12px;border-radius:12px;background:#f6f8fb;color:var(--cor-texto-sec);transition:background .3s,color .3s}
.cn-et>span{flex:1;font-weight:600}.cn-et small{font-size:.78rem}
.cn-et-ic{width:20px;text-align:center}
.cn-et-rodando{background:var(--azul-bg);color:var(--cor-primaria)}
.cn-et-ok{background:#ecfaf1;color:#15803d}.cn-et-erro{background:#fff1f1;color:var(--verm)}
.cn-as-res{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 6px}
.cn-as-res>div{background:#f6f8fb;border-radius:10px;padding:8px 2px;text-align:center}.cn-as-res b{display:block;font-size:1rem}.cn-as-res span{font-size:.68rem;color:var(--cor-texto-sec)}
.cn-as-perfil{font-size:.85rem;color:var(--cor-texto-sec);margin:6px 0}
.cn-as-mid,.cn-as-opc{margin-top:12px;border:1px solid #e3e9f3;border-radius:12px;padding:12px}
.cn-as-midt{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.86rem;margin-bottom:8px}
.cn-as-mid button{margin-top:10px;min-height:44px;width:100%}
.cn-as-opc small{display:block;color:var(--cor-texto-sec);font-size:.8rem;margin:2px 0 8px}
.cn-as-linha{display:flex;gap:8px}.cn-as-linha select{flex:1;min-width:0;font-size:16px;min-height:44px}.cn-as-linha button{min-height:44px;flex:none}
.cn-sucesso-mini .cn-check{width:56px;height:56px}.cn-sucesso-mini h3{margin:4px 0}.cn-sucesso-mini p{margin:0 0 10px}
