/* Painel do fabricante — complementa style.css (mesmas variáveis e componentes). Sem estilo inline (CSP). */
:root{--serie:#0d9488;--g-grade:#e2e8f0;--g-tx:#64748b}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]){--serie:#14b8a6;--g-grade:#1e293b;--g-tx:#94a3b8}}
:root[data-tema="escuro"]{--serie:#14b8a6;--g-grade:#1e293b;--g-tx:#94a3b8}

.selo{margin-left:.5rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pri);background:var(--pri-s);border-radius:99px;padding:.15rem .5rem}
body.painel .card.flush{overflow-x:auto}
.row>.col.col-larga{flex:2 1 520px}
.row>.col>.card{margin-bottom:1.1rem}

/* KPIs com ícone */
.kpi.ki{position:relative;padding-right:3.2rem}.kpi.ki b{font-size:1.4rem}.kpi.ki b.mn{font-size:1.15rem}
.ki-ic{position:absolute;right:.85rem;top:.85rem;width:32px;height:32px;border-radius:9px;background:var(--pri-s);display:flex;align-items:center;justify-content:center}
.kpi .ki-ic .ic{color:var(--pri)}
.kpi.ok .ki-ic{background:var(--ok-s)}.kpi.ok .ki-ic .ic{color:var(--ok)}
.kpi.am .ki-ic{background:var(--warn-s)}.kpi.am .ki-ic .ic{color:var(--warn)}
.kpi.er .ki-ic{background:var(--err-s)}.kpi.er .ki-ic .ic{color:var(--err)}

/* gráfico de colunas (uma série) */
.grafico{width:100%;height:auto;display:block;margin:.2rem 0 .4rem}
.g-grade{stroke:var(--g-grade);stroke-width:1}
.g-base{stroke:var(--g-tx);stroke-width:1;opacity:.5}
.g-eixo,.g-mes{fill:var(--g-tx);font-size:11px}
.g-valor{fill:var(--tx);font-size:12px;font-weight:650}
.g-barra{fill:var(--serie)}
.g-alvo{fill:transparent;cursor:default}
.g-col:hover .g-barra{opacity:.82}
.g-col:hover .g-alvo{fill:var(--soft);fill-opacity:.5}

/* acontecimentos */
.eventos{list-style:none;margin:0;padding:.2rem 1.2rem .8rem}
.eventos li{display:flex;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--bd);font-size:.88rem}
.eventos li:last-child{border-bottom:0}
.eventos li>span{flex:none;width:9px;height:9px;border-radius:50%;margin:.42rem .75rem 0 0;background:var(--mut)}
.eventos .ev-pagamento{background:var(--ok)}.eventos .ev-codigo{background:var(--pri)}.eventos .ev-cobranca{background:var(--warn)}
.eventos .ev-cliente,.eventos .ev-instalacao{background:var(--info)}.eventos .ev-asaas{background:var(--acc)}

/* formulários e ações compactas */
form.inline{display:inline-flex;margin:0}
.acoes-cob{display:inline-flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center}
.acoes-cob>*{margin:.1rem 0 .1rem .35rem}
.gap{display:inline-flex;align-items:center;flex-wrap:wrap}
button .ic.sm,.btn .ic.sm{margin-right:.3rem}
button.icone-so .ic.sm{margin-right:0}
input.curto,input.medio{display:block;width:5.5rem}input.medio{width:7.5rem}
.nw{white-space:nowrap}
.vincular{display:flex;align-items:center}.vincular select{width:auto;max-width:180px;padding:.3rem .5rem;margin-right:.35rem;font-size:.85rem}

details>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline}
details>summary::-webkit-details-marker{display:none}
details>summary h2{margin:0 .6rem 0 0}
details>summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg) translateY(-3px)}
details[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
details[open]>summary{margin-bottom:1rem}
.card details>form{margin-top:.2rem}
.card>details>summary .peq,.card details>summary>.peq{color:var(--pri);font-weight:600}

/* assinatura e pacotes */
.assin{border:1px solid var(--bd);border-radius:10px;padding:.7rem .85rem;margin-bottom:.7rem}
.assin .topo{margin-top:.55rem}
.pacotes{display:flex;flex-wrap:wrap;margin:0 -.3rem .8rem}
.pacote{flex:1 1 120px;margin:.3rem;cursor:pointer}
.pacote input{position:absolute;opacity:0;pointer-events:none}
.pacote>span{display:block;border:1px solid var(--bd);border-radius:10px;padding:.6rem .7rem;background:var(--card);height:100%}
.pacote>span>b{display:block;font-size:.85rem}
.pacote .pac-v{display:block;font-size:1.15rem;font-weight:750;color:var(--tx);margin:.1rem 0}
.pacote input:checked+span{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-s);background:var(--pri-s)}
.pacote input:focus-visible+span{outline:2px solid var(--pri)}

/* planos e preços */
.item-preco{border-bottom:1px solid var(--bd);padding:.4rem 0 .7rem;margin-bottom:.6rem}
.item-preco.inativo{opacity:.6}
.item-preco .chk{margin-bottom:.55rem;align-self:center}
.economia{color:var(--ok);font-weight:650}
.regras{margin:0;padding-left:1.2rem}.regras li{margin-bottom:.4rem}

/* códigos e chaves */
.codigo-caixa{display:flex;align-items:flex-start;background:var(--soft);border:1px solid var(--bd);border-radius:10px;padding:.6rem .7rem;margin-bottom:.6rem}
.codigo-caixa code{flex:1;background:none;padding:0;margin-right:.6rem}
.ok-txt{color:var(--ok)}.err-txt{color:var(--err)}.warn-txt{color:var(--warn)}
.ok-txt .ic,.err-txt .ic,.warn-txt .ic{vertical-align:-2px}
.importar-chave{display:flex;align-items:center;flex-wrap:wrap}.importar-chave input[type=file]{font-size:.85rem;margin-right:.5rem;max-width:230px}
button.copiado{border-color:var(--ok);color:var(--ok)}

/* instalações */
.dot-on{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bd);margin-right:.45rem;vertical-align:1px}
.dot-on.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-s)}

@media (max-width:860px){.kpi.ki{padding-right:1rem}.ki-ic{display:none}.card .cab .mut{display:none}}
@media (forced-colors:active){.g-barra{fill:CanvasText}.dot-on.on{background:CanvasText}}
.toast.senha{border-left-color:var(--pri)}.toast.senha .ic{color:var(--pri)}
.email-u{margin-top:.3rem;text-align:right}.email-u>summary{justify-content:flex-end}.email-u>summary::after{display:none}
.email-u[open]>summary{margin-bottom:.4rem}.email-u form{justify-content:flex-end;flex-wrap:nowrap}.email-u input{width:220px;padding:.3rem .5rem;font-size:.85rem}
.card.destaque{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri-s)}
.card.perigo{border-color:var(--err-s)}.card.perigo summary h2{color:var(--err)}
button.perigo{background:var(--err);border-color:var(--err)}button.perigo:hover{filter:brightness(.92)}
.editar-u{justify-content:flex-end;flex-wrap:wrap}.editar-u input,.editar-u select{width:auto;max-width:170px;padding:.3rem .5rem;font-size:.85rem;margin:.15rem .2rem}
input.medio2{width:9.5rem}.faixa-lic.pad-x{margin:0 1.2rem .8rem}
.acoes-u{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;max-width:300px}.acoes-u>*{margin:.1rem 0 .1rem .35rem}
input.medio2{display:block}td code{white-space:nowrap}
.tab-usuarios td:first-child{min-width:190px}
