/* Financeiro (1.4.71) — billing.js. Same look as platform.css (cp-*); own classes use the prefix bl-. */
.bl-root{min-width:0}
.bl-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.bl-body{min-width:0}
.bl-card{margin-bottom:20px}
.bl-card .cp-card-header{gap:14px;flex-wrap:wrap}
.bl-card .cp-card-header p{margin:4px 0 0}
.bl-intro{margin:0 0 16px}
.bl-notice{border:1px solid #e3d8f6;border-radius:10px;background:#faf7ff;color:#6c4f8e;padding:11px 14px;font-size:12px;line-height:1.6;margin:0 0 16px}
.bl-stats article small{display:block;font-size:10px;color:#a993b4;margin-top:4px}
.bl-table-wrap{width:100%;overflow-x:auto}
.bl-table td.bl-num,.bl-table th.bl-num{text-align:right;white-space:nowrap}
.bl-table td:last-child{text-align:right}
.bl-table tr.bl-group th{background:#faf7fe;color:#8a6a9e;font-size:10px;letter-spacing:.6px;text-transform:uppercase;text-align:left;padding:9px 18px}
.bl-table tfoot td{border-top:1px solid #f0ebf5;padding-top:11px;padding-bottom:11px}
.bl-table tfoot .bl-foot-label{color:#8a7399;font-weight:600}
.bl-table tfoot tr.bl-total td{font-size:13px;color:#4f3b60}
.bl-table tr.bl-free td{color:#9a89a8;font-size:11px}.bl-table td.bl-free-toggle{text-align:right}
.bl-not-charged{color:#a86b1d!important}
.bl-empty-line{margin:0;padding:18px 22px;font-size:12px;color:#9a89a8}
.bl-input{width:110px;min-height:36px;border:1px solid #e9e0f0;border-radius:8px;padding:7px 10px;font:inherit;font-size:12px;color:#5c4a6c;background:#fff;text-align:right}
.bl-input:focus-visible{outline:3px solid #beabed;outline-offset:2px}
.bl-table select{min-height:36px;border:1px solid #e9e0f0;border-radius:8px;padding:6px 8px;font:inherit;font-size:12px;color:#5c4a6c;background:#fff}
.bl-field-error{display:block;color:#b75a74;font-size:10px;margin-top:5px;white-space:normal;max-width:260px;margin-left:auto}
.bl-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#7f6590}
.bl-check input{width:15px;height:15px;accent-color:#8651cb}
.bl-savebar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:0 0 20px;background:#fff;border:1px solid var(--cp-line);border-radius:12px;box-shadow:0 -6px 18px #2a173f0d;font-size:11px;color:#8a7399}
.bl-savebar>div{display:flex;gap:8px;flex-wrap:wrap}
.bl-company-pick{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#7f6590;margin:0 0 16px;max-width:360px}
.bl-company-pick select,.bl-account-grid select,.bl-filters select{min-height:39px;border:1px solid #e9e0f0;border-radius:8px;padding:8px 10px;font:inherit;font-size:12px;color:#5c4a6c;background:#fff;width:100%}
.bl-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,220px)) auto;gap:16px;align-items:end;padding:0 22px 20px}
.bl-account-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#7f6590}
.bl-account-grid label small{font-weight:400;font-size:10px;color:#9982a9}
.bl-account-grid .bl-input{width:100%;text-align:left}
.bl-account-grid .bl-field-error{margin-left:0}
.bl-modules{list-style:none;margin:0;padding:0 22px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.bl-modules li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #f0eaf5;border-radius:10px;background:#fff}
.bl-modules li>div:first-child b{display:block;font-size:12px;color:#5c4a6c;font-weight:600}
.bl-modules li>div:first-child small{display:block;font-size:10px;color:#a392b2}
.bl-switch{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#7f6590;cursor:pointer}
.bl-switch input{appearance:none;flex:0 0 33px;width:33px;height:19px;border:1px solid #ddd1e7;border-radius:20px;background:#ede7f3;position:relative;cursor:pointer;margin:0;transition:background .2s}
.bl-switch input:before{content:'';width:13px;height:13px;position:absolute;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #5e327b20;transition:transform .2s}
.bl-switch input:checked{background:#9967d3;border-color:#9967d3}
.bl-switch input:checked:before{transform:translateX(14px)}
.bl-switch input:focus-visible{outline:3px solid #beabed;outline-offset:2px}
.bl-confirm-inline{flex:1 0 100%;border:1px solid #f1d9b8;background:#fff9ef;border-radius:10px;padding:11px 13px;font-size:12px;color:#7a5520}
.bl-confirm-inline p{margin:0 0 10px;line-height:1.6}
.bl-confirm-inline>div{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.bl-close .bl-confirm-inline,.bl-close [data-bl-close-result]{margin:0 22px 18px}
.bl-close [data-bl-close-result]:empty{display:none}
.bl-confirm{padding:18px 22px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}
.bl-confirm h3{margin:0;font-size:14px;color:#5c4a6c}
.bl-confirm label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#7f6590}
.bl-confirm textarea{width:100%;border:1px solid #e9e0f0;border-radius:8px;padding:9px 11px;font:inherit;font-size:12px;color:#5c4a6c;resize:vertical}
.bl-confirm .cp-form-actions{padding-top:12px}
.bl-filters{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:14px;padding:0 22px 16px}
.bl-filters label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#7f6590}
.bl-invoice-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.bl-actions{display:flex;gap:8px;flex-wrap:wrap}
.bl-invoice{padding:24px 0 10px}
.bl-invoice-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:0 22px 18px;border-bottom:1px solid var(--cp-line);margin-bottom:6px}
.bl-invoice-head h2{margin:4px 0 6px;font-size:21px;color:#4b2f73;letter-spacing:-.4px}
.bl-invoice-head p{margin:0;font-size:12px;color:#7f6590}
.bl-invoice-head dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 26px;margin:0}
.bl-invoice-head dt{font-size:10px;color:#a392b2}
.bl-invoice-head dd{margin:2px 0 0;font-size:12px;color:#5c4a6c}
.bl-invoice>.cp-hint,.bl-invoice>.bl-notice{margin:14px 22px}
.cp-badge.danger{background:#fdecef;color:#b4405c}
/* Inadimplência (suspension): rules, the manage panel, the banner and the "Acesso suspenso" screen */
.bl-rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start;padding:0 22px 20px}
.bl-rules-grid .bl-rules-contact{grid-column:span 3}.bl-rules-grid>.cp-button{align-self:end;justify-self:start}
.bl-rules-grid label small{font-weight:500;color:#8a80a3;line-height:1.35}  /* 1.4.106: 4 campos numéricos + contato (3 colunas) + botão; o "Dia padrão de fechamento" da 1.4.105 tinha estourado a grade de 5 colunas */
.bl-rules-grid label,.bl-suspension-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#7f6590}
.bl-rules-grid .bl-input,.bl-suspension-form .bl-input{width:100%;text-align:left}
.bl-rules-grid .bl-field-error,.bl-suspension-form .bl-field-error{margin-left:0}
.bl-inline-pick{margin:0;min-width:220px}
.bl-manage{padding-bottom:18px}
.bl-manage>.bl-notice,.bl-manage>.bl-switch,.bl-manage>.bl-history-title,.bl-manage>.bl-empty-line{margin-left:22px;margin-right:22px}
.bl-manage-toggle{margin-bottom:16px}
.bl-suspension-form{display:grid;grid-template-columns:minmax(0,260px) minmax(0,240px) minmax(0,1fr);gap:14px;align-items:start;padding:0 22px 6px}
.bl-suspension-form>*,.bl-rules-grid>*{min-width:0}
.bl-suspension-form select,.bl-suspension-form textarea,.bl-suspension-form .bl-input{width:100%;max-width:100%}
.bl-manage .cp-badge{white-space:normal;text-align:left}
.bl-suspension-form select{min-height:39px;border:1px solid #e9e0f0;border-radius:8px;padding:8px 10px;font:inherit;font-size:12px;color:#5c4a6c;background:#fff}
.bl-suspension-form textarea{width:100%;border:1px solid #e9e0f0;border-radius:8px;padding:9px 11px;font:inherit;font-size:12px;color:#5c4a6c;resize:vertical}
.bl-suspension-form label small{font-weight:400;font-size:10px;color:#9982a9}
.bl-suspension-form .bl-effect{grid-column:1/-1;margin:0}
.bl-suspension-form>.cp-button{justify-self:start}
.bl-suspension-form .bl-confirm-inline{grid-column:1/-1}
.bl-history-title{font-size:12px;color:#7f6590;margin:16px 22px 8px}
.bl-banner{display:flex;align-items:center;justify-content:center;gap:6px 12px;flex-wrap:wrap;padding:8px 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;line-height:1.4;text-align:center;color:#5b3a00;background:#fff3d6;border-bottom:1px solid #f1d59a}
.bl-banner.is-danger{color:#fff;background:#b4405c;border-bottom-color:#9b2f49}
.bl-banner b{font-weight:700}
.bl-banner-link{border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.bl-banner-link:focus-visible{outline:3px solid #beabed;outline-offset:2px}
.bl-suspended *{box-sizing:border-box}
.bl-suspended-tools{display:flex;align-items:center;gap:12px}
.bl-suspended-body{max-width:1100px;margin:0 auto;padding:40px 28px 60px}
.bl-suspended-card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid #f1d1da;border-radius:16px;padding:26px 28px;margin-bottom:26px;box-shadow:0 8px 30px #b4405c12}
.bl-suspended-card h1{margin:6px 0 10px;font-size:26px;letter-spacing:-.6px;color:#8f2f47}
.bl-suspended-card p{margin:0 0 8px;font-size:13px;color:#6b5479;line-height:1.6}
.bl-suspended-card .cp-tile-icon{background:#fdecef;color:#b4405c}
@media(max-width:900px){.bl-rules-grid{grid-template-columns:1fr 1fr}.bl-rules-grid .bl-rules-contact{grid-column:1/-1}.bl-suspension-form{grid-template-columns:1fr 1fr}.bl-suspension-form .bl-reason{grid-column:1/-1}}
@media(max-width:900px){.bl-account-grid{grid-template-columns:1fr 1fr}.bl-account-grid>.cp-button{grid-column:1/-1;justify-self:start}.bl-filters{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .bl-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.bl-tabs .cp-button{flex:0 0 auto}
  .bl-stats{grid-template-columns:1fr}
  .bl-table-wrap{overflow-x:visible}
  .bl-table thead{display:none}
  .bl-table,.bl-table tbody,.bl-table tfoot,.bl-table tr,.bl-table td{display:block;width:100%}
  .bl-table tr{border-bottom:1px solid #f0ebf5;padding:8px 0}
  .bl-table tr.bl-group{padding:0}.bl-table tr.bl-group th{display:block}
  .bl-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 16px!important;border:0!important;text-align:right!important;white-space:normal!important;min-width:0}
  .bl-table td:before{content:attr(data-label);flex:0 0 40%;text-align:left;font-size:10px;font-weight:600;color:#9b8daa}
  .bl-table td[data-label="Item"],.bl-table td[data-label="Pessoa"],.bl-table td[data-label="Canal"],.bl-table td[data-label="Módulo"],.bl-table td[data-label="Número"],.bl-table td[data-label="Empresa"]{display:block;text-align:left!important}
  .bl-table td[data-label="Item"]:before,.bl-table td[data-label="Pessoa"]:before,.bl-table td[data-label="Canal"]:before,.bl-table td[data-label="Módulo"]:before,.bl-table td[data-label="Número"]:before,.bl-table td[data-label="Empresa"]:before{display:none}
  .bl-table td>*{min-width:0;overflow-wrap:anywhere}
  .bl-table td.bl-hide-mobile{display:none}
  .bl-table tr.bl-free td:before{display:none}
  .bl-table tfoot td.bl-foot-label{display:none}
  .bl-table tfoot tr{padding:2px 0}
  .bl-input{width:130px}
  .bl-account-grid,.bl-filters{grid-template-columns:1fr;padding-left:16px;padding-right:16px}
  .bl-modules{grid-template-columns:1fr;padding:0 16px 14px}
  .bl-invoice-head{padding:0 16px 16px}.bl-invoice-head dl{width:100%}
  .bl-savebar{padding:10px 12px}.bl-savebar>div{width:100%}.bl-savebar .cp-button{flex:1}
  .bl-close .bl-confirm-inline,.bl-close [data-bl-close-result]{margin:0 16px 16px}
  .bl-invoice-tools .bl-actions{width:100%}.bl-invoice-tools .bl-actions .cp-button{flex:1 1 45%}
  .bl-rules-grid,.bl-suspension-form{grid-template-columns:1fr;padding-left:16px;padding-right:16px}
  .bl-manage>.bl-notice,.bl-manage>.bl-switch,.bl-manage>.bl-history-title,.bl-manage>.bl-empty-line{margin-left:16px;margin-right:16px}
  .bl-inline-pick{min-width:0;width:100%}
  .bl-suspended>header{padding:0 14px;gap:10px}.bl-suspended>header>img{width:130px}
  .bl-suspended-tools{gap:8px;min-width:0}.bl-suspended-tools select{max-width:140px}
  .bl-suspended-body{padding:22px 14px 40px}
  .bl-suspended-card{flex-direction:column;padding:20px}
  .bl-suspended-card h1{font-size:22px}
  .bl-banner{font-size:12px;padding:7px 12px}
}
@media print{
  .bl-banner{display:none!important}
  body *{visibility:hidden!important}
  .bl-print,.bl-print *{visibility:visible!important}
  .bl-print{position:absolute;left:0;top:0;width:100%;border:0!important;box-shadow:none!important}
  .bl-no-print,.bl-print [data-bl-detail],.bl-print [data-bl-free]{display:none!important}
  .bl-table-wrap{overflow:visible!important}
}

/* 1.4.105: pagador/plano no cadastro e baixa/pagamentos na fatura */
.bl-subhead{margin:16px 0 4px;font-size:13px;font-weight:800;color:var(--cp-ink,#1d1238)}
.bl-payments{margin-top:20px}
.bl-payments>h3{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--cp-ink,#1d1238)}
@media print{.bl-payments .bl-no-print{display:none!important}}
