/* Réplica visual del módulo de referencia; todo queda acotado a ObraLens. */
.obralens-invoice-data.analysis-data {
  min-width: 0;
  margin-top: 20px;
  padding: 22px;
  background: #777;
}
.obralens-invoice-data .invoice-paper {
  width: min(1120px, 100%);
  min-width: 0;
  min-height: 760px;
  margin: auto;
  padding: 34px;
  box-sizing: border-box;
  color: #111;
  background: #fff;
  font: 12px/1.35 Arial, sans-serif;
  box-shadow: 0 4px 24px #222;
}
.obralens-invoice-data .invoice-paper * { box-sizing: border-box; }
.obralens-invoice-data .paper-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  padding-bottom: 12px;
  border-bottom: 3px solid #e52329;
}
.obralens-invoice-data .paper-top h2 { margin: 0; font-size: 23px; line-height: 1.25; color: inherit; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-copy { font-size: 19px; font-weight: 700; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-legal { grid-column: 1/-1; font-size: 9px; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-parties { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 35px; padding: 18px 0; }
.obralens-invoice-data .paper-party { min-width: 0; min-height: 110px; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-party strong { display: block; font-size: 13px; }
.obralens-invoice-data .paper-date { text-align: right; margin-bottom: 15px; }
.obralens-invoice-data .paper-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 18px; }
.obralens-invoice-data .paper-meta > span { display: grid; grid-template-columns: 145px minmax(0,1fr); width: 100%; gap: 4px; }
.obralens-invoice-data .paper-meta b { font-weight: 400; }
.obralens-invoice-data .paper-meta-value { white-space: pre-wrap; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-observations-content { min-width: 0; }
.obralens-invoice-data .paper-observations-display { display: flex; align-items: flex-start; gap: 6px; min-width: 0; }
.obralens-invoice-data .paper-observations-display .paper-meta-value { min-width: 0; flex: 0 1 auto; }
.obralens-invoice-data .paper-observations-button { margin: 0 0 0 8px; }
.obralens-invoice-data .paper-observations-button.paper-observations-edit { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; flex: 0 0 24px; width: 24px; height: 24px; margin: -4px 0 0; padding: 4px; border: 0; border-radius: 4px; background: transparent; box-shadow: none; color: #64748b; }
.obralens-invoice-data .paper-observations-edit svg { display: block; width: 16px; height: 16px; }
.obralens-invoice-data .paper-observations-edit:hover { background: #edf2f7; color: #235fa4; }
.obralens-invoice-data .paper-observations-edit:disabled { opacity: .6; cursor: wait; }
.obralens-invoice-data .paper-observations-edit:focus-visible,
.obralens-invoice-data .paper-observations-editor textarea:focus-visible { outline: 2px solid #235fa4; outline-offset: 2px; }
.obralens-invoice-data .paper-observations-editor textarea { display: block; width: 100%; min-height: 76px; padding: 8px; border: 1px solid #aeb8c3; border-radius: 5px; background: #fff; color: #111; font: inherit; resize: vertical; }
.obralens-invoice-data .paper-observations-editor small { display: block; margin-top: 5px; color: #555; }
.obralens-invoice-data .paper-observations-actions { display: flex; gap: 8px; margin-top: 8px; }
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: auto; min-width: 0; height: 32px; min-height: 32px; max-height: 32px;
  margin: 0; padding: 0 10px; border: 2px solid #999; border-radius: 4px;
  font: 600 14px/18px Inter, Arial, sans-serif; white-space: nowrap; cursor: pointer;
}
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button:not(.mc-button--outlined) {
  border-color: transparent; background: #001a3d; background-image: none; color: #fff;
}
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button:not(.mc-button--outlined):hover:not(:disabled) { background: #103448; }
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button.mc-button--outlined {
  background: #fff; background-image: none; color: #001a3d;
}
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button.mc-button--outlined:hover:not(:disabled) {
  border-color: #001a3d; background: #f4f6f8;
}
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button:focus-visible { outline: 3px solid #9cc8ec; outline-offset: 3px; }
.obramat-ai-dashboard .obralens-invoice-data .paper-observations-actions > button.mc-button:disabled { opacity: .55; cursor: default; }
.obralens-invoice-data .paper-observations-status { display: block; margin-top: 5px; white-space: pre-wrap; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-observations-content [hidden] { display: none !important; }
.obralens-invoice-data .paper-table-scroll { max-width: 100%; overflow-x: auto; }
.obralens-invoice-data .paper-table { width: 100%; min-width: 860px; border-collapse: collapse; font-size: 10px; color: inherit; }
.obralens-invoice-data .paper-table th { padding: 7px 4px; border-top: 2px solid #111; border-bottom: 1px solid #111; text-align: right; white-space: pre-line; }
.obralens-invoice-data .paper-table th:nth-child(2),
.obralens-invoice-data .paper-table td:nth-child(2) { text-align: left; min-width: 210px; }
.obralens-invoice-data .paper-table td { padding: 8px 4px; border-bottom: 1px solid #ddd; text-align: right; vertical-align: top; }
.obralens-invoice-data .paper-ref { display: block; color: #555; }
.obralens-invoice-data .paper-ref-button { padding: 0; border: 0; background: transparent; color: #1769aa; font: inherit; text-align: left; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.obralens-invoice-data .paper-ref-button:hover { color: #0b4778; }
.obralens-invoice-data .paper-ref-button:focus-visible { outline: 2px solid #1769aa; outline-offset: 2px; }
.obralens-invoice-data .paper-bottom { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 35px; margin-top: 25px; }
.obralens-invoice-data .paper-box { min-width: 0; padding-top: 8px; border-top: 2px solid #111; overflow-wrap: anywhere; }
.obralens-invoice-data .paper-tax { width: 100%; border-collapse: collapse; color: inherit; font: inherit; }
.obralens-invoice-data .paper-tax th,
.obralens-invoice-data .paper-tax td { padding: 5px; text-align: right; }
.obralens-invoice-data .paper-total { margin-top: 12px; text-align: right; font-size: 18px; font-weight: 800; }
.obralens-invoice-data .paper-empty { text-align: center !important; color: #777; }
.obralens-invoice-data > .obralens-long-text { padding: 14px; color: #111; background: #fff; }
@media (max-width: 900px) {
  .obralens-invoice-data .paper-parties,
  .obralens-invoice-data .paper-bottom { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .obralens-invoice-data .paper-party { min-height: 0; }
}
@media (max-width: 560px) {
  .obralens-invoice-data.analysis-data { padding: 10px; }
  .obralens-invoice-data .invoice-paper { padding: 18px; }
  .obralens-invoice-data .paper-top { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .obralens-invoice-data .paper-copy { font-size: 16px; }
  .obralens-invoice-data .paper-meta > span { grid-template-columns: minmax(0,1fr); }
}

#app-shell #modal.obralens-invoice-modal{width:min(1210px,96vw);max-width:96vw;max-height:92vh;overflow:auto;padding:12px;background:#777;border-radius:8px}
#app-shell #modal.obralens-invoice-modal .obralens-invoice-data.analysis-data{margin:0;padding:0}
#app-shell #modal.obralens-invoice-modal>#close-modal{position:sticky;top:0;z-index:2;display:block;margin:0 0 8px auto;padding:7px 12px;border:0;border-radius:5px;background:#fff;color:#111;font-size:18px;line-height:1;box-shadow:0 2px 8px #0005}
#app-shell #modal.obralens-invoice-modal .obralens-invoice-message{margin:0;padding:18px;background:#fff;color:#111}
