/* ============================================================================
 * theme-linear-wave2-agency-console.css
 * Redesign Linear (linear.app) do CRM Avalanche — wave 2, fatia AGENCY-CONSOLE.
 *
 * Cobre: #page-agc-subcontas, #page-agc-faturamento, #page-agc-config.
 * Consome APENAS os tokens do theme-linear-core.css (--lx-*, --color-*).
 * Não importa nada. Todos os seletores são namespaced pelo id da página
 * (exceção documentada no fim: .saas-modal, overlay body-level disparado
 * pelos fluxos destas páginas).
 *
 * Os templates HTML injetados por JS (saas-operability: .saas-list/.saas-row;
 * app.js _billRenderAgency: .bill-grid/.bill-card/.bill-table) são restilizados
 * aqui sem tocar no JS. Patches opcionais de template estão anotados em
 * design-reference/fragments/agc-*.appjs-notes.md.
 *
 * Regras duras: zero degradê (cor sólida), zero emoji, âmbar só em dinheiro.
 * ========================================================================== */


/* ============================================================================
   1. ESQUELETO COMUM · wrap, pagehead (h1 24px/510), eyebrow
   ========================================================================== */
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-wrap{
  width:min(100%,1080px);
  margin:0 auto;
  padding:var(--lx-s32) var(--lx-s24) var(--lx-s48);
  box-sizing:border-box;
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-pagehead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--lx-s16);
  flex-wrap:wrap;
  margin:0 0 var(--lx-s24);
  padding-bottom:var(--lx-s20);
  border-bottom:1px solid var(--lx-graphite);
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-pagehead-txt{
  min-width:0;
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-eyebrow{
  display:block;
  margin:0 0 var(--lx-s4);
  font-size:10px;
  line-height:1.5;
  font-weight:var(--lx-w-510);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--lx-ash);
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-pagehead h1{
  margin:0;
  font-size:24px;
  line-height:1.33;
  letter-spacing:-.288px;
  font-weight:var(--lx-w-510);
  color:var(--lx-paper);
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-pagehead p{
  margin:var(--lx-s4) 0 0;
  font-size:13px;
  line-height:1.5;
  color:var(--lx-fog);
  max-width:560px;
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-pagehead p b{
  color:var(--lx-bone);
  font-weight:var(--lx-w-510);
}

/* botão primário lime (header) */
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-btn-primary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:var(--lx-h-btn);
  padding:0 12px;
  border:1px solid var(--lx-acid-lime);
  border-radius:var(--lx-r-md);
  background:var(--lx-acid-lime);
  color:var(--lx-on-lime);
  font-size:13px;
  font-weight:var(--lx-w-590);
  box-shadow:none;
  transition:background .12s ease,border-color .12s ease;
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .agc-btn-primary:hover{
  background:var(--lx-acid-lime-hi);
  border-color:var(--lx-acid-lime-hi);
  color:var(--lx-on-lime);
}

/* estados de superfície (loading/empty/error) · arte tracejada do proto */
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .surface-state{
  grid-column:1/-1;
  display:grid;
  place-content:center;
  gap:var(--lx-s8);
  width:100%;
  min-height:160px;
  padding:var(--lx-s32);
  border:1px dashed var(--lx-smoke);
  border-radius:var(--lx-r-card);
  background:var(--lx-carbon);
  color:var(--lx-ash);
  font-size:13px;
  text-align:center;
  box-sizing:border-box;
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .surface-state strong{
  color:var(--lx-mist);
  font-weight:var(--lx-w-510);
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .surface-state.is-error{
  color:var(--lx-coral-text);
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .surface-state button{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  height:var(--lx-h-btn);
  padding:0 12px;
  border:1px solid var(--lx-graphite);
  border-radius:var(--lx-r-md);
  background:transparent;
  color:var(--lx-mist);
  font-size:13px;
  font-weight:var(--lx-w-510);
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease;
}
[data-theme] :is(#page-agc-subcontas,#page-agc-faturamento,#page-agc-config) .surface-state button:hover{
  background:var(--lx-wash-hover);
  border-color:var(--lx-smoke);
  color:var(--lx-bone);
}


/* ============================================================================
   2. SUBCONTAS · lista .saas-list/.saas-row injetada por SaasOperability
   ========================================================================== */
[data-theme] #page-agc-subcontas .agc-sub-list{
  display:block; /* o JS injeta um único .saas-list; grid do .ctxp-grid não se aplica */
}
[data-theme] #page-agc-subcontas .saas-list{
  display:flex;
  flex-direction:column;
  gap:var(--lx-s8);
}
[data-theme] #page-agc-subcontas .saas-row{
  display:flex;
  align-items:center;
  gap:var(--lx-s16);
  flex-wrap:wrap;
  padding:14px var(--lx-s16);
  background:var(--lx-obsidian);
  border:0;
  border-radius:var(--lx-r-card);
  box-shadow:var(--lx-sh-subtle);
}
[data-theme] #page-agc-subcontas .saas-row > div:first-child{
  flex:1 1 220px;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
[data-theme] #page-agc-subcontas .saas-row strong{
  font-size:14px;
  font-weight:var(--lx-w-510);
  color:var(--lx-bone);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
[data-theme] #page-agc-subcontas .saas-row span{
  font-size:13px;
  color:var(--lx-fog);
}
[data-theme] #page-agc-subcontas .saas-row small{
  font-size:12px;
  color:var(--lx-ash);
}
[data-theme] #page-agc-subcontas .saas-status{
  flex:0 0 auto;
}
[data-theme] #page-agc-subcontas .saas-status span{
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 6px;
  border-radius:var(--lx-r-badge);
  background:var(--lx-wash-hover-2);
  color:var(--lx-fog);
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
}
[data-theme] #page-agc-subcontas .saas-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
[data-theme] #page-agc-subcontas .saas-actions button{
  display:inline-flex;
  align-items:center;
  height:var(--lx-h-btn-sm);
  padding:0 8px;
  border:1px solid var(--lx-graphite);
  border-radius:var(--lx-r-md);
  background:transparent;
  color:var(--lx-mist);
  font-size:12px;
  font-weight:var(--lx-w-510);
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
[data-theme] #page-agc-subcontas .saas-actions button:hover{
  background:var(--lx-wash-hover);
  border-color:var(--lx-smoke);
  color:var(--lx-bone);
}
[data-theme] #page-agc-subcontas .saas-actions button.primary{
  background:var(--lx-acid-lime);
  border-color:var(--lx-acid-lime);
  color:var(--lx-on-lime);
  font-weight:var(--lx-w-590);
}
[data-theme] #page-agc-subcontas .saas-actions button.primary:hover{
  background:var(--lx-acid-lime-hi);
  border-color:var(--lx-acid-lime-hi);
  color:var(--lx-on-lime);
}
[data-theme] #page-agc-subcontas .saas-loading,
[data-theme] #page-agc-subcontas .saas-error{
  display:grid;
  place-content:center;
  gap:var(--lx-s8);
  min-height:160px;
  padding:var(--lx-s32);
  border:1px dashed var(--lx-smoke);
  border-radius:var(--lx-r-card);
  background:var(--lx-carbon);
  color:var(--lx-ash);
  font-size:13px;
  text-align:center;
}
[data-theme] #page-agc-subcontas .saas-error{
  color:var(--lx-coral-text);
}


/* ============================================================================
   3. FATURAMENTO · KPIs .bill-grid/.bill-stat, cards, formulário Asaas,
      tabelas densas e badges injetados por _billRenderAgency
   ========================================================================== */
[data-theme] #page-agc-faturamento .bill-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:var(--lx-s12);
  margin:0 0 var(--lx-s12);
}
[data-theme] #page-agc-faturamento .bill-stat{
  display:flex;
  flex-direction:column;
  gap:var(--lx-s8);
  padding:var(--lx-s16);
  background:var(--lx-obsidian);
  border:0;
  border-radius:var(--lx-r-card);
  box-shadow:var(--lx-sh-subtle);
}
[data-theme] #page-agc-faturamento .bill-stat .lbl{
  font-size:12px;
  line-height:1.4;
  color:var(--lx-fog);
}
[data-theme] #page-agc-faturamento .bill-stat .val{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  font-family:var(--lx-font-mono);
  font-size:20px;
  letter-spacing:-.013em;
  font-variant-numeric:tabular-nums;
  color:var(--lx-paper);
}
[data-theme] #page-agc-faturamento .bill-card{
  margin:0 0 var(--lx-s12);
  padding:var(--lx-s20);
  background:var(--lx-obsidian);
  border:0;
  border-radius:var(--lx-r-card);
  box-shadow:var(--lx-sh-subtle);
  max-width:100%;
  overflow-x:auto;
  box-sizing:border-box;
}
[data-theme] #page-agc-faturamento .bill-card h3{
  font-size:15px;
  line-height:1.6;
  letter-spacing:-.165px;
  font-weight:var(--lx-w-510);
  color:var(--lx-bone);
}
[data-theme] #page-agc-faturamento .bill-card p{
  font-size:13px;
  color:var(--lx-fog);
}
[data-theme] #page-agc-faturamento .bill-card code{
  font-family:var(--lx-font-mono);
  font-size:12px;
  color:var(--lx-mist);
  background:var(--lx-wash-hover-2);
  border-radius:var(--lx-r-badge);
  padding:1px 5px;
}

/* formulário de onboarding Asaas */
[data-theme] #page-agc-faturamento .bill-form{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--lx-s12);
  max-width:640px;
}
[data-theme] #page-agc-faturamento .bill-form label{
  align-self:end;
  font-size:12px;
  line-height:1.4;
  color:var(--lx-fog);
}
[data-theme] #page-agc-faturamento .bill-form input{
  height:var(--lx-h-input);
  padding:0 10px;
  border:1px solid var(--lx-wash-active);
  border-radius:var(--lx-r-md);
  background:var(--lx-wash-hover);
  color:var(--lx-mist);
  font-size:13px;
  transition:border-color .12s ease;
}
[data-theme] #page-agc-faturamento .bill-form input:focus{
  border-color:var(--lx-mist);
  outline:none;
}
[data-theme] #page-agc-faturamento .bill-form .bill-btn{
  grid-column:1/-1;
  justify-self:start;
}

/* botões do faturamento (.bill-btn / .bill-btn.green viram lime) */
[data-theme] #page-agc-faturamento .bill-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:var(--lx-h-btn);
  padding:0 12px;
  border:1px solid var(--lx-graphite);
  border-radius:var(--lx-r-md);
  background:transparent;
  color:var(--lx-mist);
  font-size:13px;
  font-weight:var(--lx-w-510);
  box-shadow:none;
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
[data-theme] #page-agc-faturamento .bill-btn:hover{
  background:var(--lx-wash-hover);
  border-color:var(--lx-smoke);
  color:var(--lx-bone);
}
[data-theme] #page-agc-faturamento .bill-btn.green{
  background:var(--lx-acid-lime);
  border-color:var(--lx-acid-lime);
  color:var(--lx-on-lime);
  font-weight:var(--lx-w-590);
}
[data-theme] #page-agc-faturamento .bill-btn.green:hover{
  background:var(--lx-acid-lime-hi);
  border-color:var(--lx-acid-lime-hi);
  color:var(--lx-on-lime);
}

/* link de venda (input readonly + copiar) */
[data-theme] #page-agc-faturamento input.bill-link{
  height:var(--lx-h-input);
  padding:0 10px !important;
  border:1px solid var(--lx-wash-active) !important;
  border-radius:var(--lx-r-md) !important;
  background:var(--lx-wash-hover) !important;
  color:var(--lx-mist) !important;
  font-family:var(--lx-font-mono);
  font-size:12px;
  letter-spacing:-.013em;
}

/* badges de status de cobrança */
[data-theme] #page-agc-faturamento .bill-badge{
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 6px;
  border:0;
  border-radius:var(--lx-r-badge);
  background:var(--lx-wash-hover-2);
  color:var(--lx-fog);
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}
[data-theme] #page-agc-faturamento .bill-badge.ok{
  background:var(--lx-wash-green);
  color:var(--lx-green-text);
}
[data-theme] #page-agc-faturamento .bill-badge.warn{
  background:rgba(var(--lx-amber-rgb),.16);
  color:var(--lx-amber);
}
[data-theme] #page-agc-faturamento .bill-badge.danger{
  background:var(--lx-wash-coral);
  color:var(--lx-coral-text);
}
[data-theme] #page-agc-faturamento .bill-badge.muted{
  background:var(--lx-wash-hover-2);
  color:var(--lx-ash);
}

/* tabelas densas */
[data-theme] #page-agc-faturamento .bill-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
}
[data-theme] #page-agc-faturamento .bill-table th{
  height:34px;
  padding:0 12px;
  background:var(--lx-carbon);
  border-bottom:1px solid var(--lx-graphite);
  font-size:11px;
  font-weight:var(--lx-w-510);
  letter-spacing:.03em;
  text-align:left;
  color:var(--lx-ash);
}
[data-theme] #page-agc-faturamento .bill-table td{
  height:44px;
  padding:0 12px;
  border-bottom:1px solid var(--lx-graphite);
  font-size:13px;
  color:var(--lx-mist);
}
[data-theme] #page-agc-faturamento .bill-table tbody tr:hover td{
  background:var(--lx-wash-hover);
}


/* ============================================================================
   4. CONFIGURAÇÃO · cards e seletor de paleta injetados por loadAgcConfig
   ========================================================================== */
[data-theme] #page-agc-config .bill-card{
  margin:0 0 var(--lx-s12);
  padding:var(--lx-s20);
  background:var(--lx-obsidian);
  border:0;
  border-radius:var(--lx-r-card);
  box-shadow:var(--lx-sh-subtle);
  box-sizing:border-box;
}
[data-theme] #page-agc-config .bill-card h3{
  font-size:15px;
  line-height:1.6;
  letter-spacing:-.165px;
  font-weight:var(--lx-w-510);
  color:var(--lx-bone);
}
[data-theme] #page-agc-config .bill-card p{
  font-size:13px;
  color:var(--lx-fog);
}
[data-theme] #page-agc-config .bill-card p b{
  color:var(--lx-bone);
  font-weight:var(--lx-w-510);
}
[data-theme] #page-agc-config .pal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:var(--lx-s8);
}
[data-theme] #page-agc-config .pal-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--lx-s8);
  padding:var(--lx-s12);
  border:0;
  border-radius:var(--lx-r-md);
  background:var(--lx-carbon);
  box-shadow:var(--lx-sh-subtle);
  color:var(--lx-mist);
  font-size:13px;
  cursor:pointer;
  transition:background .12s ease;
}
[data-theme] #page-agc-config .pal-card:hover{
  background:var(--lx-graphite);
}
[data-theme] #page-agc-config .pal-card.active{
  box-shadow:var(--lx-sh-subtle),0 0 0 1px var(--lx-acid-lime);
}
[data-theme] #page-agc-config .pal-card .pal-name{
  font-size:12px;
  font-weight:var(--lx-w-510);
  color:var(--lx-bone);
}
[data-theme] #page-agc-config .pal-inherit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--lx-h-btn);
  padding:0 12px;
  border:1px dashed var(--lx-smoke);
  border-radius:var(--lx-r-md);
  background:transparent;
  color:var(--lx-fog);
  font-size:12px;
  cursor:pointer;
  transition:background .12s ease,color .12s ease;
}
[data-theme] #page-agc-config .pal-inherit:hover{
  background:var(--lx-wash-hover);
  color:var(--lx-bone);
}
[data-theme] #page-agc-config .acct-msg{
  margin-top:var(--lx-s8);
  font-size:12px;
  color:var(--lx-ash);
}
[data-theme] #page-agc-config .acct-msg.ok{ color:var(--lx-green-text); }
[data-theme] #page-agc-config .acct-msg.err{ color:var(--lx-coral-text); }


/* ============================================================================
   5. MODAL SAAS (body-level) · disparado por Criar subconta / Editar / Usuários
      EXCEÇÃO de namespace: .saas-modal é overlay montado em document.body por
      saas-operability.js (não existe dentro de #page-*). Estilizado aqui porque
      os fluxos desta fatia o abrem; o mesmo componente serve own-agencias.
   ========================================================================== */
[data-theme] .saas-modal{
  background:var(--lx-void);
  background:rgba(8,9,10,.72);
}
[data-theme] .saas-dialog{
  background:var(--lx-carbon);
  border:0;
  border-radius:var(--lx-r-card);
  box-shadow:var(--lx-sh-subtle),var(--lx-sh-xl);
  color:var(--lx-mist);
}
[data-theme] .saas-dialog header h2{
  font-size:15px;
  line-height:1.6;
  letter-spacing:-.165px;
  font-weight:var(--lx-w-510);
  color:var(--lx-paper);
}
[data-theme] .saas-dialog header button{
  color:var(--lx-fog);
  border-radius:var(--lx-r-md);
}
[data-theme] .saas-dialog header button:hover{
  background:var(--lx-wash-hover-2);
  color:var(--lx-bone);
}
[data-theme] .saas-form .saas-field span{
  font-size:12px;
  line-height:1.4;
  color:var(--lx-fog);
}
[data-theme] .saas-form .saas-field input,
[data-theme] .saas-form .saas-field select{
  height:var(--lx-h-input);
  padding:0 10px;
  border:1px solid var(--lx-wash-active);
  border-radius:var(--lx-r-md);
  background:var(--lx-wash-hover);
  color:var(--lx-mist);
  font-size:13px;
  transition:border-color .12s ease;
}
[data-theme] .saas-form .saas-field input:focus,
[data-theme] .saas-form .saas-field select:focus{
  border-color:var(--lx-mist);
  outline:none;
}
[data-theme] .saas-form footer button,
[data-theme] .saas-member-add button,
[data-theme] .saas-members button{
  display:inline-flex;
  align-items:center;
  height:var(--lx-h-btn);
  padding:0 12px;
  border:1px solid var(--lx-graphite);
  border-radius:var(--lx-r-md);
  background:transparent;
  color:var(--lx-mist);
  font-size:13px;
  font-weight:var(--lx-w-510);
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
[data-theme] .saas-form footer button:hover,
[data-theme] .saas-member-add button:hover,
[data-theme] .saas-members button:hover{
  background:var(--lx-wash-hover);
  border-color:var(--lx-smoke);
  color:var(--lx-bone);
}
[data-theme] .saas-form footer button.primary,
[data-theme] .saas-member-add button.primary{
  background:var(--lx-acid-lime);
  border-color:var(--lx-acid-lime);
  color:var(--lx-on-lime);
  font-weight:var(--lx-w-590);
}
[data-theme] .saas-form footer button.primary:hover,
[data-theme] .saas-member-add button.primary:hover{
  background:var(--lx-acid-lime-hi);
  border-color:var(--lx-acid-lime-hi);
  color:var(--lx-on-lime);
}
[data-theme] .saas-members article{
  border:1px solid var(--lx-graphite);
  border-radius:var(--lx-r-md);
  background:var(--lx-obsidian);
}
[data-theme] .saas-members article strong{ color:var(--lx-bone); }
[data-theme] .saas-members article span{ color:var(--lx-ash); }
[data-theme] .saas-members p{ color:var(--lx-ash); font-size:13px; }
