/* Recibo no padrão visual do cadastro de clientes. Escopo restrito à página do recibo. */
.avulso-panel {
  padding:0 !important;
  margin-bottom:16px;
  border:1px solid #c0d1e6;
  border-radius:8px;
  overflow:hidden;
  background:#eaf2fa;
}
.avulso-window-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:49px;
  padding:9px 16px;
  background:linear-gradient(180deg,#496aa1 0%,#182f53 100%);
  color:#fff;
  font-size:18px;
  font-weight:700;
  gap:12px;
}
.avulso-window-close {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #de2626;
  background:#e22b2b;
  color:white;
  border-radius:5px;
  width:32px;
  height:30px;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}
.avulso-window-close:hover { background:#b91c1c; }
.avulso-window-close:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.avulso-window-body { padding:16px; background:#eaf2fa; }
.avulso-section {
  display:block;
  min-width:0;
  margin:0 0 15px;
  padding:15px 16px 14px;
  border:1px solid #adc5e3;
  border-radius:8px;
  background:#f1f6fc;
}
.avulso-legend {
  padding:0 8px;
  margin-left:4px;
  font-size:13px;
  font-weight:800;
  color:#183f86;
}
.avulso-data-grid,
.avulso-date-grid,
.avulso-options {
  display:grid;
  gap:12px;
  min-width:0;
  align-items:end;
}
.avulso-data-grid { grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
.avulso-date-grid { grid-template-columns:minmax(0,3fr) minmax(64px,.55fr) minmax(70px,.55fr) minmax(0,2fr) minmax(82px,.7fr); }
.avulso-options { grid-template-columns:minmax(190px,1fr) minmax(170px,.8fr) minmax(220px,1.3fr); }
.avulso-all { grid-column:1/-1; }
.avulso-label {
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  color:#163969;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}
.avulso-label input,
.avulso-label select,
.avulso-label textarea {
  box-sizing:border-box;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  height:40px;
  border:1px solid #aebfd9;
  border-radius:5px;
  background:#fff;
  color:#132d51;
  padding:9px 11px;
  font-size:14px;
  font-weight:400;
  line-height:1.35;
}
.avulso-label textarea { height:auto; min-height:84px; resize:vertical; }
.avulso-label input[readonly] { background:#e9f1fb; color:#526a89; }
.avulso-label :is(input,select,textarea):focus-visible {
  outline:2px solid #2d6be8; outline-offset:1px;
}
.avulso-statement { font-size:13px; color:#365476; margin:12px 1px 0; }
.avulso-fieldset {
  box-sizing:border-box;
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  align-content:center;
  gap:9px 14px;
  min-height:51px;
  margin:0;
  padding:7px 11px;
  border:1px solid #aec3de;
  border-radius:6px;
  background:#f8fbff;
}
.avulso-fieldset legend { padding:0 5px; font-size:12px; font-weight:800; color:#183f86; }
.avulso-fieldset label {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#25466b;font-size:12px;cursor:pointer;}
.avulso-fieldset input {accent-color:#2563eb;}
.avulso-taxid {grid-column:1/2;}
.avulso-modes {grid-column:2/4;}
.avulso-actions {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0 10px;
  border-top:1px solid #cbd9ec;
  padding-top:16px;
}
.avulso-actions .btn {min-height:38px;}
.avulso-note {
  margin:0;
  padding:9px 12px;
  font-size:12px;
  line-height:1.5;
  color:#315a87;
  border:1px solid #c1d6f1;
  border-radius:6px;
  background:#eff6ff;
}

.avulso-preview{padding:16px;margin-bottom:20px}.avulso-preview:empty{display:none}
.avulso-preview-heading,.avulso-button-row{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.avulso-preview-heading h3{font-size:18px;color:#142c51;margin:0 0 12px}
.avulso-paper{background:#eff4fa;border:1px dashed #b9cadb;padding:14px;display:flex;align-items:center;flex-direction:column;gap:12px}
.avulso-document{box-sizing:border-box;background:#fff;color:#111;border:1px solid #cbd5e1;width:100%;max-width:730px;min-height:350px;padding:25px;display:flex;flex-direction:column;gap:12px;font-size:14px}
.avulso-document-top{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #aaa;padding-bottom:12px}
.avulso-document-top small{display:block;font-size:11px}.avulso-document h2{text-align:center;font-size:21px;margin:0}
.avulso-document p{margin:0;line-height:1.5;overflow-wrap:anywhere}.avulso-extenso{font-style:italic;border-bottom:1px solid #ccd6e3;padding-bottom:7px}.avulso-motivo{min-height:45px}
.avulso-date{text-align:right}.avulso-signature{display:flex;align-items:center;flex-direction:column;gap:4px;text-align:center;margin-top:auto}
.avulso-signature div{border-top:1px solid #111;width:70%;margin-top:26px}.avulso-signature small{font-size:11px}
.avulso-button-row{justify-content:flex-end;margin-top:12px}

@media(max-width:1090px){
  .avulso-date-grid {grid-template-columns:minmax(0,2fr) minmax(70px,.5fr) minmax(75px,.6fr);}
  .avulso-month{grid-column:1/3;}
  .avulso-year{grid-column:3/4;}
  .avulso-options{grid-template-columns:repeat(2,minmax(0,1fr));}
  .avulso-vias,.avulso-title,.avulso-issuer,.avulso-taxid{grid-column:auto;}
  .avulso-modes{grid-column:1/-1;}
}
@media(max-width:650px){
  .avulso-window-body{padding:11px;}
  .avulso-section{padding:12px 10px;}
  .avulso-data-grid,.avulso-date-grid,.avulso-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .avulso-money,.avulso-words,.avulso-city,.avulso-month,.avulso-issuer,.avulso-modes{grid-column:1/-1;}
  .avulso-state,.avulso-day,.avulso-year,.avulso-title,.avulso-taxid,.avulso-vias{grid-column:auto;}
  .avulso-actions{justify-content:stretch;}
  .avulso-actions .btn{flex:1 1 110px;}
  .avulso-document{padding:12px;font-size:12px;}
}

/* v133: recibos registrados */
.avulso-number{font-size:13px;color:#12304f;letter-spacing:.04em}
.avulso-cancelled{position:relative;opacity:.75}
.avulso-stamp{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-16deg);font:900 34px Arial,sans-serif;color:rgba(185,28,28,.35);border:5px solid rgba(185,28,28,.35);padding:4px 18px;pointer-events:none}
.avulso-cancel-note{margin:0 0 10px;padding:8px 12px;border:1px solid #f3c2c2;background:#fdecec;border-radius:8px;color:#7f1d1d;font-size:13px}
.avulso-history{padding:18px 20px!important;margin-top:16px}
.avulso-hist-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.avulso-hist-head h3{margin:0;font-size:16px;color:#12304f}
.avulso-hist-head span{color:#43566b;font-size:13.5px}
.avulso-hist-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}
.avulso-hist-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#43566b}
.avulso-hist-filters input,.avulso-hist-filters select{padding:7px 8px;border:1px solid #cdd8e4;border-radius:7px;font:inherit;font-size:13px;min-width:140px}
.avulso-hist-filters label:first-child input{min-width:240px}
.avulso-hist-wrap{overflow-x:auto}
.avulso-hist-table{width:100%;border-collapse:collapse;min-width:820px;font-size:13px}
.avulso-hist-table th{background:#eef3f8;text-align:left;padding:8px;color:#43566b;font-size:12px;border-bottom:1px solid #d6e0ec}
.avulso-hist-table td{padding:8px;border-bottom:1px solid #edf1f5;vertical-align:top}
.avulso-hist-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.avulso-hist-table .reason{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avulso-hist-table .acts{white-space:nowrap}
.avulso-hist-table tr.cancelled td{color:#8a96a3}
.avulso-hist-table tr.cancelled td b{text-decoration:line-through}
.avulso-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700}
.avulso-badge.ok{background:#e6f5ee;color:#166534}.avulso-badge.bad{background:#fdecec;color:#b91c1c}
.avulso-hist-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;font-size:13px;color:#43566b}
.avulso-hist-empty{color:#6b7c8f;font-size:13px;margin:8px 0}
