/* Portulano v8.0.7 — Reembolsos + Integrações */
.integration-provider-card,.integration-mapping-card{padding:22px;margin-bottom:18px}.integration-provider-head{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line,#dfe8e3)}.integration-provider-head h2{margin:2px 0 4px}.integration-provider-head p{margin:0;max-width:700px;color:var(--muted,#6b7d75)}.integration-logo{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#edf5f1;color:#176747;font-size:22px;font-weight:800}.integration-status{padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:800;background:#f3f5f4;color:#6a756f}.integration-status.ok{background:#e7f5ed;color:#176747}.integration-status.error{background:#fff0ef;color:#a33b32}.integration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:18px}.integration-fields label,.integration-map-row label{display:grid;gap:6px;font-size:.76rem;font-weight:700}.integration-fields small{font-weight:400;color:#7b8b84}.integration-fields .wide{grid-column:1/-1}.integration-company-match{padding:12px 14px;border:1px solid #dfe8e3;border-radius:10px;background:#fbfdfc;display:grid;gap:2px}.integration-company-match span{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:#75857d}.integration-company-match strong{font-size:.9rem}.integration-company-match small{color:#74847c}.integration-company-match.matched{border-color:#bcdacb;background:#f3faf6}.integration-actions{display:flex;justify-content:flex-end;gap:9px}.integration-callout{display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:#f6f7f7;color:#56655f}.integration-callout.error{background:#fff2f1;color:#8b3b35}.integration-callout.warning{background:#fff9e8;color:#705a1d;margin-top:14px}.integration-inline{display:flex;gap:8px;margin-top:9px}.integration-inline select{flex:1}.integration-mapping-card .card-heading{margin-bottom:14px}.integration-map-section{padding:15px 0;border-top:1px solid #e3eae6}.integration-map-section h4{margin:0 0 10px}.integration-map-list{display:grid;gap:8px}.integration-map-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.3fr) minmax(180px,1.3fr);gap:10px;align-items:end;padding:11px;border:1px solid #e0e8e4;border-radius:10px;background:#fbfdfc}.integration-map-row.financial{grid-template-columns:minmax(180px,1fr) minmax(280px,2fr)}.integration-loading,.integration-error{padding:18px}
.reimbursement-profile-card{margin:16px 0}.reimbursement-profile-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:14px}.reimbursement-profile-status{padding:6px 9px;border-radius:999px;font-size:.68rem;font-weight:800;background:#fff7df;color:#755b14}.reimbursement-profile-status.ok{background:#e8f5ee;color:#176747}.reimbursement-grid{display:grid;gap:10px}.reimbursement-card{width:100%;text-align:left;padding:16px 18px;border:1px solid #dce5e1;cursor:pointer;transition:.15s}.reimbursement-card:hover{border-color:#b7ccc2;transform:translateY(-1px)}.reimbursement-card-top{display:flex;justify-content:space-between;gap:14px}.reimbursement-card-top>div{display:grid;gap:3px}.reimbursement-card-top strong{font-size:.96rem}.reimbursement-card-top small{color:#788880}.reimbursement-card-bottom{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:12px;margin-top:13px;padding-top:11px;border-top:1px solid #e5ebe8;font-size:.74rem;color:#687971}.reimbursement-card-bottom b{font-size:.88rem;color:#24483c}.reimbursement-status{display:inline-flex;height:max-content;padding:6px 8px;border-radius:999px;font-size:.63rem;font-weight:800;background:#f1f4f2;color:#637169;white-space:nowrap}.reimbursement-status.pending_approval{background:#fff7df;color:#775c12}.reimbursement-status.approved,.reimbursement-status.approved_adjusted{background:#eaf6ef;color:#176747}.reimbursement-status.rejected{background:#fff0ef;color:#943a32}.reimbursement-status.integration_error{background:#fff2e8;color:#94551d}.reimbursement-empty{padding:22px;display:grid;gap:4px}.reimbursement-empty p{margin:0;color:#74847c}.reimbursement-modal{max-width:920px}.reimbursement-modal>h2{margin:4px 0}.reimbursement-modal>p{margin:0 0 16px;color:#6d7e76}.reimbursement-step{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-top:1px solid #e0e8e4}.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf4ef;color:#176747;font-size:.78rem;font-weight:800}.step-body h3{margin:4px 0 10px}.invoice-upload-box{min-height:90px;border:1px dashed #bfcfc7;border-radius:12px;background:#fbfdfc;display:grid;place-items:center;align-content:center;gap:7px;padding:14px}.invoice-upload-box small{color:#7a8982}.invoice-upload-box.loading{opacity:.72}.ai-confirm-note{display:grid;gap:3px;padding:10px 12px;border-radius:9px;background:#f0f7f3;margin-top:9px;font-size:.74rem}.payment-confirm-card{display:grid;gap:3px;padding:13px 14px;border:1px solid #dce6e1;border-radius:11px;background:#fbfdfc;margin-bottom:10px}.payment-confirm-card span{font-size:.75rem;color:#65766e}.payment-confirm-card .text-btn{justify-self:start;margin-top:4px}.schedule-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.schedule-preview strong{width:100%;font-size:.72rem;color:#697a72}.schedule-preview span{padding:6px 8px;border-radius:8px;background:#f3f6f4;font-size:.69rem}.reimbursement-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.reimbursement-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:14px;border-bottom:1px solid #e0e7e4}.reimbursement-detail-head h2{margin:4px 0}.reimbursement-detail-head p{margin:0;color:#718179}.reimbursement-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.detail-card{display:grid;gap:3px;padding:13px;border:1px solid #e0e7e4;border-radius:11px;background:#fbfdfc}.detail-card>span{font-size:.65rem;text-transform:uppercase;color:#7a8981;letter-spacing:.05em}.detail-card strong{font-size:1rem}.detail-card small{color:#72827a}.detail-card .text-btn{justify-self:start;margin-top:3px}.detail-section{padding:14px 0;border-top:1px solid #e2e9e5}.detail-section h3{margin:0 0 9px}.installment-list,.timeline-compact{display:grid;gap:6px}.installment-list>div{display:grid;grid-template-columns:60px 1fr 1fr;gap:8px;padding:9px 10px;border-radius:9px;background:#f5f8f6;font-size:.75rem}.timeline-compact>div{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid #edf1ef}.timeline-compact small{color:#7a8a82}.admin-review{background:#fbfdfc;padding:15px;border:1px solid #dce6e1;border-radius:12px}.admin-due-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.admin-due-dates label{display:grid;gap:4px;font-size:.7rem;font-weight:700}
@media(max-width:760px){.integration-provider-head{grid-template-columns:42px 1fr}.integration-status{grid-column:1/-1}.integration-fields{grid-template-columns:1fr}.integration-fields .wide{grid-column:auto}.integration-map-row,.integration-map-row.financial{grid-template-columns:1fr}.reimbursement-card-bottom{grid-template-columns:1fr 1fr}.reimbursement-detail-grid{grid-template-columns:1fr}.admin-due-dates{grid-template-columns:1fr 1fr}.reimbursement-step{grid-template-columns:30px 1fr}}


/* v8.0.7.3 — logo Sienge */
.integration-logo.integration-logo-sienge{
  width:48px;
  height:48px;
  padding:7px;
  border:1px solid #d7e7df;
  border-radius:14px;
  background:#eef6f2;
  overflow:hidden;
}
.integration-logo.integration-logo-sienge img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:8px;
}

/* v8.0.7.7 — Microsoft SharePoint / Portulano Docs */
.company-integration-secondary{margin-top:18px}
.integration-logo-sharepoint{grid-template-columns:repeat(2,12px);grid-template-rows:repeat(2,12px);gap:3px;background:#eef6f2}
.integration-logo-sharepoint span{display:block;width:12px;height:12px;border-radius:2px;background:currentColor}
.sharepoint-connection-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 0}
.sharepoint-connection-summary>div{display:grid;gap:3px;padding:13px 14px;border:1px solid var(--line,#dfe8e3);border-radius:12px;background:var(--surface-soft,#fbfdfc)}
.sharepoint-connection-summary span{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#75857d)}
.sharepoint-connection-summary strong{font-size:.92rem}.sharepoint-connection-summary small{color:var(--muted,#74847c)}
@media(max-width:760px){.sharepoint-connection-summary{grid-template-columns:1fr}}

/* r13.7 — Connect: SharePoint icon + Sienge mappings modal */
.company-integration-secondary{margin-top:24px}
.integration-logo.integration-logo-sharepoint{
  width:48px;
  height:48px;
  padding:6px;
  border:1px solid #d7e7df;
  border-radius:14px;
  background:#eef6f2;
  overflow:hidden;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.integration-logo.integration-logo-sharepoint img{
  display:block;
  width:38px;
  height:38px;
  object-fit:contain; 
  border-radius:8px;
}
.sienge-mapping-modal{display:grid;gap:16px}
.integration-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line,#dfe8e3)}
.integration-modal-head h2{margin:3px 0 4px}
.integration-modal-head p{margin:0;color:var(--muted,#6b7d75)}
.modal-close-x{appearance:none;border:0;background:transparent;color:var(--text,#163b31);font-size:30px;line-height:1;cursor:pointer;padding:2px 5px;border-radius:8px}
.modal-close-x:hover{background:var(--surface-soft,#f3f7f5)}
.sienge-permission-callout{margin-top:0!important}
.sienge-modal-mapping-root{display:grid;gap:16px}
.sienge-permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sienge-permission-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dde7e2;border-radius:10px;background:#fbfdfc}
.sienge-permission-item>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:800;background:#e8f5ee;color:#176747}
.sienge-permission-item.warning>span{background:#fff4d7;color:#7a5a10}
.sienge-permission-item>div{display:grid;gap:2px}
.sienge-permission-item small{color:var(--muted,#74847c)}
.sienge-modal-mapping-root .integration-mapping-card{padding:0;margin:0;background:transparent;border:0;box-shadow:none}
.integration-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:14px;border-top:1px solid var(--line,#dfe8e3)}
@media(max-width:760px){.sienge-permissions-grid{grid-template-columns:1fr}.integration-modal-head{gap:10px}.company-integration-secondary{margin-top:18px}}

/* WhatsApp Business */
.integration-logo.integration-logo-whatsapp{
  background:#e9f8ef;
  color:#168c4b;
  font-size:14px;
  font-weight:800;
  letter-spacing:-.04em;
}

.whatsapp-qr-area{
  display:grid;
  justify-items:center;
  gap:12px;
  padding:24px 0;
  text-align:center;
}

.whatsapp-qr-image{
  width:min(280px,80vw);
  aspect-ratio:1;
  object-fit:contain;
  border-radius:12px;
}

.whatsapp-groups-list{
  display:grid;
  gap:9px;
  margin-top:18px;
}

.whatsapp-group-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:12px 14px;
  border:1px solid var(--line,#dfe8e3);
  border-radius:10px;
}

.whatsapp-group-row>div{
  display:grid;
  gap:3px;
}

.whatsapp-group-row small{
  color:var(--muted,#6b7d75);
}

.whatsapp-token-box{
  display:grid;
  justify-items:center;
  gap:9px;
  padding:24px;
  margin:18px 0;
  border:1px solid var(--line,#dfe8e3);
  border-radius:12px;
  text-align:center;
}

.whatsapp-token-box>strong{
  font-size:1.45rem;
  letter-spacing:.08em;
}

.whatsapp-detected-group{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;
  align-items:end;
  gap:12px;
  margin-top:14px;
  padding:14px;
  border:1px solid var(--line,#dfe8e3);
  border-radius:10px;
}

.whatsapp-detected-group label{
  display:grid;
  gap:6px;
  font-size:.76rem;
  font-weight:700;
}

@media(max-width:760px){
  .whatsapp-detected-group{
    grid-template-columns:1fr;
  }
}
